src/share/classes/com/sun/tools/javac/code/Symtab.java

Print this page




 130     public final Type noClassDefFoundErrorType;
 131     public final Type noSuchFieldErrorType;
 132     public final Type assertionErrorType;
 133     public final Type cloneNotSupportedExceptionType;
 134     public final Type annotationType;
 135     public final TypeSymbol enumSym;
 136     public final Type listType;
 137     public final Type collectionsType;
 138     public final Type comparableType;
 139     public final Type arraysType;
 140     public final Type iterableType;
 141     public final Type iteratorType;
 142     public final Type annotationTargetType;
 143     public final Type overrideType;
 144     public final Type retentionType;
 145     public final Type deprecatedType;
 146     public final Type suppressWarningsType;
 147     public final Type inheritedType;
 148     public final Type proprietaryType;
 149     public final Type systemType;

 150 
 151     /** The symbol representing the length field of an array.
 152      */
 153     public final VarSymbol lengthVar;
 154 
 155     /** The null check operator. */
 156     public final OperatorSymbol nullcheck;
 157 
 158     /** The symbol representing the final finalize method on enums */
 159     public final MethodSymbol enumFinalFinalize;
 160 
 161     /** The predefined type that belongs to a tag.
 162      */
 163     public final Type[] typeOfTag = new Type[TypeTags.TypeTagCount];
 164 
 165     /** The name of the class that belongs to a basix type tag.
 166      */
 167     public final Name[] boxedName = new Name[TypeTags.TypeTagCount];
 168 
 169     /** A hashtable containing the encountered top-level and member classes,


 443             new MethodSymbol(PROTECTED|FINAL|HYPOTHETICAL,
 444                              names.finalize,
 445                              new MethodType(List.<Type>nil(), voidType,
 446                                             List.<Type>nil(), methodClass),
 447                              enumSym);
 448         listType = enterClass("java.util.List");
 449         collectionsType = enterClass("java.util.Collections");
 450         comparableType = enterClass("java.lang.Comparable");
 451         arraysType = enterClass("java.util.Arrays");
 452         iterableType = target.hasIterable()
 453             ? enterClass("java.lang.Iterable")
 454             : enterClass("java.util.Collection");
 455         iteratorType = enterClass("java.util.Iterator");
 456         annotationTargetType = enterClass("java.lang.annotation.Target");
 457         overrideType = enterClass("java.lang.Override");
 458         retentionType = enterClass("java.lang.annotation.Retention");
 459         deprecatedType = enterClass("java.lang.Deprecated");
 460         suppressWarningsType = enterClass("java.lang.SuppressWarnings");
 461         inheritedType = enterClass("java.lang.annotation.Inherited");
 462         systemType = enterClass("java.lang.System");

 463 
 464         synthesizeEmptyInterfaceIfMissing(cloneableType);
 465         synthesizeEmptyInterfaceIfMissing(serializableType);
 466         synthesizeMHTypeIfMissing(methodHandleType);
 467         synthesizeMHTypeIfMissing(invokeDynamicType);
 468         synthesizeBoxTypeIfMissing(doubleType);
 469         synthesizeBoxTypeIfMissing(floatType);
 470         synthesizeBoxTypeIfMissing(voidType);
 471 
 472         // Enter a synthetic class that is used to mark internal
 473         // proprietary classes in ct.sym.  This class does not have a
 474         // class file.
 475         ClassType proprietaryType = (ClassType)enterClass("sun.Proprietary+Annotation");
 476         this.proprietaryType = proprietaryType;
 477         ClassSymbol proprietarySymbol = (ClassSymbol)proprietaryType.tsym;
 478         proprietarySymbol.completer = null;
 479         proprietarySymbol.flags_field = PUBLIC|ACYCLIC|ANNOTATION|INTERFACE;
 480         proprietarySymbol.erasure_field = proprietaryType;
 481         proprietarySymbol.members_field = new Scope(proprietarySymbol);
 482         proprietaryType.typarams_field = List.nil();




 130     public final Type noClassDefFoundErrorType;
 131     public final Type noSuchFieldErrorType;
 132     public final Type assertionErrorType;
 133     public final Type cloneNotSupportedExceptionType;
 134     public final Type annotationType;
 135     public final TypeSymbol enumSym;
 136     public final Type listType;
 137     public final Type collectionsType;
 138     public final Type comparableType;
 139     public final Type arraysType;
 140     public final Type iterableType;
 141     public final Type iteratorType;
 142     public final Type annotationTargetType;
 143     public final Type overrideType;
 144     public final Type retentionType;
 145     public final Type deprecatedType;
 146     public final Type suppressWarningsType;
 147     public final Type inheritedType;
 148     public final Type proprietaryType;
 149     public final Type systemType;
 150     public final Type autoCloseableType;
 151 
 152     /** The symbol representing the length field of an array.
 153      */
 154     public final VarSymbol lengthVar;
 155 
 156     /** The null check operator. */
 157     public final OperatorSymbol nullcheck;
 158 
 159     /** The symbol representing the final finalize method on enums */
 160     public final MethodSymbol enumFinalFinalize;
 161 
 162     /** The predefined type that belongs to a tag.
 163      */
 164     public final Type[] typeOfTag = new Type[TypeTags.TypeTagCount];
 165 
 166     /** The name of the class that belongs to a basix type tag.
 167      */
 168     public final Name[] boxedName = new Name[TypeTags.TypeTagCount];
 169 
 170     /** A hashtable containing the encountered top-level and member classes,


 444             new MethodSymbol(PROTECTED|FINAL|HYPOTHETICAL,
 445                              names.finalize,
 446                              new MethodType(List.<Type>nil(), voidType,
 447                                             List.<Type>nil(), methodClass),
 448                              enumSym);
 449         listType = enterClass("java.util.List");
 450         collectionsType = enterClass("java.util.Collections");
 451         comparableType = enterClass("java.lang.Comparable");
 452         arraysType = enterClass("java.util.Arrays");
 453         iterableType = target.hasIterable()
 454             ? enterClass("java.lang.Iterable")
 455             : enterClass("java.util.Collection");
 456         iteratorType = enterClass("java.util.Iterator");
 457         annotationTargetType = enterClass("java.lang.annotation.Target");
 458         overrideType = enterClass("java.lang.Override");
 459         retentionType = enterClass("java.lang.annotation.Retention");
 460         deprecatedType = enterClass("java.lang.Deprecated");
 461         suppressWarningsType = enterClass("java.lang.SuppressWarnings");
 462         inheritedType = enterClass("java.lang.annotation.Inherited");
 463         systemType = enterClass("java.lang.System");
 464         autoCloseableType = enterClass("java.lang.AutoCloseable");
 465 
 466         synthesizeEmptyInterfaceIfMissing(cloneableType);
 467         synthesizeEmptyInterfaceIfMissing(serializableType);
 468         synthesizeMHTypeIfMissing(methodHandleType);
 469         synthesizeMHTypeIfMissing(invokeDynamicType);
 470         synthesizeBoxTypeIfMissing(doubleType);
 471         synthesizeBoxTypeIfMissing(floatType);
 472         synthesizeBoxTypeIfMissing(voidType);
 473 
 474         // Enter a synthetic class that is used to mark internal
 475         // proprietary classes in ct.sym.  This class does not have a
 476         // class file.
 477         ClassType proprietaryType = (ClassType)enterClass("sun.Proprietary+Annotation");
 478         this.proprietaryType = proprietaryType;
 479         ClassSymbol proprietarySymbol = (ClassSymbol)proprietaryType.tsym;
 480         proprietarySymbol.completer = null;
 481         proprietarySymbol.flags_field = PUBLIC|ACYCLIC|ANNOTATION|INTERFACE;
 482         proprietarySymbol.erasure_field = proprietaryType;
 483         proprietarySymbol.members_field = new Scope(proprietarySymbol);
 484         proprietaryType.typarams_field = List.nil();