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();
|