--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Mon Feb 04 18:08:53 2013 -0500
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Sun Feb 17 16:44:55 2013 -0500
@@ -1490,12 +1490,13 @@
position.type = type;
switch (type) {
- // type cast
- case CAST:
// instanceof
case INSTANCEOF:
// new expression
case NEW:
+ // constructor/method reference receiver
+ case CONSTRUCTOR_REFERENCE:
+ case METHOD_REFERENCE:
position.offset = nextChar();
break;
// local variable
@@ -1544,9 +1545,12 @@
case METHOD_FORMAL_PARAMETER:
position.parameter_index = nextByte();
break;
+ // type cast
+ case CAST:
// method/constructor/reference type argument
case CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT:
case METHOD_INVOCATION_TYPE_ARGUMENT:
+ case CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT:
case METHOD_REFERENCE_TYPE_ARGUMENT:
position.offset = nextChar();
position.type_index = nextByte();
@@ -1555,10 +1559,6 @@
case METHOD_RETURN:
case FIELD:
break;
- // lambda formal parameter
- case LAMBDA_FORMAL_PARAMETER:
- position.parameter_index = nextByte();
- break;
case UNKNOWN:
throw new AssertionError("jvm.ClassReader: UNKNOWN target type should never occur!");
default: