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