211 public final Name bootstrap;
212
213 public final Name record;
214 public final Name non;
215
216 // serialization members, used by records too
217 public final Name serialPersistentFields;
218 public final Name writeObject;
219 public final Name writeReplace;
220 public final Name readObjectNoData;
221
222 // sealed types
223 public final Name permits;
224 public final Name sealed;
225
226 // pattern switches
227 public final Name typeSwitch;
228 public final Name enumSwitch;
229 public final Name enumConstant;
230
231 // special annotation names
232 public final Name requiresIdentityInternal;
233
234 public final Name.Table table;
235
236 @SuppressWarnings("this-escape")
237 public Names(Context context) {
238 Options options = Options.instance(context);
239 table = createTable(options);
240
241 // operators and punctuation
242 asterisk = fromString("*");
243 comma = fromString(",");
244 empty = fromString("");
245 hyphen = fromString("-");
246 one = fromString("1");
247 slash = fromString("/");
248
249 // keywords
250 _class = fromString("class");
399
400 bootstrap = fromString("bootstrap");
401 record = fromString("record");
402 non = fromString("non");
403
404 serialPersistentFields = fromString("serialPersistentFields");
405 writeObject = fromString("writeObject");
406 writeReplace = fromString("writeReplace");
407 readObjectNoData = fromString("readObjectNoData");
408
409 // sealed types
410 permits = fromString("permits");
411 sealed = fromString("sealed");
412
413
414 // pattern switches
415 typeSwitch = fromString("typeSwitch");
416 enumSwitch = fromString("enumSwitch");
417 enumConstant = fromString("enumConstant");
418
419 // special annotations:
420 requiresIdentityInternal = fromString("jdk.internal.RequiresIdentity+Annotation");
421 }
422
423 protected Name.Table createTable(Options options) {
424 boolean useUnsharedTable = options.isSet("useUnsharedTable");
425 if (useUnsharedTable)
426 return newUnsharedNameTable();
427 boolean useSharedTable = options.isSet("useSharedTable");
428 if (useSharedTable)
429 return newSharedNameTable();
430 boolean internStringTable = options.isSet("internStringTable");
431 return newStringNameTable(internStringTable);
432 }
433
434 public StringNameTable newStringNameTable(boolean intern) {
435 return StringNameTable.create(this, intern);
436 }
437
438 public SharedNameTable newSharedNameTable() {
|
211 public final Name bootstrap;
212
213 public final Name record;
214 public final Name non;
215
216 // serialization members, used by records too
217 public final Name serialPersistentFields;
218 public final Name writeObject;
219 public final Name writeReplace;
220 public final Name readObjectNoData;
221
222 // sealed types
223 public final Name permits;
224 public final Name sealed;
225
226 // pattern switches
227 public final Name typeSwitch;
228 public final Name enumSwitch;
229 public final Name enumConstant;
230
231 // code reflection
232 public final Name jdk_incubator_code;
233 public final Name quoted;
234 public final Name quotable;
235
236 // special annotation names
237 public final Name requiresIdentityInternal;
238
239 public final Name.Table table;
240
241 @SuppressWarnings("this-escape")
242 public Names(Context context) {
243 Options options = Options.instance(context);
244 table = createTable(options);
245
246 // operators and punctuation
247 asterisk = fromString("*");
248 comma = fromString(",");
249 empty = fromString("");
250 hyphen = fromString("-");
251 one = fromString("1");
252 slash = fromString("/");
253
254 // keywords
255 _class = fromString("class");
404
405 bootstrap = fromString("bootstrap");
406 record = fromString("record");
407 non = fromString("non");
408
409 serialPersistentFields = fromString("serialPersistentFields");
410 writeObject = fromString("writeObject");
411 writeReplace = fromString("writeReplace");
412 readObjectNoData = fromString("readObjectNoData");
413
414 // sealed types
415 permits = fromString("permits");
416 sealed = fromString("sealed");
417
418
419 // pattern switches
420 typeSwitch = fromString("typeSwitch");
421 enumSwitch = fromString("enumSwitch");
422 enumConstant = fromString("enumConstant");
423
424 // code reflection
425 jdk_incubator_code = fromString("jdk.incubator.code");
426 quoted = fromString("Quoted");
427 quotable = fromString("Quotable");
428
429 // special annotations:
430 requiresIdentityInternal = fromString("jdk.internal.RequiresIdentity+Annotation");
431 }
432
433 protected Name.Table createTable(Options options) {
434 boolean useUnsharedTable = options.isSet("useUnsharedTable");
435 if (useUnsharedTable)
436 return newUnsharedNameTable();
437 boolean useSharedTable = options.isSet("useSharedTable");
438 if (useSharedTable)
439 return newSharedNameTable();
440 boolean internStringTable = options.isSet("internStringTable");
441 return newStringNameTable(internStringTable);
442 }
443
444 public StringNameTable newStringNameTable(boolean intern) {
445 return StringNameTable.create(this, intern);
446 }
447
448 public SharedNameTable newSharedNameTable() {
|