src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
Print this page
@@ -644,10 +644,22 @@
case '<':
typevars = typevars.dup(currentOwner);
Type poly = new ForAll(sigToTypeParams(), sigToType());
typevars = typevars.leave();
return poly;
+ case '#':
+ sigp++;
+ Type returnType = sigToType();
+ if (signature[sigp] != '(')
+ throw badClassFile("bad.signature", Convert.utf2string(signature, sigp, 10));
+ sigp++;
+ List<Type> parameterTypes = sigToTypes(')');
+ return new MethodType(FUNCTION,
+ parameterTypes,
+ returnType,
+ List.<Type>nil(),
+ syms.methodClass);
default:
throw badClassFile("bad.signature",
Convert.utf2string(signature, sigp, 10));
}
}