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