code.emitLdc(makeRef(tree.pos(), tree.selected.type)); result = items.makeStackItem(pt); return;
code.emitLdc(makeRef(tree.pos(), tree.selected.type)); result = items.makeStackItem(pt); return;
code.emitop2(ldc2, makeRef(tree.pos(), tree.selected.type)); result = items.makeStackItem(pt); return;
code.emitop2(ldc2, makeRef(tree.pos(), tree.selected.type)); result = items.makeStackItem(pt); return;
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); }
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. 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 visitSelectInternal(JCFieldAccess tree) { if (tree.type.tsym.isStatic() && tree.selected.type.isParameterized()) { // The enclosing type is not a class, so we are // looking at a static member type. However, the // qualifying expression is parameterized. log.error(tree.pos(), "cant.select.static.class.from.param.type"); } else { // otherwise validate the rest of the expression tree.selected.accept(this); } }
@Override public void visitSelect(JCFieldAccess tree) { if (tree.type.hasTag(CLASS)) { visitSelectInternal(tree); // Check that this type is either fully parameterized, or // not parameterized at all. if (tree.selected.type.isParameterized() && tree.type.tsym.type.getTypeArguments().nonEmpty()) log.error(tree.pos(), "improperly.formed.type.param.missing"); } }
@Override public void visitSelect(JCFieldAccess tree) { if (tree.type.hasTag(CLASS)) { visitSelectInternal(tree); // Check that this type is either fully parameterized, or // not parameterized at all. if (tree.selected.type.isParameterized() && tree.type.tsym.type.getTypeArguments().nonEmpty()) log.error(tree.pos(), "improperly.formed.type.param.missing"); } }
public void visitSelect(JCFieldAccess tree) { if (tree.type.tag == CLASS) { visitSelectInternal(tree); // Check that this type is either fully parameterized, or // not parameterized at all. if (tree.selected.type.isParameterized() && tree.type.tsym.type.getTypeArguments().nonEmpty()) log.error(tree.pos(), "improperly.formed.type.param.missing"); } } public void visitSelectInternal(JCFieldAccess tree) {
public void visitSelect(JCFieldAccess tree) { if (tree.type.tag == CLASS) { visitSelectInternal(tree); // Check that this type is either fully parameterized, or // not parameterized at all. if (tree.selected.type.isParameterized() && tree.type.tsym.type.getTypeArguments().nonEmpty()) log.error(tree.pos(), "improperly.formed.type.param.missing"); } } public void visitSelectInternal(JCFieldAccess tree) {
public void visitSelectInternal(JCFieldAccess tree) { if (tree.type.tsym.isStatic() && tree.selected.type.isParameterized()) { // The enclosing type is not a class, so we are // looking at a static member type. However, the // qualifying expression is parameterized. log.error(tree.pos(), "cant.select.static.class.from.param.type"); } else { // otherwise validate the rest of the expression tree.selected.accept(this); } }
@Override public void visitSelect(JCFieldAccess tree) { super.visitSelect(tree); checkSymbol(tree.pos(), tree.sym); }
@Override public void visitSelect(JCFieldAccess tree) { super.visitSelect(tree); if (tree.selected.type != null && (tree.name == names._this || (tree.name == names._super && !types.isDirectSuperInterface(tree.selected.type.tsym, currentClass)))) checkThis(tree.pos(), tree.selected.type.tsym); }
public void visitSelect(JCFieldAccess tree) { super.visitSelect(tree); if (enforceThisDotInit && tree.selected.hasTag(IDENT) && ((JCIdent)tree.selected).name == names._this && tree.sym.kind == VAR) { checkInit(tree.pos(), (VarSymbol)tree.sym); } }
public void visitSelectInternal(JCFieldAccess tree) { if (tree.type.getEnclosingType().tag != CLASS && tree.selected.type.isParameterized()) { // The enclosing type is not a class, so we are // looking at a static member type. However, the // qualifying expression is parameterized. log.error(tree.pos(), "cant.select.static.class.from.param.type"); } else { // otherwise validate the rest of the expression validate(tree.selected); } }
public void visitSelectInternal(JCFieldAccess tree) { if (tree.type.getEnclosingType().tag != CLASS && tree.selected.type.isParameterized()) { // The enclosing type is not a class, so we are // looking at a static member type. However, the // qualifying expression is parameterized. log.error(tree.pos(), "cant.select.static.class.from.param.type"); } else { // otherwise validate the rest of the expression validate(tree.selected); } }
@Override public void visitSelect(JCFieldAccess tree) { super.visitSelect(tree); checkSymbol(tree.pos(), tree.sym); }