src/share/classes/com/sun/tools/javac/tree/JCTree.java

changeset 1143
ec59a2ce9114
parent 1142
c896d95e7469
child 1237
568e70bbd9aa
equal deleted inserted replaced
1142:c896d95e7469 1143:ec59a2ce9114
40 import com.sun.tools.javac.code.Scope.*; 40 import com.sun.tools.javac.code.Scope.*;
41 import com.sun.tools.javac.code.Symbol.*; 41 import com.sun.tools.javac.code.Symbol.*;
42 import com.sun.tools.javac.parser.EndPosTable; 42 import com.sun.tools.javac.parser.EndPosTable;
43 import com.sun.source.tree.*; 43 import com.sun.source.tree.*;
44 import com.sun.source.tree.LambdaExpressionTree.BodyKind; 44 import com.sun.source.tree.LambdaExpressionTree.BodyKind;
45 import com.sun.source.tree.MemberReferenceTree.ReferenceMode;
45 46
46 import static com.sun.tools.javac.code.BoundKind.*; 47 import static com.sun.tools.javac.code.BoundKind.*;
47 import static com.sun.tools.javac.tree.JCTree.Tag.*; 48 import static com.sun.tools.javac.tree.JCTree.Tag.*;
48 49
49 /** 50 /**
225 226
226 /** Selections, of type Select. 227 /** Selections, of type Select.
227 */ 228 */
228 SELECT, 229 SELECT,
229 230
231 /** Member references, of type Reference.
232 */
233 REFERENCE,
234
230 /** Simple identifiers, of type Ident. 235 /** Simple identifiers, of type Ident.
231 */ 236 */
232 IDENT, 237 IDENT,
233 238
234 /** Literals, of type Literal. 239 /** Literals, of type Literal.
1796 } 1801 }
1797 public Name getIdentifier() { return name; } 1802 public Name getIdentifier() { return name; }
1798 @Override 1803 @Override
1799 public Tag getTag() { 1804 public Tag getTag() {
1800 return SELECT; 1805 return SELECT;
1806 }
1807 }
1808
1809 /**
1810 * Selects a member expression.
1811 */
1812 public static class JCMemberReference extends JCExpression implements MemberReferenceTree {
1813 public ReferenceMode mode;
1814 public Name name;
1815 public JCExpression expr;
1816 public List<JCExpression> typeargs;
1817 public Type targetType;
1818 public Symbol sym;
1819
1820 protected JCMemberReference(ReferenceMode mode, Name name, JCExpression expr, List<JCExpression> typeargs) {
1821 this.mode = mode;
1822 this.name = name;
1823 this.expr = expr;
1824 this.typeargs = typeargs;
1825 }
1826 @Override
1827 public void accept(Visitor v) { v.visitReference(this); }
1828
1829 public Kind getKind() { return Kind.MEMBER_REFERENCE; }
1830 @Override
1831 public ReferenceMode getMode() { return mode; }
1832 @Override
1833 public JCExpression getQualifierExpression() { return expr; }
1834 @Override
1835 public Name getName() { return name; }
1836 @Override
1837 public List<JCExpression> getTypeArguments() { return typeargs; }
1838
1839 @Override
1840 public <R,D> R accept(TreeVisitor<R,D> v, D d) {
1841 return v.visitMemberReference(this, d);
1842 }
1843 @Override
1844 public Tag getTag() {
1845 return REFERENCE;
1801 } 1846 }
1802 } 1847 }
1803 1848
1804 /** 1849 /**
1805 * An identifier 1850 * An identifier
2334 public void visitBinary(JCBinary that) { visitTree(that); } 2379 public void visitBinary(JCBinary that) { visitTree(that); }
2335 public void visitTypeCast(JCTypeCast that) { visitTree(that); } 2380 public void visitTypeCast(JCTypeCast that) { visitTree(that); }
2336 public void visitTypeTest(JCInstanceOf that) { visitTree(that); } 2381 public void visitTypeTest(JCInstanceOf that) { visitTree(that); }
2337 public void visitIndexed(JCArrayAccess that) { visitTree(that); } 2382 public void visitIndexed(JCArrayAccess that) { visitTree(that); }
2338 public void visitSelect(JCFieldAccess that) { visitTree(that); } 2383 public void visitSelect(JCFieldAccess that) { visitTree(that); }
2384 public void visitReference(JCMemberReference that) { visitTree(that); }
2339 public void visitIdent(JCIdent that) { visitTree(that); } 2385 public void visitIdent(JCIdent that) { visitTree(that); }
2340 public void visitLiteral(JCLiteral that) { visitTree(that); } 2386 public void visitLiteral(JCLiteral that) { visitTree(that); }
2341 public void visitTypeIdent(JCPrimitiveTypeTree that) { visitTree(that); } 2387 public void visitTypeIdent(JCPrimitiveTypeTree that) { visitTree(that); }
2342 public void visitTypeArray(JCArrayTypeTree that) { visitTree(that); } 2388 public void visitTypeArray(JCArrayTypeTree that) { visitTree(that); }
2343 public void visitTypeApply(JCTypeApply that) { visitTree(that); } 2389 public void visitTypeApply(JCTypeApply that) { visitTree(that); }

mercurial