src/share/classes/com/sun/tools/javac/model/JavacElements.java

changeset 1374
c002fdee76fd
parent 1280
5c0b3faeb0b0
child 1491
9f42a06a49c0
equal deleted inserted replaced
1373:4a1c57a1c410 1374:c002fdee76fd
36 import javax.tools.JavaFileObject; 36 import javax.tools.JavaFileObject;
37 import static javax.lang.model.util.ElementFilter.methodsIn; 37 import static javax.lang.model.util.ElementFilter.methodsIn;
38 38
39 import com.sun.tools.javac.code.*; 39 import com.sun.tools.javac.code.*;
40 import com.sun.tools.javac.code.Symbol.*; 40 import com.sun.tools.javac.code.Symbol.*;
41 import com.sun.tools.javac.code.TypeTags; 41 import com.sun.tools.javac.code.TypeTag;
42 import com.sun.tools.javac.comp.AttrContext; 42 import com.sun.tools.javac.comp.AttrContext;
43 import com.sun.tools.javac.comp.Enter; 43 import com.sun.tools.javac.comp.Enter;
44 import com.sun.tools.javac.comp.Env; 44 import com.sun.tools.javac.comp.Env;
45 import com.sun.tools.javac.main.JavaCompiler; 45 import com.sun.tools.javac.main.JavaCompiler;
46 import com.sun.tools.javac.processing.PrintingProcessor; 46 import com.sun.tools.javac.processing.PrintingProcessor;
48 import com.sun.tools.javac.tree.JCTree.*; 48 import com.sun.tools.javac.tree.JCTree.*;
49 import com.sun.tools.javac.tree.TreeInfo; 49 import com.sun.tools.javac.tree.TreeInfo;
50 import com.sun.tools.javac.tree.TreeScanner; 50 import com.sun.tools.javac.tree.TreeScanner;
51 import com.sun.tools.javac.util.*; 51 import com.sun.tools.javac.util.*;
52 import com.sun.tools.javac.util.Name; 52 import com.sun.tools.javac.util.Name;
53 import static com.sun.tools.javac.code.TypeTag.CLASS;
53 import static com.sun.tools.javac.tree.JCTree.Tag.*; 54 import static com.sun.tools.javac.tree.JCTree.Tag.*;
54 55
55 /** 56 /**
56 * Utility methods for operating on program elements. 57 * Utility methods for operating on program elements.
57 * 58 *
122 while (annotated.name != annotated.name.table.names.java_lang_Object) { 123 while (annotated.name != annotated.name.table.names.java_lang_Object) {
123 result = getAnnotation((Symbol)annotated, annoType); 124 result = getAnnotation((Symbol)annotated, annoType);
124 if (result != null || !inherited) 125 if (result != null || !inherited)
125 break; 126 break;
126 Type sup = annotated.getSuperclass(); 127 Type sup = annotated.getSuperclass();
127 if (sup.tag != TypeTags.CLASS || sup.isErroneous()) 128 if (!sup.hasTag(CLASS) || sup.isErroneous())
128 break; 129 break;
129 annotated = (ClassSymbol) sup.tsym; 130 annotated = (ClassSymbol) sup.tsym;
130 } 131 }
131 return result; 132 return result;
132 } 133 }
442 public List<Attribute.Compound> getAllAnnotationMirrors(Element e) { 443 public List<Attribute.Compound> getAllAnnotationMirrors(Element e) {
443 Symbol sym = cast(Symbol.class, e); 444 Symbol sym = cast(Symbol.class, e);
444 List<Attribute.Compound> annos = sym.getAnnotationMirrors(); 445 List<Attribute.Compound> annos = sym.getAnnotationMirrors();
445 while (sym.getKind() == ElementKind.CLASS) { 446 while (sym.getKind() == ElementKind.CLASS) {
446 Type sup = ((ClassSymbol) sym).getSuperclass(); 447 Type sup = ((ClassSymbol) sym).getSuperclass();
447 if (sup.tag != TypeTags.CLASS || sup.isErroneous() || 448 if (!sup.hasTag(CLASS) || sup.isErroneous() ||
448 sup.tsym == syms.objectType.tsym) { 449 sup.tsym == syms.objectType.tsym) {
449 break; 450 break;
450 } 451 }
451 sym = sup.tsym; 452 sym = sup.tsym;
452 List<Attribute.Compound> oldAnnos = annos; 453 List<Attribute.Compound> oldAnnos = annos;

mercurial