1 package polyglot.types; 2 3 import polyglot.util.Enum; 4 import java.util.List ; 5 6 11 public interface ClassType extends Importable, ReferenceType, MemberInstance 12 { 13 public static class Kind extends Enum { 14 public Kind(String name) { 15 super(name); 16 } 17 } 18 19 public static final Kind TOP_LEVEL = new Kind("top-level"); 20 public static final Kind MEMBER = new Kind("member"); 21 public static final Kind LOCAL = new Kind("local"); 22 public static final Kind ANONYMOUS = new Kind("anonymous"); 23 24 25 Kind kind(); 26 27 31 boolean isTopLevel(); 32 33 39 boolean isInner(); 40 41 45 boolean isNested(); 46 47 52 boolean isInnerClass(); 53 54 58 boolean isMember(); 59 60 64 boolean isLocal(); 65 66 70 boolean isAnonymous(); 71 72 76 boolean inStaticContext(); 77 78 83 List constructors(); 84 85 90 List memberClasses(); 91 92 93 ClassType memberClassNamed(String name); 94 95 96 FieldInstance fieldNamed(String name); 97 98 99 boolean isEnclosed(ClassType outer); 100 101 106 boolean isEnclosedImpl(ClassType outer); 107 108 110 boolean hasEnclosingInstance(ClassType encl); 111 112 117 boolean hasEnclosingInstanceImpl(ClassType encl); 118 119 120 ClassType outer(); 121 } 122 | Popular Tags |