< prev index next >

src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java

Print this page




 957         public List<Type> typarams_field;
 958 
 959         /** A cache variable for the type parameters of this type,
 960          *  appended to all parameters of its enclosing class.
 961          *  @see #allparams
 962          */
 963         public List<Type> allparams_field;
 964 
 965         /** The supertype of this class (to be set once class is loaded).
 966          */
 967         public Type supertype_field;
 968 
 969         /** The interfaces of this class (to be set once class is loaded).
 970          */
 971         public List<Type> interfaces_field;
 972 
 973         /** All the interfaces of this class, including missing ones.
 974          */
 975         public List<Type> all_interfaces_field;
 976 






 977         public ClassType(Type outer, List<Type> typarams, TypeSymbol tsym) {
 978             this(outer, typarams, tsym, TypeMetadata.EMPTY);
 979         }
 980 
 981         public ClassType(Type outer, List<Type> typarams, TypeSymbol tsym,
 982                          TypeMetadata metadata) {
 983             super(tsym, metadata);
 984             this.outer_field = outer;
 985             this.typarams_field = typarams;
 986             this.allparams_field = null;
 987             this.supertype_field = null;
 988             this.interfaces_field = null;

 989         }
 990 
 991         public int poolTag() {
 992             return ClassFile.CONSTANT_Class;
 993         }
 994 
 995         @Override
 996         public ClassType cloneWithMetadata(TypeMetadata md) {
 997             return new ClassType(outer_field, typarams_field, tsym, md) {
 998                 @Override
 999                 public Type baseType() { return ClassType.this.baseType(); }
1000             };
1001         }
1002 
1003         @Override
1004         public TypeTag getTag() {
1005             return CLASS;
1006         }
1007 
1008         @Override




 957         public List<Type> typarams_field;
 958 
 959         /** A cache variable for the type parameters of this type,
 960          *  appended to all parameters of its enclosing class.
 961          *  @see #allparams
 962          */
 963         public List<Type> allparams_field;
 964 
 965         /** The supertype of this class (to be set once class is loaded).
 966          */
 967         public Type supertype_field;
 968 
 969         /** The interfaces of this class (to be set once class is loaded).
 970          */
 971         public List<Type> interfaces_field;
 972 
 973         /** All the interfaces of this class, including missing ones.
 974          */
 975         public List<Type> all_interfaces_field;
 976 
 977         /** The classes, or interfaces, permitted to extend this class, or interface
 978          */
 979         public List<Type> permitted;
 980 
 981         public boolean isPermittedExplicit = false;
 982 
 983         public ClassType(Type outer, List<Type> typarams, TypeSymbol tsym) {
 984             this(outer, typarams, tsym, TypeMetadata.EMPTY);
 985         }
 986 
 987         public ClassType(Type outer, List<Type> typarams, TypeSymbol tsym,
 988                          TypeMetadata metadata) {
 989             super(tsym, metadata);
 990             this.outer_field = outer;
 991             this.typarams_field = typarams;
 992             this.allparams_field = null;
 993             this.supertype_field = null;
 994             this.interfaces_field = null;
 995             this.permitted = List.nil();
 996         }
 997 
 998         public int poolTag() {
 999             return ClassFile.CONSTANT_Class;
1000         }
1001 
1002         @Override
1003         public ClassType cloneWithMetadata(TypeMetadata md) {
1004             return new ClassType(outer_field, typarams_field, tsym, md) {
1005                 @Override
1006                 public Type baseType() { return ClassType.this.baseType(); }
1007             };
1008         }
1009 
1010         @Override
1011         public TypeTag getTag() {
1012             return CLASS;
1013         }
1014 
1015         @Override


< prev index next >