@typespec/compiler 1.14.0-dev.0 → 1.14.0-dev.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/generated-defs/TypeSpec.d.ts +10 -1
  2. package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
  3. package/dist/manifest.js +2 -2
  4. package/dist/src/core/auto-decorator.d.ts +26 -0
  5. package/dist/src/core/auto-decorator.d.ts.map +1 -0
  6. package/dist/src/core/auto-decorator.js +85 -0
  7. package/dist/src/core/auto-decorator.js.map +1 -0
  8. package/dist/src/core/checker.d.ts.map +1 -1
  9. package/dist/src/core/checker.js +46 -25
  10. package/dist/src/core/checker.js.map +1 -1
  11. package/dist/src/core/diagnostics.d.ts +3 -3
  12. package/dist/src/core/diagnostics.d.ts.map +1 -1
  13. package/dist/src/core/diagnostics.js +34 -3
  14. package/dist/src/core/diagnostics.js.map +1 -1
  15. package/dist/src/core/features.d.ts +3 -0
  16. package/dist/src/core/features.d.ts.map +1 -1
  17. package/dist/src/core/features.js +3 -0
  18. package/dist/src/core/features.js.map +1 -1
  19. package/dist/src/core/messages.d.ts +36 -7
  20. package/dist/src/core/messages.d.ts.map +1 -1
  21. package/dist/src/core/messages.js +10 -1
  22. package/dist/src/core/messages.js.map +1 -1
  23. package/dist/src/core/modifiers.d.ts.map +1 -1
  24. package/dist/src/core/modifiers.js +42 -8
  25. package/dist/src/core/modifiers.js.map +1 -1
  26. package/dist/src/core/parser.d.ts.map +1 -1
  27. package/dist/src/core/parser.js +13 -0
  28. package/dist/src/core/parser.js.map +1 -1
  29. package/dist/src/core/program.d.ts.map +1 -1
  30. package/dist/src/core/program.js +11 -43
  31. package/dist/src/core/program.js.map +1 -1
  32. package/dist/src/core/scanner.d.ts +41 -41
  33. package/dist/src/core/scanner.d.ts.map +1 -1
  34. package/dist/src/core/scanner.js +46 -47
  35. package/dist/src/core/scanner.js.map +1 -1
  36. package/dist/src/core/source-file.js +1 -1
  37. package/dist/src/core/source-file.js.map +1 -1
  38. package/dist/src/core/suppression-tracking.d.ts +21 -0
  39. package/dist/src/core/suppression-tracking.d.ts.map +1 -0
  40. package/dist/src/core/suppression-tracking.js +139 -0
  41. package/dist/src/core/suppression-tracking.js.map +1 -0
  42. package/dist/src/core/types.d.ts +10 -3
  43. package/dist/src/core/types.d.ts.map +1 -1
  44. package/dist/src/core/types.js +2 -1
  45. package/dist/src/core/types.js.map +1 -1
  46. package/dist/src/formatter/print/printer.d.ts.map +1 -1
  47. package/dist/src/formatter/print/printer.js +53 -15
  48. package/dist/src/formatter/print/printer.js.map +1 -1
  49. package/dist/src/index.d.ts +1 -0
  50. package/dist/src/index.d.ts.map +1 -1
  51. package/dist/src/index.js +1 -0
  52. package/dist/src/index.js.map +1 -1
  53. package/dist/src/lib/decorators.d.ts +3 -1
  54. package/dist/src/lib/decorators.d.ts.map +1 -1
  55. package/dist/src/lib/decorators.js +1 -1
  56. package/dist/src/lib/decorators.js.map +1 -1
  57. package/dist/src/server/client-config-provider.d.ts +1 -1
  58. package/dist/src/server/client-config-provider.d.ts.map +1 -1
  59. package/dist/src/server/diagnostics.d.ts.map +1 -1
  60. package/dist/src/server/diagnostics.js +1 -1
  61. package/dist/src/server/diagnostics.js.map +1 -1
  62. package/dist/src/server/server.js +1 -1
  63. package/dist/src/server/server.js.map +1 -1
  64. package/dist/src/server/serverlib.d.ts.map +1 -1
  65. package/dist/src/server/serverlib.js +25 -1
  66. package/dist/src/server/serverlib.js.map +1 -1
  67. package/dist/src/server/tspconfig/completion.d.ts +1 -1
  68. package/dist/src/server/tspconfig/completion.d.ts.map +1 -1
  69. package/dist/src/server/tspconfig/completion.js +1 -1
  70. package/dist/src/server/tspconfig/completion.js.map +1 -1
  71. package/dist/src/testing/test-server-host.d.ts +1 -1
  72. package/dist/src/testing/test-server-host.d.ts.map +1 -1
  73. package/dist/src/testing/test-server-host.js +1 -1
  74. package/dist/src/testing/test-server-host.js.map +1 -1
  75. package/lib/std/decorators.tsp +11 -1
  76. package/package.json +4 -4
@@ -24,7 +24,8 @@ import { getDirectoryPath, joinPaths, resolvePath } from "./path-utils.js";
24
24
  import { createPerfReporter, perf } from "./perf.js";
25
25
  import { createSourceLoader, loadJsFile, moduleResolutionErrorToDiagnostic, } from "./source-loader.js";
26
26
  import { createStateAccessors } from "./state-accessors.js";
27
- import { NoTarget, SyntaxKind, } from "./types.js";
27
+ import { createSuppressionTracker, findDirectiveSuppressingOnNode, } from "./suppression-tracking.js";
28
+ import { NoTarget, } from "./types.js";
28
29
  export async function compile(host, mainFile, options = {}, oldProgram) {
29
30
  const logger = createLogger({ sink: host.logSink });
30
31
  const { program, shouldAbort } = await logger.trackAction("Compiling...", "Compiling", async (task) => {
@@ -71,9 +72,11 @@ async function createProgram(host, mainFile, options = {}, oldProgram) {
71
72
  const emitters = [];
72
73
  const requireImports = new Map();
73
74
  const complexityStats = {};
74
- let sourceResolution;
75
+ let sourceResolution = undefined;
75
76
  let error = false;
76
77
  let continueToNextStage = true;
78
+ // eslint-disable-next-line prefer-const -- reassigned after source resolution
79
+ let suppressionTracker;
77
80
  const logger = createLogger({ sink: host.logSink });
78
81
  const tracer = createTracer(logger, { filter: options.trace });
79
82
  const resolvedMain = await resolveTypeSpecEntrypoint(host, mainFile, reportDiagnostic);
@@ -101,6 +104,9 @@ async function createProgram(host, mainFile, options = {}, oldProgram) {
101
104
  reportDiagnostic,
102
105
  reportDiagnostics,
103
106
  reportDuplicateSymbols,
107
+ get suppressionTracker() {
108
+ return suppressionTracker;
109
+ },
104
110
  hasError() {
105
111
  return error;
106
112
  },
@@ -135,6 +141,7 @@ async function createProgram(host, mainFile, options = {}, oldProgram) {
135
141
  }
136
142
  // let GC reclaim old program, we do not reuse it beyond this point.
137
143
  oldProgram = undefined;
144
+ suppressionTracker = createSuppressionTracker(sourceResolution);
138
145
  const resolver = (program.resolver = createResolver(program));
139
146
  runtimeStats.resolver = perf.time(() => resolver.resolveProgram());
140
147
  const linter = createLinter(program, (name) => loadLibrary(basedir, name));
@@ -545,6 +552,7 @@ async function createProgram(host, mainFile, options = {}, oldProgram) {
545
552
  if (suppressing) {
546
553
  if (diagnostic.severity === "error") {
547
554
  // Cannot suppress errors.
555
+ suppressionTracker?.markUsed(suppressing.node);
548
556
  diagnostics.push({
549
557
  severity: "error",
550
558
  code: "suppress-error",
@@ -554,52 +562,12 @@ async function createProgram(host, mainFile, options = {}, oldProgram) {
554
562
  return false;
555
563
  }
556
564
  else {
565
+ suppressionTracker?.markUsed(suppressing.node);
557
566
  return true;
558
567
  }
559
568
  }
560
569
  return false;
561
570
  }
562
- function findDirectiveSuppressingOnNode(code, node) {
563
- let current = node;
564
- do {
565
- if (current.directives) {
566
- const directive = findDirectiveSuppressingCode(code, current.directives);
567
- if (directive) {
568
- return directive;
569
- }
570
- }
571
- } while ((current = current.parent));
572
- return undefined;
573
- }
574
- /**
575
- * Returns the directive node that is suppressing this code.
576
- * @param code Code to check for suppression.
577
- * @param directives List of directives.
578
- * @returns Directive suppressing this code if found, `undefined` otherwise
579
- */
580
- function findDirectiveSuppressingCode(code, directives) {
581
- for (const directive of directives.map((x) => parseDirective(x))) {
582
- if (directive.name === "suppress") {
583
- if (directive.code === code) {
584
- return directive;
585
- }
586
- }
587
- }
588
- return undefined;
589
- }
590
- function parseDirective(node) {
591
- const args = node.arguments.map((x) => {
592
- return x.kind === SyntaxKind.Identifier ? x.sv : x.value;
593
- });
594
- switch (node.target.sv) {
595
- case "suppress":
596
- return { name: "suppress", code: args[0], message: args[1], node };
597
- case "deprecated":
598
- return { name: "deprecated", message: args[0], node };
599
- default:
600
- throw new Error("Unexpected directive name.");
601
- }
602
- }
603
571
  function getNode(target) {
604
572
  if (!("kind" in target) && !("valueKind" in target) && !("entityKind" in target)) {
605
573
  // TemplateInstanceTarget
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/core/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/core/program.ts"],"names":[],"mappings":"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"}
@@ -72,47 +72,47 @@ export declare enum Token {
72
72
  InitKeyword = 68,
73
73
  ExternKeyword = 69,
74
74
  InternalKeyword = 70,
75
- ExtendsKeyword = 71,
76
- FnKeyword = 72,
77
- TrueKeyword = 73,
78
- FalseKeyword = 74,
79
- ReturnKeyword = 75,
80
- VoidKeyword = 76,
81
- NeverKeyword = 77,
82
- UnknownKeyword = 78,
83
- ValueOfKeyword = 79,
84
- TypeOfKeyword = 80,
85
- StatemachineKeyword = 81,
86
- MacroKeyword = 82,
87
- PackageKeyword = 83,
88
- MetadataKeyword = 84,
89
- EnvKeyword = 85,
90
- ArgKeyword = 86,
91
- DeclareKeyword = 87,
92
- ArrayKeyword = 88,
93
- StructKeyword = 89,
94
- RecordKeyword = 90,
95
- ModuleKeyword = 91,
96
- ModKeyword = 92,
97
- SymKeyword = 93,
98
- ContextKeyword = 94,
99
- PropKeyword = 95,
100
- PropertyKeyword = 96,
101
- ScenarioKeyword = 97,
102
- PubKeyword = 98,
103
- SubKeyword = 99,
104
- TypeRefKeyword = 100,
105
- TraitKeyword = 101,
106
- ThisKeyword = 102,
107
- SelfKeyword = 103,
108
- SuperKeyword = 104,
109
- KeyofKeyword = 105,
110
- WithKeyword = 106,
111
- ImplementsKeyword = 107,
112
- ImplKeyword = 108,
113
- SatisfiesKeyword = 109,
114
- FlagKeyword = 110,
115
- AutoKeyword = 111,
75
+ AutoKeyword = 71,
76
+ ExtendsKeyword = 72,
77
+ FnKeyword = 73,
78
+ TrueKeyword = 74,
79
+ FalseKeyword = 75,
80
+ ReturnKeyword = 76,
81
+ VoidKeyword = 77,
82
+ NeverKeyword = 78,
83
+ UnknownKeyword = 79,
84
+ ValueOfKeyword = 80,
85
+ TypeOfKeyword = 81,
86
+ StatemachineKeyword = 82,
87
+ MacroKeyword = 83,
88
+ PackageKeyword = 84,
89
+ MetadataKeyword = 85,
90
+ EnvKeyword = 86,
91
+ ArgKeyword = 87,
92
+ DeclareKeyword = 88,
93
+ ArrayKeyword = 89,
94
+ StructKeyword = 90,
95
+ RecordKeyword = 91,
96
+ ModuleKeyword = 92,
97
+ ModKeyword = 93,
98
+ SymKeyword = 94,
99
+ ContextKeyword = 95,
100
+ PropKeyword = 96,
101
+ PropertyKeyword = 97,
102
+ ScenarioKeyword = 98,
103
+ PubKeyword = 99,
104
+ SubKeyword = 100,
105
+ TypeRefKeyword = 101,
106
+ TraitKeyword = 102,
107
+ ThisKeyword = 103,
108
+ SelfKeyword = 104,
109
+ SuperKeyword = 105,
110
+ KeyofKeyword = 106,
111
+ WithKeyword = 107,
112
+ ImplementsKeyword = 108,
113
+ ImplKeyword = 109,
114
+ SatisfiesKeyword = 110,
115
+ FlagKeyword = 111,
116
116
  PartialKeyword = 112,
117
117
  PrivateKeyword = 113,
118
118
  PublicKeyword = 114,
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../src/core/scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../src/core/scanner.ts"],"names":[],"mappings":"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"}
@@ -107,57 +107,57 @@ export var Token;
107
107
  /** @internal */ Token[Token["__StartModifierKeyword"] = 69] = "__StartModifierKeyword";
108
108
  Token[Token["ExternKeyword"] = 69] = "ExternKeyword";
109
109
  Token[Token["InternalKeyword"] = 70] = "InternalKeyword";
110
- /** @internal */ Token[Token["__EndModifierKeyword"] = 71] = "__EndModifierKeyword";
110
+ Token[Token["AutoKeyword"] = 71] = "AutoKeyword";
111
+ /** @internal */ Token[Token["__EndModifierKeyword"] = 72] = "__EndModifierKeyword";
111
112
  ///////////////////////////////////////////////////////////////
112
113
  ///////////////////////////////////////////////////////////////
113
114
  // Other keywords
114
- Token[Token["ExtendsKeyword"] = 71] = "ExtendsKeyword";
115
- Token[Token["FnKeyword"] = 72] = "FnKeyword";
116
- Token[Token["TrueKeyword"] = 73] = "TrueKeyword";
117
- Token[Token["FalseKeyword"] = 74] = "FalseKeyword";
118
- Token[Token["ReturnKeyword"] = 75] = "ReturnKeyword";
119
- Token[Token["VoidKeyword"] = 76] = "VoidKeyword";
120
- Token[Token["NeverKeyword"] = 77] = "NeverKeyword";
121
- Token[Token["UnknownKeyword"] = 78] = "UnknownKeyword";
122
- Token[Token["ValueOfKeyword"] = 79] = "ValueOfKeyword";
123
- Token[Token["TypeOfKeyword"] = 80] = "TypeOfKeyword";
115
+ Token[Token["ExtendsKeyword"] = 72] = "ExtendsKeyword";
116
+ Token[Token["FnKeyword"] = 73] = "FnKeyword";
117
+ Token[Token["TrueKeyword"] = 74] = "TrueKeyword";
118
+ Token[Token["FalseKeyword"] = 75] = "FalseKeyword";
119
+ Token[Token["ReturnKeyword"] = 76] = "ReturnKeyword";
120
+ Token[Token["VoidKeyword"] = 77] = "VoidKeyword";
121
+ Token[Token["NeverKeyword"] = 78] = "NeverKeyword";
122
+ Token[Token["UnknownKeyword"] = 79] = "UnknownKeyword";
123
+ Token[Token["ValueOfKeyword"] = 80] = "ValueOfKeyword";
124
+ Token[Token["TypeOfKeyword"] = 81] = "TypeOfKeyword";
124
125
  // Add new non-statement keyword above
125
- /** @internal */ Token[Token["__EndKeyword"] = 81] = "__EndKeyword";
126
+ /** @internal */ Token[Token["__EndKeyword"] = 82] = "__EndKeyword";
126
127
  ///////////////////////////////////////////////////////////////
127
- /** @internal */ Token[Token["__StartReservedKeyword"] = 81] = "__StartReservedKeyword";
128
+ /** @internal */ Token[Token["__StartReservedKeyword"] = 82] = "__StartReservedKeyword";
128
129
  ///////////////////////////////////////////////////////////////
129
130
  // List of keywords that have special meaning in the language but are reserved for future use
130
- Token[Token["StatemachineKeyword"] = 81] = "StatemachineKeyword";
131
- Token[Token["MacroKeyword"] = 82] = "MacroKeyword";
132
- Token[Token["PackageKeyword"] = 83] = "PackageKeyword";
133
- Token[Token["MetadataKeyword"] = 84] = "MetadataKeyword";
134
- Token[Token["EnvKeyword"] = 85] = "EnvKeyword";
135
- Token[Token["ArgKeyword"] = 86] = "ArgKeyword";
136
- Token[Token["DeclareKeyword"] = 87] = "DeclareKeyword";
137
- Token[Token["ArrayKeyword"] = 88] = "ArrayKeyword";
138
- Token[Token["StructKeyword"] = 89] = "StructKeyword";
139
- Token[Token["RecordKeyword"] = 90] = "RecordKeyword";
140
- Token[Token["ModuleKeyword"] = 91] = "ModuleKeyword";
141
- Token[Token["ModKeyword"] = 92] = "ModKeyword";
142
- Token[Token["SymKeyword"] = 93] = "SymKeyword";
143
- Token[Token["ContextKeyword"] = 94] = "ContextKeyword";
144
- Token[Token["PropKeyword"] = 95] = "PropKeyword";
145
- Token[Token["PropertyKeyword"] = 96] = "PropertyKeyword";
146
- Token[Token["ScenarioKeyword"] = 97] = "ScenarioKeyword";
147
- Token[Token["PubKeyword"] = 98] = "PubKeyword";
148
- Token[Token["SubKeyword"] = 99] = "SubKeyword";
149
- Token[Token["TypeRefKeyword"] = 100] = "TypeRefKeyword";
150
- Token[Token["TraitKeyword"] = 101] = "TraitKeyword";
151
- Token[Token["ThisKeyword"] = 102] = "ThisKeyword";
152
- Token[Token["SelfKeyword"] = 103] = "SelfKeyword";
153
- Token[Token["SuperKeyword"] = 104] = "SuperKeyword";
154
- Token[Token["KeyofKeyword"] = 105] = "KeyofKeyword";
155
- Token[Token["WithKeyword"] = 106] = "WithKeyword";
156
- Token[Token["ImplementsKeyword"] = 107] = "ImplementsKeyword";
157
- Token[Token["ImplKeyword"] = 108] = "ImplKeyword";
158
- Token[Token["SatisfiesKeyword"] = 109] = "SatisfiesKeyword";
159
- Token[Token["FlagKeyword"] = 110] = "FlagKeyword";
160
- Token[Token["AutoKeyword"] = 111] = "AutoKeyword";
131
+ Token[Token["StatemachineKeyword"] = 82] = "StatemachineKeyword";
132
+ Token[Token["MacroKeyword"] = 83] = "MacroKeyword";
133
+ Token[Token["PackageKeyword"] = 84] = "PackageKeyword";
134
+ Token[Token["MetadataKeyword"] = 85] = "MetadataKeyword";
135
+ Token[Token["EnvKeyword"] = 86] = "EnvKeyword";
136
+ Token[Token["ArgKeyword"] = 87] = "ArgKeyword";
137
+ Token[Token["DeclareKeyword"] = 88] = "DeclareKeyword";
138
+ Token[Token["ArrayKeyword"] = 89] = "ArrayKeyword";
139
+ Token[Token["StructKeyword"] = 90] = "StructKeyword";
140
+ Token[Token["RecordKeyword"] = 91] = "RecordKeyword";
141
+ Token[Token["ModuleKeyword"] = 92] = "ModuleKeyword";
142
+ Token[Token["ModKeyword"] = 93] = "ModKeyword";
143
+ Token[Token["SymKeyword"] = 94] = "SymKeyword";
144
+ Token[Token["ContextKeyword"] = 95] = "ContextKeyword";
145
+ Token[Token["PropKeyword"] = 96] = "PropKeyword";
146
+ Token[Token["PropertyKeyword"] = 97] = "PropertyKeyword";
147
+ Token[Token["ScenarioKeyword"] = 98] = "ScenarioKeyword";
148
+ Token[Token["PubKeyword"] = 99] = "PubKeyword";
149
+ Token[Token["SubKeyword"] = 100] = "SubKeyword";
150
+ Token[Token["TypeRefKeyword"] = 101] = "TypeRefKeyword";
151
+ Token[Token["TraitKeyword"] = 102] = "TraitKeyword";
152
+ Token[Token["ThisKeyword"] = 103] = "ThisKeyword";
153
+ Token[Token["SelfKeyword"] = 104] = "SelfKeyword";
154
+ Token[Token["SuperKeyword"] = 105] = "SuperKeyword";
155
+ Token[Token["KeyofKeyword"] = 106] = "KeyofKeyword";
156
+ Token[Token["WithKeyword"] = 107] = "WithKeyword";
157
+ Token[Token["ImplementsKeyword"] = 108] = "ImplementsKeyword";
158
+ Token[Token["ImplKeyword"] = 109] = "ImplKeyword";
159
+ Token[Token["SatisfiesKeyword"] = 110] = "SatisfiesKeyword";
160
+ Token[Token["FlagKeyword"] = 111] = "FlagKeyword";
161
161
  Token[Token["PartialKeyword"] = 112] = "PartialKeyword";
162
162
  Token[Token["PrivateKeyword"] = 113] = "PrivateKeyword";
163
163
  Token[Token["PublicKeyword"] = 114] = "PublicKeyword";
@@ -251,6 +251,7 @@ export const TokenDisplay = getTokenDisplayTable([
251
251
  [Token.NeverKeyword, "'never'"],
252
252
  [Token.UnknownKeyword, "'unknown'"],
253
253
  [Token.ExternKeyword, "'extern'"],
254
+ [Token.AutoKeyword, "'auto'"],
254
255
  // Reserved keywords
255
256
  [Token.StatemachineKeyword, "'statemachine'"],
256
257
  [Token.MacroKeyword, "'macro'"],
@@ -282,7 +283,6 @@ export const TokenDisplay = getTokenDisplayTable([
282
283
  [Token.ImplKeyword, "'impl'"],
283
284
  [Token.SatisfiesKeyword, "'satisfies'"],
284
285
  [Token.FlagKeyword, "'flag'"],
285
- [Token.AutoKeyword, "'auto'"],
286
286
  [Token.PartialKeyword, "'partial'"],
287
287
  [Token.PrivateKeyword, "'private'"],
288
288
  [Token.PublicKeyword, "'public'"],
@@ -322,6 +322,7 @@ export const Keywords = new Map([
322
322
  ["never", Token.NeverKeyword],
323
323
  ["unknown", Token.UnknownKeyword],
324
324
  ["extern", Token.ExternKeyword],
325
+ ["auto", Token.AutoKeyword],
325
326
  ["internal", Token.InternalKeyword],
326
327
  // Reserved keywords
327
328
  ["statemachine", Token.StatemachineKeyword],
@@ -354,7 +355,6 @@ export const Keywords = new Map([
354
355
  ["impl", Token.ImplKeyword],
355
356
  ["satisfies", Token.SatisfiesKeyword],
356
357
  ["flag", Token.FlagKeyword],
357
- ["auto", Token.AutoKeyword],
358
358
  ["partial", Token.PartialKeyword],
359
359
  ["private", Token.PrivateKeyword],
360
360
  ["public", Token.PublicKeyword],
@@ -393,7 +393,6 @@ export const ReservedKeywords = new Map([
393
393
  ["impl", Token.ImplKeyword],
394
394
  ["satisfies", Token.SatisfiesKeyword],
395
395
  ["flag", Token.FlagKeyword],
396
- ["auto", Token.AutoKeyword],
397
396
  ["partial", Token.PartialKeyword],
398
397
  ["private", Token.PrivateKeyword],
399
398
  ["public", Token.PublicKeyword],