See class JDIToTraceConverter
private List<TraceParameter> createParametersFor(Method method) {
List<TraceParameter> res = new ArrayList<>();
try {
// trying to obtain the arguments information
Iterator<LocalVariable> ite = method.arguments().iterator();
while (ite.hasNext()) {
res.add(newParameterFrom(ite.next()));
}
} catch (AbsentInformationException e) {
// arguments name could not be obtained
// Since the name are not obtainable just log the parameters types
// This happen when classes are not yet loaded or with native methods
Iterator<String> ite = method.argumentTypeNames().iterator(); <<------------------- Here we only have String
while (ite.hasNext()) {
res.add(this.newParameterFrom(ite.next()));
}
}
return res;
}
A solution to resolve it could be to create a event on the loading of the class and creating the type at the moment it will load.