langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java
changeset 26266 2d24bda701dc
parent 26107 a4a156a33c94
child 26532 aa84b6606229
equal deleted inserted replaced
26265:46aacfffd3b5 26266:2d24bda701dc
    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