int semicolon = signature.indexOf(';', idx);
// TODO: Fix for Groovy's model-checking
// Check if this is a generic!
- int genericStart = signature.substring(idx,semicolon).indexOf('<');
+ String currParam = signature.substring(idx,semicolon);
+ int genericStart = currParam.indexOf('<');
if (genericStart != -1) {
- if (signature.charAt(genericStart + 2) == '*') {
+ if (currParam.charAt(genericStart + 1) == '*') {
semicolon = genericStart + 4;
} else {
int generic = signature.indexOf('>', semicolon);
}
public static boolean isWildcardType(String signature) {
- return (signature.startsWith("+L") || signature.equals("*"));
+ return (signature.startsWith("+L") || signature.startsWith("-L") || signature.equals("*"));
}
public static String getWildcardType(String signature) {
if (signature.equals("*")) {
return "java.lang.Object";
}
- return signature.replace("+L", "");
+ return signature.replaceAll("\\+L|-L", "");
}
// TODO: Fix for Groovy's model-checking
}