langtools/src/share/classes/com/sun/tools/javac/code/Types.java
changeset 1469 9c381121f301
parent 1357 e2d4f3e1f805
child 1471 57506cdfb7b4
equal deleted inserted replaced
1468:19d266637353 1469:9c381121f301
  1428             public Type visitClassType(ClassType t, Symbol sym) {
  1428             public Type visitClassType(ClassType t, Symbol sym) {
  1429                 Symbol owner = sym.owner;
  1429                 Symbol owner = sym.owner;
  1430                 long flags = sym.flags();
  1430                 long flags = sym.flags();
  1431                 if (((flags & STATIC) == 0) && owner.type.isParameterized()) {
  1431                 if (((flags & STATIC) == 0) && owner.type.isParameterized()) {
  1432                     Type base = asOuterSuper(t, owner);
  1432                     Type base = asOuterSuper(t, owner);
       
  1433                     //if t is an intersection type T = CT & I1 & I2 ... & In
       
  1434                     //its supertypes CT, I1, ... In might contain wildcards
       
  1435                     //so we need to go through capture conversion
       
  1436                     base = t.isCompound() ? capture(base) : base;
  1433                     if (base != null) {
  1437                     if (base != null) {
  1434                         List<Type> ownerParams = owner.type.allparams();
  1438                         List<Type> ownerParams = owner.type.allparams();
  1435                         List<Type> baseParams = base.allparams();
  1439                         List<Type> baseParams = base.allparams();
  1436                         if (ownerParams.nonEmpty()) {
  1440                         if (ownerParams.nonEmpty()) {
  1437                             if (baseParams.isEmpty()) {
  1441                             if (baseParams.isEmpty()) {