Fix NPE when there are build errors related to lack of reflection support
@@ -113,10 +113,12 @@ public class ReflectionDependencyListener extends AbstractDependencyListener {
classesWithReflectableFields.add(type.getName());
ClassReader cls = agent.getClassSource().get(type.getName());
+ if (cls != null) {
for (FieldReader field : cls.getFields()) {
linkType(agent, field.getType());
}
}
+ }
});
} else if (method.getReference().equals(getConstructors) || method.getReference().equals(getMethods)) {
method.getVariable(0).getClassValueNode().addConsumer(type -> {
@@ -124,6 +126,7 @@ public class ReflectionDependencyListener extends AbstractDependencyListener {
classesWithReflectableMethods.add(type.getName());
ClassReader cls = agent.getClassSource().get(type.getName());
+ if (cls != null) {
for (MethodReader reflectableMethod : cls.getMethods()) {
linkType(agent, reflectableMethod.getResultType());
for (ValueType param : reflectableMethod.getParameterTypes()) {
@@ -131,6 +134,7 @@ public class ReflectionDependencyListener extends AbstractDependencyListener {
}
}
}
+ }
});
} else if (method.getReference().equals(forName) || method.getReference().equals(forNameShort)) {
allClasses.connect(method.getResult().getClassValueNode());
