1.1 --- a/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Fri Dec 14 11:16:46 2012 +0000 1.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Sat Dec 15 13:54:51 2012 +0000 1.3 @@ -488,20 +488,20 @@ 1.4 case CONSTANT_Fieldref: { 1.5 ClassSymbol owner = readClassSymbol(getChar(index + 1)); 1.6 NameAndType nt = (NameAndType)readPool(getChar(index + 3)); 1.7 - poolObj[i] = new VarSymbol(0, nt.name, nt.type, owner); 1.8 + poolObj[i] = new VarSymbol(0, nt.name, nt.uniqueType.type, owner); 1.9 break; 1.10 } 1.11 case CONSTANT_Methodref: 1.12 case CONSTANT_InterfaceMethodref: { 1.13 ClassSymbol owner = readClassSymbol(getChar(index + 1)); 1.14 NameAndType nt = (NameAndType)readPool(getChar(index + 3)); 1.15 - poolObj[i] = new MethodSymbol(0, nt.name, nt.type, owner); 1.16 + poolObj[i] = new MethodSymbol(0, nt.name, nt.uniqueType.type, owner); 1.17 break; 1.18 } 1.19 case CONSTANT_NameandType: 1.20 poolObj[i] = new NameAndType( 1.21 readName(getChar(index + 1)), 1.22 - readType(getChar(index + 3))); 1.23 + readType(getChar(index + 3)), types); 1.24 break; 1.25 case CONSTANT_Integer: 1.26 poolObj[i] = getInt(index + 1); 1.27 @@ -1224,7 +1224,7 @@ 1.28 if (nt == null) 1.29 return null; 1.30 1.31 - MethodType type = nt.type.asMethodType(); 1.32 + MethodType type = nt.uniqueType.type.asMethodType(); 1.33 1.34 for (Scope.Entry e = scope.lookup(nt.name); e.scope != null; e = e.next()) 1.35 if (e.sym.kind == MTH && isSameBinaryType(e.sym.type.asMethodType(), type)) 1.36 @@ -1236,16 +1236,16 @@ 1.37 if ((flags & INTERFACE) != 0) 1.38 // no enclosing instance 1.39 return null; 1.40 - if (nt.type.getParameterTypes().isEmpty()) 1.41 + if (nt.uniqueType.type.getParameterTypes().isEmpty()) 1.42 // no parameters 1.43 return null; 1.44 1.45 // A constructor of an inner class. 1.46 // Remove the first argument (the enclosing instance) 1.47 - nt.type = new MethodType(nt.type.getParameterTypes().tail, 1.48 - nt.type.getReturnType(), 1.49 - nt.type.getThrownTypes(), 1.50 - syms.methodClass); 1.51 + nt.setType(new MethodType(nt.uniqueType.type.getParameterTypes().tail, 1.52 + nt.uniqueType.type.getReturnType(), 1.53 + nt.uniqueType.type.getThrownTypes(), 1.54 + syms.methodClass)); 1.55 // Try searching again 1.56 return findMethod(nt, scope, flags); 1.57 } 1.58 @@ -1959,7 +1959,7 @@ 1.59 1.60 if (readAllOfClassFile) { 1.61 for (int i = 1; i < poolObj.length; i++) readPool(i); 1.62 - c.pool = new Pool(poolObj.length, poolObj); 1.63 + c.pool = new Pool(poolObj.length, poolObj, types); 1.64 } 1.65 1.66 // reset and read rest of classinfo