public void visitSelect(JCFieldAccess tree) { // need to special case-access of the form C.super.x // these will always need an access method. boolean qualifiedSuperAccess = tree.selected.tag == JCTree.SELECT && TreeInfo.name(tree.selected) == names._super; tree.selected = translate(tree.selected); if (tree.name == names._class) result = classOf(tree.selected); else if (tree.name == names._this || tree.name == names._super) result = makeThis(tree.pos(), tree.selected.type.tsym); else result = access(tree.sym, tree, enclOp, qualifiedSuperAccess); }
public void visitSelect(JCFieldAccess tree) { // need to special case-access of the form C.super.x // these will always need an access method. boolean qualifiedSuperAccess = tree.selected.getTag() == JCTree.SELECT && TreeInfo.name(tree.selected) == names._super; tree.selected = translate(tree.selected); if (tree.name == names._class) result = classOf(tree.selected); else if (tree.name == names._this || tree.name == names._super) result = makeThis(tree.pos(), tree.selected.type.tsym); else result = access(tree.sym, tree, enclOp, qualifiedSuperAccess); }
public void visitSelect(JCFieldAccess tree) { // need to special case-access of the form C.super.x // these will always need an access method, unless C // is a default interface subclassed by the current class. boolean qualifiedSuperAccess = tree.selected.hasTag(SELECT) && TreeInfo.name(tree.selected) == names._super && !types.isDirectSuperInterface(((JCFieldAccess)tree.selected).selected.type.tsym, currentClass); tree.selected = translate(tree.selected); if (tree.name == names._class) { result = classOf(tree.selected); } else if (tree.name == names._super && types.isDirectSuperInterface(tree.selected.type.tsym, currentClass)) { //default super call!! Not a classic qualified super call TypeSymbol supSym = tree.selected.type.tsym; Assert.checkNonNull(types.asSuper(currentClass.type, supSym)); result = tree; } else if (tree.name == names._this || tree.name == names._super) { result = makeThis(tree.pos(), tree.selected.type.tsym); } else result = access(tree.sym, tree, enclOp, qualifiedSuperAccess); }
public void visitSelect(JCFieldAccess tree) { // need to special case-access of the form C.super.x // these will always need an access method, unless C // is a default interface subclassed by the current class. boolean qualifiedSuperAccess = tree.selected.hasTag(SELECT) && TreeInfo.name(tree.selected) == names._super && !types.isDirectSuperInterface(((JCFieldAccess)tree.selected).selected.type.tsym, currentClass); tree.selected = translate(tree.selected); if (tree.name == names._class) { result = classOf(tree.selected); } else if (tree.name == names._super && types.isDirectSuperInterface(tree.selected.type.tsym, currentClass)) { //default super call!! Not a classic qualified super call TypeSymbol supSym = tree.selected.type.tsym; Assert.checkNonNull(types.asSuper(currentClass.type, supSym)); result = tree; } else if (tree.name == names._this || tree.name == names._super) { result = makeThis(tree.pos(), tree.selected.type.tsym); } else result = access(tree.sym, tree, enclOp, qualifiedSuperAccess); }
} else if ((c.owner.kind & (MTH | VAR)) != 0) { thisArg = makeThis(tree.pos(), c.type.getEnclosingType().tsym); } else {
} else if ((c.owner.kind & (MTH | VAR)) != 0) { thisArg = makeThis(tree.pos(), c.type.getEnclosingType().tsym); } else {
} else if (c.isLocal()) { thisArg = makeThis(tree.pos(), c.type.getEnclosingType().tsym); } else {
} else if (c.isLocal()) { thisArg = makeThis(tree.pos(), c.type.getEnclosingType().tsym); } else {
} else if ((c.owner.kind & (MTH | VAR)) != 0 || methName == names._this){ thisArg = makeThis(tree.meth.pos(), c.type.getEnclosingType().tsym); } else {
} else if ((c.owner.kind & (MTH | VAR)) != 0 || methName == names._this){ thisArg = makeThis(tree.meth.pos(), c.type.getEnclosingType().tsym); } else {
} else if (c.isLocal() || methName == names._this){ thisArg = makeThis(tree.meth.pos(), c.type.getEnclosingType().tsym); } else {
} else if (c.isLocal() || methName == names._this){ thisArg = makeThis(tree.meth.pos(), c.type.getEnclosingType().tsym); } else {