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 quotable;
234
235 // special annotation names
236 public final Name requiresIdentityInternal;
237
238 public final Name.Table table;
239
240 @SuppressWarnings("this-escape")
241 public Names(Context context) {
242 Options options = Options.instance(context);
243 table = createTable(options);
244
245 // operators and punctuation
246 asterisk = fromString("*");
247 comma = fromString(",");
248 empty = fromString("");
249 hyphen = fromString("-");
250 one = fromString("1");
251 slash = fromString("/");
252
253 // keywords
254 _class = fromString("class");
403
404 bootstrap = fromString("bootstrap");
405 record = fromString("record");
406 non = fromString("non");
407
408 serialPersistentFields = fromString("serialPersistentFields");
409 writeObject = fromString("writeObject");
410 writeReplace = fromString("writeReplace");
411 readObjectNoData = fromString("readObjectNoData");
412
413 // sealed types
414 permits = fromString("permits");
415 sealed = fromString("sealed");
416
417
418 // pattern switches
419 typeSwitch = fromString("typeSwitch");
420 enumSwitch = fromString("enumSwitch");
421 enumConstant = fromString("enumConstant");
422
423 // code reflection
424 jdk_incubator_code = fromString("jdk.incubator.code");
425 quotable = fromString("Quotable");
426
427 // special annotations:
428 requiresIdentityInternal = fromString("jdk.internal.RequiresIdentity+Annotation");
429 }
430
431 protected Name.Table createTable(Options options) {
432 boolean useUnsharedTable = options.isSet("useUnsharedTable");
433 if (useUnsharedTable)
434 return newUnsharedNameTable();
435 boolean useSharedTable = options.isSet("useSharedTable");
436 if (useSharedTable)
437 return newSharedNameTable();
438 boolean internStringTable = options.isSet("internStringTable");
439 return newStringNameTable(internStringTable);
440 }
441
442 public StringNameTable newStringNameTable(boolean intern) {
443 return StringNameTable.create(this, intern);
444 }
445
446 public SharedNameTable newSharedNameTable() {
|