equal
deleted
inserted
replaced
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()) { |