221 public final Name bootstrap;
222
223 public final Name record;
224 public final Name non;
225
226 // serialization members, used by records too
227 public final Name serialPersistentFields;
228 public final Name writeObject;
229 public final Name writeReplace;
230 public final Name readObjectNoData;
231
232 // sealed types
233 public final Name permits;
234 public final Name sealed;
235
236 // pattern switches
237 public final Name typeSwitch;
238 public final Name enumSwitch;
239 public final Name enumConstant;
240
241 // special annotation names
242 public final Name requiresIdentityInternal;
243
244 public final Name.Table table;
245
246 @SuppressWarnings("this-escape")
247 public Names(Context context) {
248 Options options = Options.instance(context);
249 table = createTable(options);
250
251 // operators and punctuation
252 asterisk = fromString("*");
253 comma = fromString(",");
254 empty = fromString("");
255 hyphen = fromString("-");
256 one = fromString("1");
257 slash = fromString("/");
258
259 // keywords
260 _class = fromString("class");
417
418 bootstrap = fromString("bootstrap");
419 record = fromString("record");
420 non = fromString("non");
421
422 serialPersistentFields = fromString("serialPersistentFields");
423 writeObject = fromString("writeObject");
424 writeReplace = fromString("writeReplace");
425 readObjectNoData = fromString("readObjectNoData");
426
427 // sealed types
428 permits = fromString("permits");
429 sealed = fromString("sealed");
430
431
432 // pattern switches
433 typeSwitch = fromString("typeSwitch");
434 enumSwitch = fromString("enumSwitch");
435 enumConstant = fromString("enumConstant");
436
437 // special annotations:
438 requiresIdentityInternal = fromString("jdk.internal.RequiresIdentity+Annotation");
439 }
440
441 protected Name.Table createTable(Options options) {
442 boolean useUnsharedTable = options.isSet("useUnsharedTable");
443 if (useUnsharedTable)
444 return newUnsharedNameTable();
445 boolean useSharedTable = options.isSet("useSharedTable");
446 if (useSharedTable)
447 return newSharedNameTable();
448 boolean internStringTable = options.isSet("internStringTable");
449 return newStringNameTable(internStringTable);
450 }
451
452 public StringNameTable newStringNameTable(boolean intern) {
453 return StringNameTable.create(this, intern);
454 }
455
456 public SharedNameTable newSharedNameTable() {
|
221 public final Name bootstrap;
222
223 public final Name record;
224 public final Name non;
225
226 // serialization members, used by records too
227 public final Name serialPersistentFields;
228 public final Name writeObject;
229 public final Name writeReplace;
230 public final Name readObjectNoData;
231
232 // sealed types
233 public final Name permits;
234 public final Name sealed;
235
236 // pattern switches
237 public final Name typeSwitch;
238 public final Name enumSwitch;
239 public final Name enumConstant;
240
241 // code reflection
242 public final Name jdk_incubator_code;
243
244 // special annotation names
245 public final Name requiresIdentityInternal;
246
247 public final Name.Table table;
248
249 @SuppressWarnings("this-escape")
250 public Names(Context context) {
251 Options options = Options.instance(context);
252 table = createTable(options);
253
254 // operators and punctuation
255 asterisk = fromString("*");
256 comma = fromString(",");
257 empty = fromString("");
258 hyphen = fromString("-");
259 one = fromString("1");
260 slash = fromString("/");
261
262 // keywords
263 _class = fromString("class");
420
421 bootstrap = fromString("bootstrap");
422 record = fromString("record");
423 non = fromString("non");
424
425 serialPersistentFields = fromString("serialPersistentFields");
426 writeObject = fromString("writeObject");
427 writeReplace = fromString("writeReplace");
428 readObjectNoData = fromString("readObjectNoData");
429
430 // sealed types
431 permits = fromString("permits");
432 sealed = fromString("sealed");
433
434
435 // pattern switches
436 typeSwitch = fromString("typeSwitch");
437 enumSwitch = fromString("enumSwitch");
438 enumConstant = fromString("enumConstant");
439
440 // code reflection
441 jdk_incubator_code = fromString("jdk.incubator.code");
442
443 // special annotations:
444 requiresIdentityInternal = fromString("jdk.internal.RequiresIdentity+Annotation");
445 }
446
447 protected Name.Table createTable(Options options) {
448 boolean useUnsharedTable = options.isSet("useUnsharedTable");
449 if (useUnsharedTable)
450 return newUnsharedNameTable();
451 boolean useSharedTable = options.isSet("useSharedTable");
452 if (useSharedTable)
453 return newSharedNameTable();
454 boolean internStringTable = options.isSet("internStringTable");
455 return newStringNameTable(internStringTable);
456 }
457
458 public StringNameTable newStringNameTable(boolean intern) {
459 return StringNameTable.create(this, intern);
460 }
461
462 public SharedNameTable newSharedNameTable() {
|