@typespec/compiler 1.10.0-dev.7 → 1.10.0-dev.8

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 (48) hide show
  1. package/dist/manifest.js +2 -2
  2. package/dist/src/core/binder.d.ts.map +1 -1
  3. package/dist/src/core/binder.js +23 -11
  4. package/dist/src/core/binder.js.map +1 -1
  5. package/dist/src/core/checker.d.ts.map +1 -1
  6. package/dist/src/core/checker.js +77 -9
  7. package/dist/src/core/checker.js.map +1 -1
  8. package/dist/src/core/helpers/syntax-utils.d.ts.map +1 -1
  9. package/dist/src/core/helpers/syntax-utils.js +11 -3
  10. package/dist/src/core/helpers/syntax-utils.js.map +1 -1
  11. package/dist/src/core/messages.d.ts +32 -30
  12. package/dist/src/core/messages.d.ts.map +1 -1
  13. package/dist/src/core/messages.js +6 -8
  14. package/dist/src/core/messages.js.map +1 -1
  15. package/dist/src/core/modifiers.d.ts +14 -0
  16. package/dist/src/core/modifiers.d.ts.map +1 -0
  17. package/dist/src/core/modifiers.js +166 -0
  18. package/dist/src/core/modifiers.js.map +1 -0
  19. package/dist/src/core/name-resolver.d.ts.map +1 -1
  20. package/dist/src/core/name-resolver.js +2 -0
  21. package/dist/src/core/name-resolver.js.map +1 -1
  22. package/dist/src/core/parser.d.ts.map +1 -1
  23. package/dist/src/core/parser.js +120 -95
  24. package/dist/src/core/parser.js.map +1 -1
  25. package/dist/src/core/scanner.d.ts +46 -46
  26. package/dist/src/core/scanner.d.ts.map +1 -1
  27. package/dist/src/core/scanner.js +50 -51
  28. package/dist/src/core/scanner.js.map +1 -1
  29. package/dist/src/core/source-loader.d.ts.map +1 -1
  30. package/dist/src/core/source-loader.js +2 -0
  31. package/dist/src/core/source-loader.js.map +1 -1
  32. package/dist/src/core/types.d.ts +29 -10
  33. package/dist/src/core/types.d.ts.map +1 -1
  34. package/dist/src/core/types.js +2 -1
  35. package/dist/src/core/types.js.map +1 -1
  36. package/dist/src/formatter/print/printer.d.ts +2 -2
  37. package/dist/src/formatter/print/printer.d.ts.map +1 -1
  38. package/dist/src/formatter/print/printer.js +42 -5
  39. package/dist/src/formatter/print/printer.js.map +1 -1
  40. package/dist/src/server/completion.js +1 -0
  41. package/dist/src/server/completion.js.map +1 -1
  42. package/dist/src/server/tmlanguage.d.ts +1 -1
  43. package/dist/src/server/tmlanguage.d.ts.map +1 -1
  44. package/dist/src/server/tmlanguage.js +39 -29
  45. package/dist/src/server/tmlanguage.js.map +1 -1
  46. package/dist/typespec.tmLanguage +103 -53
  47. package/lib/prototypes.tsp +2 -1
  48. package/package.json +1 -1
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export default {
2
- "version": "1.10.0-dev.7",
3
- "commit": "7d64e734c4dbd865684fd26d96a360ac52be1918"
2
+ "version": "1.10.0-dev.8",
3
+ "commit": "9bca04b6dd0c966b982b1ca920b59e245c050bed"
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../../src/core/binder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAeL,gBAAgB,EAMhB,IAAI,EAMJ,GAAG,EACH,WAAW,EACX,WAAW,EAGX,kBAAkB,EAInB,MAAM,YAAY,CAAC;AAKpB,QAAA,MAAM,WAAW;kBAGM,WAAW;;QAOhC,wCAAwC;wBACxB,WAAW,cAAc,GAAG;iBAUnC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;CAkB5B,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjD,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAKtD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CAEnE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CA0frD;AAsBD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,GAAG,EACZ,KAAK,CAAC,EAAE,GAAG,GACV,GAAG,CA0BL;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAEzC"}
1
+ {"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../../src/core/binder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAeL,gBAAgB,EAOhB,IAAI,EAMJ,GAAG,EACH,WAAW,EACX,WAAW,EAGX,kBAAkB,EAInB,MAAM,YAAY,CAAC;AAKpB,QAAA,MAAM,WAAW;kBAGM,WAAW;;QAOhC,wCAAwC;wBACxB,WAAW,cAAc,GAAG;iBAUnC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;CAkB5B,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjD,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAKtD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CAEnE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAiiBrD;AAsBD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,GAAG,SAAS,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAClB,MAAM,CAAC,EAAE,GAAG,EACZ,KAAK,CAAC,EAAE,GAAG,GACV,GAAG,CA0BL;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAEzC"}
@@ -138,6 +138,8 @@ export function createBinder(program) {
138
138
  parent: sourceFile,
139
139
  flags: 0 /* NodeFlags.None */,
140
140
  symbol: undefined,
141
+ modifiers: [],
142
+ modifierFlags: 0 /* ModifierFlags.None */,
141
143
  };
142
144
  const sym = createSymbol(jsNamespaceNode, part, 256 /* SymbolFlags.Namespace */ | 1048576 /* SymbolFlags.Declaration */, containerSymbol);
143
145
  mutate(jsNamespaceNode).symbol = sym;
@@ -287,7 +289,8 @@ export function createBinder(program) {
287
289
  declareSymbol(node, 1024 /* SymbolFlags.TemplateParameter */ | 1048576 /* SymbolFlags.Declaration */);
288
290
  }
289
291
  function bindModelStatement(node) {
290
- declareSymbol(node, 2 /* SymbolFlags.Model */ | 1048576 /* SymbolFlags.Declaration */);
292
+ const internal = node.modifierFlags & 4 /* ModifierFlags.Internal */ ? 8388608 /* SymbolFlags.Internal */ : 0 /* SymbolFlags.None */;
293
+ declareSymbol(node, 2 /* SymbolFlags.Model */ | 1048576 /* SymbolFlags.Declaration */ | internal);
291
294
  // Initialize locals for type parameters
292
295
  mutate(node).locals = new SymbolTable();
293
296
  }
@@ -301,7 +304,8 @@ export function createBinder(program) {
301
304
  bindSymbol(node, 2 /* SymbolFlags.Model */);
302
305
  }
303
306
  function bindScalarStatement(node) {
304
- declareSymbol(node, 4 /* SymbolFlags.Scalar */ | 1048576 /* SymbolFlags.Declaration */);
307
+ const internal = node.modifierFlags & 4 /* ModifierFlags.Internal */ ? 8388608 /* SymbolFlags.Internal */ : 0 /* SymbolFlags.None */;
308
+ declareSymbol(node, 4 /* SymbolFlags.Scalar */ | 1048576 /* SymbolFlags.Declaration */ | internal);
305
309
  // Initialize locals for type parameters
306
310
  mutate(node).locals = new SymbolTable();
307
311
  }
@@ -309,23 +313,28 @@ export function createBinder(program) {
309
313
  declareMember(node, 65536 /* SymbolFlags.Member */, node.id.sv);
310
314
  }
311
315
  function bindInterfaceStatement(node) {
312
- declareSymbol(node, 32 /* SymbolFlags.Interface */ | 1048576 /* SymbolFlags.Declaration */);
316
+ const internal = node.modifierFlags & 4 /* ModifierFlags.Internal */ ? 8388608 /* SymbolFlags.Internal */ : 0 /* SymbolFlags.None */;
317
+ declareSymbol(node, 32 /* SymbolFlags.Interface */ | 1048576 /* SymbolFlags.Declaration */ | internal);
313
318
  mutate(node).locals = new SymbolTable();
314
319
  }
315
320
  function bindUnionStatement(node) {
316
- declareSymbol(node, 64 /* SymbolFlags.Union */ | 1048576 /* SymbolFlags.Declaration */);
321
+ const internal = node.modifierFlags & 4 /* ModifierFlags.Internal */ ? 8388608 /* SymbolFlags.Internal */ : 0 /* SymbolFlags.None */;
322
+ declareSymbol(node, 64 /* SymbolFlags.Union */ | 1048576 /* SymbolFlags.Declaration */ | internal);
317
323
  mutate(node).locals = new SymbolTable();
318
324
  }
319
325
  function bindAliasStatement(node) {
320
- declareSymbol(node, 128 /* SymbolFlags.Alias */ | 1048576 /* SymbolFlags.Declaration */);
326
+ const internal = node.modifierFlags & 4 /* ModifierFlags.Internal */ ? 8388608 /* SymbolFlags.Internal */ : 0 /* SymbolFlags.None */;
327
+ declareSymbol(node, 128 /* SymbolFlags.Alias */ | 1048576 /* SymbolFlags.Declaration */ | internal);
321
328
  // Initialize locals for type parameters
322
329
  mutate(node).locals = new SymbolTable();
323
330
  }
324
331
  function bindConstStatement(node) {
325
- declareSymbol(node, 131072 /* SymbolFlags.Const */ | 1048576 /* SymbolFlags.Declaration */);
332
+ const internal = node.modifierFlags & 4 /* ModifierFlags.Internal */ ? 8388608 /* SymbolFlags.Internal */ : 0 /* SymbolFlags.None */;
333
+ declareSymbol(node, 131072 /* SymbolFlags.Const */ | 1048576 /* SymbolFlags.Declaration */ | internal);
326
334
  }
327
335
  function bindEnumStatement(node) {
328
- declareSymbol(node, 16 /* SymbolFlags.Enum */ | 1048576 /* SymbolFlags.Declaration */);
336
+ const internal = node.modifierFlags & 4 /* ModifierFlags.Internal */ ? 8388608 /* SymbolFlags.Internal */ : 0 /* SymbolFlags.None */;
337
+ declareSymbol(node, 16 /* SymbolFlags.Enum */ | 1048576 /* SymbolFlags.Declaration */ | internal);
329
338
  }
330
339
  function bindEnumMember(node) {
331
340
  declareMember(node, 65536 /* SymbolFlags.Member */, node.id.sv);
@@ -366,19 +375,22 @@ export function createBinder(program) {
366
375
  mutate(currentFile.usings).push(statement);
367
376
  }
368
377
  function bindOperationStatement(statement) {
378
+ const internal = statement.modifierFlags & 4 /* ModifierFlags.Internal */ ? 8388608 /* SymbolFlags.Internal */ : 0 /* SymbolFlags.None */;
369
379
  if (scope.kind === SyntaxKind.InterfaceStatement) {
370
- declareMember(statement, 8 /* SymbolFlags.Operation */ | 65536 /* SymbolFlags.Member */ | 1048576 /* SymbolFlags.Declaration */, statement.id.sv);
380
+ declareMember(statement, 8 /* SymbolFlags.Operation */ | 65536 /* SymbolFlags.Member */ | 1048576 /* SymbolFlags.Declaration */ | internal, statement.id.sv);
371
381
  }
372
382
  else {
373
- declareSymbol(statement, 8 /* SymbolFlags.Operation */ | 1048576 /* SymbolFlags.Declaration */);
383
+ declareSymbol(statement, 8 /* SymbolFlags.Operation */ | 1048576 /* SymbolFlags.Declaration */ | internal);
374
384
  }
375
385
  mutate(statement).locals = createSymbolTable();
376
386
  }
377
387
  function bindDecoratorDeclarationStatement(node) {
378
- declareSymbol(node, 512 /* SymbolFlags.Decorator */ | 1048576 /* SymbolFlags.Declaration */, `@${node.id.sv}`);
388
+ const internal = node.modifierFlags & 4 /* ModifierFlags.Internal */ ? 8388608 /* SymbolFlags.Internal */ : 0 /* SymbolFlags.None */;
389
+ declareSymbol(node, 512 /* SymbolFlags.Decorator */ | 1048576 /* SymbolFlags.Declaration */ | internal, `@${node.id.sv}`);
379
390
  }
380
391
  function bindFunctionDeclarationStatement(node) {
381
- declareSymbol(node, 2048 /* SymbolFlags.Function */ | 1048576 /* SymbolFlags.Declaration */);
392
+ const internal = node.modifierFlags & 4 /* ModifierFlags.Internal */ ? 8388608 /* SymbolFlags.Internal */ : 0 /* SymbolFlags.None */;
393
+ declareSymbol(node, 2048 /* SymbolFlags.Function */ | 1048576 /* SymbolFlags.Declaration */ | internal);
382
394
  }
383
395
  function bindFunctionParameter(node) {
384
396
  const symbol = createSymbol(node, node.id.sv, 4096 /* SymbolFlags.FunctionParameter */ | 1048576 /* SymbolFlags.Declaration */, scope.symbol);
@@ -1 +1 @@
1
- {"version":3,"file":"binder.js","sourceRoot":"","sources":["../../../src/core/binder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binder.js","sourceRoot":"","sources":["../../../src/core/binder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAQvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAY5C,OAAO,EAML,cAAc,EACd,kBAAkB,EAqClB,mBAAmB,EAWnB,KAAK,EAGL,aAAa,EAOb,IAAI,EAGJ,cAAc,EACd,kBAAkB,EASlB,MAAM,EAMN,WAAW,EACX,QAAQ,EACR,aAAa,EACb,iBAAiB,EAUjB,GAAG,EAaH,IAAI,EAcJ,KAAK,EAGN,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,MAAM,aAAa,CAAC,CAAC;AA+I5F,MAAM,WAAW,OAAO;IAGtB;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAgBjC,SAAS,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,CAAC,CAAC;IAKnF,UAAU,CAAC,CAAC,SAAS,IAAI,SAAS,GAAG,GAAG,eAAe,GAAG,KAAK,EAC7D,OAAO,EAAE,CAAC,GACT,CAAC,GAAG,aAAa,GAAG;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5E,mBAAmB,CAAC,CAAC,SAAS,IAAI,SAAS,GAAG,GAAG,eAAe,GAAG,KAAK,EACtE,OAAO,EAAE,CAAC,GACT,CAAC,GAAG,aAAa,CAAC;IACrB,UAAU,CAAC,CAAC,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1C,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,aAAa,CAAC;IAC1E,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC;IACtF,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC;IAC7E,iBAAiB,CACf,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAChC,IAAI,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,GACjE,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;IACnD,iBAAiB,CACf,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAChC,IAAI,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,GACjE,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;IA8BnD;;;;OAIG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI,IAAI,MAAM,GAAG;QAAE,IAAI,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAClD,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,IAAI,IAAI,GAAG;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;IAEnF;;;OAGG;IACH,UAAU,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE3D;;;;;;;;OAQG;IACH,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;CAuCnD;AAED,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,aAAa;CAAG;AAE1B,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,GAAG,CAAC;IAET;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAs7M/E;AAgED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,OAAO,GAC5C,KAAK,CAyEP;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,OAAO,GAC3C,KAAK,CAqCP;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS,CAcxF;AAED;;;;;;;GAOG;AACH,wBAAiB,uBAAuB,CAAC,KAAK,EAAE,KAAK,2CAapD"}
1
+ {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,13 @@ import { createModelToObjectValueCodeFix, createTupleToArrayValueCodeFix, } from
9
9
  import { getDeprecationDetails, markDeprecated } from "./deprecation.js";
10
10
  import { compilerAssert, createDiagnosticCollector, ignoreDiagnostics, reportDeprecated, } from "./diagnostics.js";
11
11
  import { validateInheritanceDiscriminatedUnions } from "./helpers/discriminator-utils.js";
12
+ import { getLocationContext } from "./helpers/location-context.js";
12
13
  import { explainStringTemplateNotSerializable } from "./helpers/string-template-utils.js";
13
14
  import { typeReferenceToString } from "./helpers/syntax-utils.js";
14
15
  import { getEntityName, getTypeName } from "./helpers/type-name-utils.js";
15
16
  import { marshalTypeForJs, unmarshalJsToValue } from "./js-marshaller.js";
16
17
  import { createDiagnostic } from "./messages.js";
18
+ import { checkModifiers } from "./modifiers.js";
17
19
  import { Numeric } from "./numeric.js";
18
20
  import { exprIsBareIdentifier, getFirstAncestor, getIdentifierContext, hasParseError, visitChildren, } from "./parser.js";
19
21
  import { createTypeRelationChecker } from "./type-relation-checker.js";
@@ -229,6 +231,16 @@ export function createChecker(program, resolver) {
229
231
  declarations: [],
230
232
  node: undefined, // TODO: is this correct?
231
233
  });
234
+ const internalDecorators = [
235
+ typespecNamespaceBinding.exports?.get("@indexer"),
236
+ typespecNamespaceBinding.exports?.get("@docFromComment"),
237
+ typespecNamespaceBinding.exports?.get("Prototypes")?.exports?.get("@getter"),
238
+ ];
239
+ for (const decorator of internalDecorators) {
240
+ if (decorator) {
241
+ mutate(decorator).flags |= 8388608 /* SymbolFlags.Internal */;
242
+ }
243
+ }
232
244
  // Until we have an `unit` type for `null`
233
245
  mutate(resolver.symbols.null).type = nullType;
234
246
  getSymbolLinks(resolver.symbols.null).type = nullType;
@@ -1343,12 +1355,10 @@ export function createChecker(program, resolver) {
1343
1355
  // we're not instantiating this operation and we've already checked it
1344
1356
  return links.declaredType;
1345
1357
  }
1358
+ checkModifiers(program, node);
1346
1359
  const namespace = getParentNamespaceType(node);
1347
1360
  compilerAssert(namespace, `Decorator ${node.id.sv} should have resolved a namespace or found the global namespace.`);
1348
1361
  const name = node.id.sv;
1349
- if (!(node.modifierFlags & 2 /* ModifierFlags.Extern */)) {
1350
- reportCheckerDiagnostic(createDiagnostic({ code: "decorator-extern", target: node }));
1351
- }
1352
1362
  const implementation = symbol.value;
1353
1363
  if (implementation === undefined) {
1354
1364
  reportCheckerDiagnostic(createDiagnostic({ code: "missing-implementation", target: node }));
@@ -1372,6 +1382,7 @@ export function createChecker(program, resolver) {
1372
1382
  if (links.value !== undefined) {
1373
1383
  return links.value;
1374
1384
  }
1385
+ checkModifiers(program, node);
1375
1386
  reportCheckerDiagnostic(createDiagnostic({
1376
1387
  code: "experimental-feature",
1377
1388
  messageId: "functionDeclarations",
@@ -1380,9 +1391,6 @@ export function createChecker(program, resolver) {
1380
1391
  const namespace = getParentNamespaceType(node);
1381
1392
  compilerAssert(namespace, `Function ${node.id.sv} should have resolved a declared namespace or the global namespace.`);
1382
1393
  const name = node.id.sv;
1383
- if (!(node.modifierFlags & 2 /* ModifierFlags.Extern */)) {
1384
- reportCheckerDiagnostic(createDiagnostic({ code: "function-extern", target: node }));
1385
- }
1386
1394
  const implementation = mergedSymbol.value;
1387
1395
  if (implementation === undefined) {
1388
1396
  reportCheckerDiagnostic(createDiagnostic({ code: "missing-implementation", target: node }));
@@ -1585,6 +1593,7 @@ export function createChecker(program, resolver) {
1585
1593
  type = initializeTypeForNamespace(node);
1586
1594
  }
1587
1595
  if (node.kind === SyntaxKind.NamespaceStatement) {
1596
+ checkModifiers(program, node);
1588
1597
  if (isArray(node.statements)) {
1589
1598
  node.statements.forEach((x) => checkNode(ctx, x));
1590
1599
  }
@@ -1692,6 +1701,9 @@ export function createChecker(program, resolver) {
1692
1701
  return links.declaredType;
1693
1702
  }
1694
1703
  }
1704
+ if (ctx.mapper === undefined) {
1705
+ checkModifiers(program, node);
1706
+ }
1695
1707
  if (ctx.mapper === undefined && inInterface) {
1696
1708
  compilerAssert(parentInterface, "Operation in interface should already have been checked.", node.parent);
1697
1709
  }
@@ -2315,6 +2327,7 @@ export function createChecker(program, resolver) {
2315
2327
  referenceSymCache.has(node)) {
2316
2328
  return referenceSymCache.get(node);
2317
2329
  }
2330
+ resolvedOptions.locationContext ??= getLocationContext(program, node);
2318
2331
  const sym = resolveTypeReferenceSymInternal(ctx, node, resolvedOptions);
2319
2332
  if (!resolvedOptions.resolveDeclarationOfTemplate) {
2320
2333
  referenceSymCache.set(node, sym);
@@ -2347,8 +2360,9 @@ export function createChecker(program, resolver) {
2347
2360
  reportAmbiguousIdentifier(node, links.ambiguousSymbols);
2348
2361
  }
2349
2362
  }
2350
- const sym = links.resolvedSymbol;
2351
- return sym?.symbolSource ?? sym;
2363
+ const sym = links.resolvedSymbol?.symbolSource ?? links.resolvedSymbol;
2364
+ checkSymbolAccess(options.locationContext, node, sym);
2365
+ return sym;
2352
2366
  }
2353
2367
  else if (node.kind === SyntaxKind.MemberExpression) {
2354
2368
  let base = resolveTypeReferenceSym(ctx, node.base, {
@@ -2404,10 +2418,47 @@ export function createChecker(program, resolver) {
2404
2418
  }
2405
2419
  base = baseSym;
2406
2420
  }
2407
- return resolveMemberInContainer(base, node, options);
2421
+ const sym = resolveMemberInContainer(base, node, options);
2422
+ checkSymbolAccess(options.locationContext, node, sym);
2423
+ return sym;
2408
2424
  }
2409
2425
  compilerAssert(false, `Unknown type reference kind "${SyntaxKind[node.kind]}"`, node);
2410
2426
  }
2427
+ function checkSymbolAccess(sourceLocation, node, symbol) {
2428
+ if (!symbol)
2429
+ return;
2430
+ const isInternalDeclaration = (symbol.flags & (8388608 /* SymbolFlags.Internal */ | 1048576 /* SymbolFlags.Declaration */)) ===
2431
+ (8388608 /* SymbolFlags.Internal */ | 1048576 /* SymbolFlags.Declaration */);
2432
+ if (isInternalDeclaration) {
2433
+ // The source location can access internal declaration symbols if:
2434
+ // 1. The source location is synthetic.
2435
+ // 2. The source location is in the compiler standard library.
2436
+ // 3. SOME declaration of the target symbol meets the following:
2437
+ // 1. The source location is in the user project, and the symbol is also declared in the user project.
2438
+ // 2. The source location is in a library, and the symbol is also in the same library.
2439
+ if (sourceLocation.type === "synthetic" || sourceLocation.type === "compiler") {
2440
+ return;
2441
+ }
2442
+ const isDeclaredInCompatibleLocation = symbol.declarations.some((decl) => {
2443
+ const declLocation = getLocationContext(program, decl);
2444
+ if (declLocation.type !== sourceLocation.type)
2445
+ return false;
2446
+ // Both are project
2447
+ if (declLocation.type === "project")
2448
+ return true;
2449
+ // Both are library, use reference equality to check if they are the same library.
2450
+ return declLocation === sourceLocation;
2451
+ });
2452
+ if (isDeclaredInCompatibleLocation)
2453
+ return;
2454
+ reportCheckerDiagnostic(createDiagnostic({
2455
+ code: "invalid-ref",
2456
+ messageId: "internal",
2457
+ format: { id: symbol.name },
2458
+ target: node,
2459
+ }));
2460
+ }
2461
+ }
2411
2462
  function reportAmbiguousIdentifier(node, symbols) {
2412
2463
  const duplicateNames = symbols.map((s) => getFullyQualifiedSymbolName(s, { useGlobalPrefixAtTopLevel: true }));
2413
2464
  program.reportDiagnostic(createDiagnostic({
@@ -2795,6 +2846,9 @@ export function createChecker(program, resolver) {
2795
2846
  // we're not instantiating this model and we've already checked it
2796
2847
  return links.declaredType;
2797
2848
  }
2849
+ if (ctx.mapper === undefined) {
2850
+ checkModifiers(program, node);
2851
+ }
2798
2852
  checkTemplateDeclaration(ctx, node);
2799
2853
  const decorators = [];
2800
2854
  const type = createType({
@@ -4399,6 +4453,9 @@ export function createChecker(program, resolver) {
4399
4453
  // we're not instantiating this model and we've already checked it
4400
4454
  return links.declaredType;
4401
4455
  }
4456
+ if (ctx.mapper === undefined) {
4457
+ checkModifiers(program, node);
4458
+ }
4402
4459
  checkTemplateDeclaration(ctx, node);
4403
4460
  const decorators = [];
4404
4461
  const type = createType({
@@ -4510,6 +4567,9 @@ export function createChecker(program, resolver) {
4510
4567
  if (links.declaredType && ctx.mapper === undefined) {
4511
4568
  return links.declaredType;
4512
4569
  }
4570
+ if (ctx.mapper === undefined) {
4571
+ checkModifiers(program, node);
4572
+ }
4513
4573
  checkTemplateDeclaration(ctx, node);
4514
4574
  const aliasSymId = getNodeSym(node);
4515
4575
  if (pendingResolutions.has(aliasSymId, ResolutionKind.Type)) {
@@ -4543,6 +4603,7 @@ export function createChecker(program, resolver) {
4543
4603
  if (links.value !== undefined) {
4544
4604
  return links.value;
4545
4605
  }
4606
+ checkModifiers(program, node);
4546
4607
  const type = node.type ? getTypeForNode(node.type, undefined) : undefined;
4547
4608
  if (pendingResolutions.has(node.symbol, ResolutionKind.Value)) {
4548
4609
  reportCheckerDiagnostic(createDiagnostic({
@@ -4584,6 +4645,7 @@ export function createChecker(program, resolver) {
4584
4645
  function checkEnum(ctx, node) {
4585
4646
  const links = getSymbolLinks(node.symbol);
4586
4647
  if (!links.type) {
4648
+ checkModifiers(program, node);
4587
4649
  const enumType = (links.type = createType({
4588
4650
  kind: "Enum",
4589
4651
  name: node.id.sv,
@@ -4633,6 +4695,9 @@ export function createChecker(program, resolver) {
4633
4695
  // we're not instantiating this interface and we've already checked it
4634
4696
  return links.declaredType;
4635
4697
  }
4698
+ if (ctx.mapper === undefined) {
4699
+ checkModifiers(program, node);
4700
+ }
4636
4701
  checkTemplateDeclaration(ctx, node);
4637
4702
  const interfaceType = createType({
4638
4703
  kind: "Interface",
@@ -4719,6 +4784,9 @@ export function createChecker(program, resolver) {
4719
4784
  // we're not instantiating this union and we've already checked it
4720
4785
  return links.declaredType;
4721
4786
  }
4787
+ if (ctx.mapper === undefined) {
4788
+ checkModifiers(program, node);
4789
+ }
4722
4790
  checkTemplateDeclaration(ctx, node);
4723
4791
  const variants = createRekeyableMap();
4724
4792
  const unionType = createType({