equal
deleted
inserted
replaced
47 import com.sun.tools.javac.jvm.*; |
47 import com.sun.tools.javac.jvm.*; |
48 import com.sun.tools.javac.tree.*; |
48 import com.sun.tools.javac.tree.*; |
49 import com.sun.tools.javac.tree.JCTree.*; |
49 import com.sun.tools.javac.tree.JCTree.*; |
50 import com.sun.tools.javac.tree.JCTree.JCPolyExpression.*; |
50 import com.sun.tools.javac.tree.JCTree.JCPolyExpression.*; |
51 import com.sun.tools.javac.util.*; |
51 import com.sun.tools.javac.util.*; |
|
52 import com.sun.tools.javac.util.DefinedBy.Api; |
52 import com.sun.tools.javac.util.Dependencies.AttributionKind; |
53 import com.sun.tools.javac.util.Dependencies.AttributionKind; |
53 import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition; |
54 import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition; |
54 import com.sun.tools.javac.util.List; |
55 import com.sun.tools.javac.util.List; |
55 import static com.sun.tools.javac.code.Flags.*; |
56 import static com.sun.tools.javac.code.Flags.*; |
56 import static com.sun.tools.javac.code.Flags.ANNOTATION; |
57 import static com.sun.tools.javac.code.Flags.ANNOTATION; |
335 return tree.accept(identAttributer, localEnv); |
336 return tree.accept(identAttributer, localEnv); |
336 } |
337 } |
337 // where |
338 // where |
338 private TreeVisitor<Symbol,Env<AttrContext>> identAttributer = new IdentAttributer(); |
339 private TreeVisitor<Symbol,Env<AttrContext>> identAttributer = new IdentAttributer(); |
339 private class IdentAttributer extends SimpleTreeVisitor<Symbol,Env<AttrContext>> { |
340 private class IdentAttributer extends SimpleTreeVisitor<Symbol,Env<AttrContext>> { |
340 @Override |
341 @Override @DefinedBy(Api.COMPILER_TREE) |
341 public Symbol visitMemberSelect(MemberSelectTree node, Env<AttrContext> env) { |
342 public Symbol visitMemberSelect(MemberSelectTree node, Env<AttrContext> env) { |
342 Symbol site = visit(node.getExpression(), env); |
343 Symbol site = visit(node.getExpression(), env); |
343 if (site.kind == ERR || site.kind == ABSENT_TYP) |
344 if (site.kind == ERR || site.kind == ABSENT_TYP) |
344 return site; |
345 return site; |
345 Name name = (Name)node.getIdentifier(); |
346 Name name = (Name)node.getIdentifier(); |
350 env.enclClass.sym = (ClassSymbol)site; |
351 env.enclClass.sym = (ClassSymbol)site; |
351 return rs.findMemberType(env, site.asType(), name, (TypeSymbol)site); |
352 return rs.findMemberType(env, site.asType(), name, (TypeSymbol)site); |
352 } |
353 } |
353 } |
354 } |
354 |
355 |
355 @Override |
356 @Override @DefinedBy(Api.COMPILER_TREE) |
356 public Symbol visitIdentifier(IdentifierTree node, Env<AttrContext> env) { |
357 public Symbol visitIdentifier(IdentifierTree node, Env<AttrContext> env) { |
357 return rs.findIdent(env, (Name)node.getName(), TYP | PCK); |
358 return rs.findIdent(env, (Name)node.getName(), TYP | PCK); |
358 } |
359 } |
359 } |
360 } |
360 |
361 |