// TODO: Fix for Groovy's model-checking
public String[] getArgumentGenericTypeNames () {
- // To accommodate methods that do not have generic types
- if (genericSignature == null)
+ // TODO: We need to double check but for some reason Groovy has a type of generic signature with "<*>"
+ // TODO: in the class file.
+ if (genericSignature == null || genericSignature.equals("") || genericSignature.contains("<*>"))
return getArgumentTypeNames();
- return Types.getArgumentTypeNames(genericSignature);
+ // We need to first find the start of the method parameters in the signature
+ String methodParameters = genericSignature.substring(genericSignature.indexOf('('));
+ return Types.getArgumentTypeNames(methodParameters);
}
public int getArgumentsSize () {
return Types.getReturnTypeName(signature);
}
- // TODO: Fix for Groovy's model-checking
public String getGenericReturnTypeName () {
- return Types.getGenericReturnTypeName(signature);
+ // TODO: We need to double check but for some reason Groovy has a type of generic signature with "<*>"
+ // TODO: in the class file.
+ if (genericSignature == null || genericSignature.equals("") || genericSignature.contains("<*>"))
+ return Types.getReturnTypeName(signature);
+ return Types.getGenericReturnTypeName(genericSignature);
}
-
+
public String getSourceFileName () {
if (ci != null) {
return ci.getSourceFileName();