brighterscript 1.0.0-alpha.46 → 1.0.0-alpha.47

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 (84) hide show
  1. package/dist/AstValidationSegmenter.js +3 -1
  2. package/dist/AstValidationSegmenter.js.map +1 -1
  3. package/dist/CrossScopeValidator.js +2 -2
  4. package/dist/CrossScopeValidator.js.map +1 -1
  5. package/dist/DiagnosticManager.d.ts +11 -0
  6. package/dist/DiagnosticManager.js +10 -2
  7. package/dist/DiagnosticManager.js.map +1 -1
  8. package/dist/DiagnosticMessages.d.ts +19 -3
  9. package/dist/DiagnosticMessages.js +53 -4
  10. package/dist/DiagnosticMessages.js.map +1 -1
  11. package/dist/Program.js +23 -0
  12. package/dist/Program.js.map +1 -1
  13. package/dist/Scope.js +2 -0
  14. package/dist/Scope.js.map +1 -1
  15. package/dist/SymbolTable.d.ts +42 -2
  16. package/dist/SymbolTable.js +247 -19
  17. package/dist/SymbolTable.js.map +1 -1
  18. package/dist/astUtils/reflection.d.ts +4 -0
  19. package/dist/astUtils/reflection.js +12 -4
  20. package/dist/astUtils/reflection.js.map +1 -1
  21. package/dist/bscPlugin/completions/CompletionsProcessor.js +4 -0
  22. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  23. package/dist/bscPlugin/hover/HoverProcessor.js +6 -3
  24. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  25. package/dist/bscPlugin/hover/HoverProcessor.spec.js +75 -9
  26. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
  27. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +1 -0
  28. package/dist/bscPlugin/validation/BrsFileValidator.js +31 -1
  29. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  30. package/dist/bscPlugin/validation/ScopeValidator.js +47 -10
  31. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  32. package/dist/bscPlugin/validation/ScopeValidator.spec.js +384 -2
  33. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
  34. package/dist/files/BrsFile.js +4 -3
  35. package/dist/files/BrsFile.js.map +1 -1
  36. package/dist/globalCallables.js +2 -16
  37. package/dist/globalCallables.js.map +1 -1
  38. package/dist/interfaces.d.ts +24 -0
  39. package/dist/interfaces.js.map +1 -1
  40. package/dist/lsp/Project.js +12 -5
  41. package/dist/lsp/Project.js.map +1 -1
  42. package/dist/lsp/Project.spec.js +15 -0
  43. package/dist/lsp/Project.spec.js.map +1 -1
  44. package/dist/lsp/ProjectManager.spec.js +1 -1
  45. package/dist/lsp/ProjectManager.spec.js.map +1 -1
  46. package/dist/parser/AstNode.d.ts +4 -0
  47. package/dist/parser/AstNode.js +20 -0
  48. package/dist/parser/AstNode.js.map +1 -1
  49. package/dist/parser/Expression.js +4 -8
  50. package/dist/parser/Expression.js.map +1 -1
  51. package/dist/parser/Statement.d.ts +1 -0
  52. package/dist/parser/Statement.js +11 -1
  53. package/dist/parser/Statement.js.map +1 -1
  54. package/dist/types/BscType.d.ts +4 -0
  55. package/dist/types/BscType.js +12 -0
  56. package/dist/types/BscType.js.map +1 -1
  57. package/dist/types/ComponentType.js +1 -15
  58. package/dist/types/ComponentType.js.map +1 -1
  59. package/dist/types/DynamicType.d.ts +4 -2
  60. package/dist/types/DynamicType.js +3 -0
  61. package/dist/types/DynamicType.js.map +1 -1
  62. package/dist/types/ReferenceType.d.ts +1 -1
  63. package/dist/types/ReferenceType.js +15 -2
  64. package/dist/types/ReferenceType.js.map +1 -1
  65. package/dist/types/TypedFunctionType.d.ts +1 -0
  66. package/dist/types/TypedFunctionType.js +43 -8
  67. package/dist/types/TypedFunctionType.js.map +1 -1
  68. package/dist/types/UninitializedType.d.ts +1 -0
  69. package/dist/types/UninitializedType.js +5 -1
  70. package/dist/types/UninitializedType.js.map +1 -1
  71. package/dist/types/UnionType.d.ts +4 -0
  72. package/dist/types/UnionType.js +41 -0
  73. package/dist/types/UnionType.js.map +1 -1
  74. package/dist/types/UnionType.spec.js +33 -0
  75. package/dist/types/UnionType.spec.js.map +1 -1
  76. package/dist/types/helper.spec.js +22 -0
  77. package/dist/types/helper.spec.js.map +1 -1
  78. package/dist/types/helpers.d.ts +11 -3
  79. package/dist/types/helpers.js +34 -8
  80. package/dist/types/helpers.js.map +1 -1
  81. package/dist/util.d.ts +5 -1
  82. package/dist/util.js +69 -26
  83. package/dist/util.js.map +1 -1
  84. package/package.json +5 -4
@@ -6,7 +6,9 @@ const visitors_1 = require("./astUtils/visitors");
6
6
  const util_1 = require("./util");
7
7
  const TokenKind_1 = require("./lexer/TokenKind");
8
8
  // eslint-disable-next-line no-bitwise
9
- exports.InsideSegmentWalkMode = visitors_1.WalkMode.visitStatements | visitors_1.WalkMode.visitExpressions | visitors_1.WalkMode.recurseChildFunctions;
9
+ exports.InsideSegmentWalkMode = visitors_1.WalkMode.visitStatements |
10
+ visitors_1.WalkMode.visitExpressions |
11
+ visitors_1.WalkMode.recurseChildFunctions;
10
12
  class AstValidationSegmenter {
11
13
  constructor(file) {
12
14
  this.file = file;
@@ -1 +1 @@
1
- {"version":3,"file":"AstValidationSegmenter.js","sourceRoot":"","sources":["../src/AstValidationSegmenter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AstValidationSegmenter.js","sourceRoot":"","sources":["../src/AstValidationSegmenter.ts"],"names":[],"mappings":"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"}
@@ -548,8 +548,8 @@ class CrossScopeValidator {
548
548
  const incompatibleScopes = resolution.incompatibleScopes;
549
549
  if (incompatibleScopes.size > 1) {
550
550
  const typeChainResult = util_1.util.processTypeChain(symbol.typeChain);
551
- const scopeListName = [...incompatibleScopes.values()].map(s => s.name).join(', ');
552
- this.program.diagnostics.register(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.incompatibleSymbolDefinition(typeChainResult.fullChainName, scopeListName)), { location: typeChainResult.location }), {
551
+ const scopeList = [...incompatibleScopes.values()].map(s => s.name);
552
+ this.program.diagnostics.register(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.incompatibleSymbolDefinition(typeChainResult.fullChainName, { scopes: scopeList })), { location: typeChainResult.location }), {
553
553
  tags: [CrossScopeValidatorDiagnosticTag]
554
554
  });
555
555
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CrossScopeValidator.js","sourceRoot":"","sources":["../src/CrossScopeValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CrossScopeValidator.js","sourceRoot":"","sources":["../src/CrossScopeValidator.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,19 @@
1
1
  import type { DiagnosticContext, BsDiagnostic, DiagnosticContextPair } from './interfaces';
2
2
  import type { AstNode } from './parser/AstNode';
3
3
  import type { Scope } from './Scope';
4
+ import type { Location } from 'vscode-languageserver-protocol';
4
5
  import type { FinalizedBsConfig } from './BsConfig';
5
6
  import type { Logger } from './logging';
6
7
  import type { Program } from './Program';
7
8
  import type { BrsFile } from './files/BrsFile';
9
+ interface BsDiagnosticWithKey extends BsDiagnostic {
10
+ key: string;
11
+ }
12
+ export interface LocationResolverArgs {
13
+ diagnostic: BsDiagnosticWithKey;
14
+ contexts: Set<DiagnosticContext>;
15
+ }
16
+ declare type LocationResolver = (options: LocationResolverArgs) => Location | undefined;
8
17
  /**
9
18
  * Manages all diagnostics for a program.
10
19
  * Diagnostics can be added specific to a certain file/range and optionally scope or an AST node
@@ -15,11 +24,13 @@ import type { BrsFile } from './files/BrsFile';
15
24
  export declare class DiagnosticManager {
16
25
  constructor(options?: {
17
26
  logger?: Logger;
27
+ locationResolver: LocationResolver;
18
28
  });
19
29
  private diagnosticsCache;
20
30
  private diagnosticFilterer;
21
31
  private diagnosticAdjuster;
22
32
  logger: Logger;
33
+ locationResolver: LocationResolver;
23
34
  options: FinalizedBsConfig;
24
35
  program: Program;
25
36
  private fileUriMap;
@@ -17,7 +17,7 @@ const logging_1 = require("./logging");
17
17
  */
18
18
  class DiagnosticManager {
19
19
  constructor(options) {
20
- var _a;
20
+ var _a, _b;
21
21
  this.diagnosticsCache = new Cache_1.Cache();
22
22
  this.diagnosticFilterer = new DiagnosticFilterer_1.DiagnosticFilterer();
23
23
  this.diagnosticAdjuster = new DiagnosticSeverityAdjuster_1.DiagnosticSeverityAdjuster();
@@ -26,6 +26,7 @@ class DiagnosticManager {
26
26
  this.scopeMap = new Map();
27
27
  this.segmentMap = new Map();
28
28
  this.logger = (_a = options === null || options === void 0 ? void 0 : options.logger) !== null && _a !== void 0 ? _a : (0, logging_1.createLogger)();
29
+ this.locationResolver = (_b = options === null || options === void 0 ? void 0 : options.locationResolver) !== null && _b !== void 0 ? _b : ((x) => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.diagnostic) === null || _a === void 0 ? void 0 : _a.location; });
29
30
  }
30
31
  register(diagnosticArg, context) {
31
32
  var _a;
@@ -109,7 +110,7 @@ class DiagnosticManager {
109
110
  return (_b = (_a = this.logger) === null || _a === void 0 ? void 0 : _a.time(logging_1.LogLevel.info, ['DiagnosticsManager.getDiagnostics()'], doDiagnosticsGathering)) !== null && _b !== void 0 ? _b : doDiagnosticsGathering();
110
111
  }
111
112
  getNonSuppressedDiagnostics() {
112
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
113
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
113
114
  const results = [];
114
115
  for (const cachedDiagnostic of this.diagnosticsCache.values()) {
115
116
  const diagnostic = Object.assign({}, cachedDiagnostic.diagnostic);
@@ -135,6 +136,13 @@ class DiagnosticManager {
135
136
  }
136
137
  }
137
138
  diagnostic.relatedInformation = relatedInformation;
139
+ if (!((_o = diagnostic.location) === null || _o === void 0 ? void 0 : _o.uri)) {
140
+ diagnostic.location = (_p = this.locationResolver) === null || _p === void 0 ? void 0 : _p.call(this, cachedDiagnostic);
141
+ if (diagnostic.location) {
142
+ //if we found a location, tweak the message a bit to let devs know this was not the original location
143
+ diagnostic.message = `${diagnostic.message} (location unknown, added here for visibility)`;
144
+ }
145
+ }
138
146
  results.push(diagnostic);
139
147
  }
140
148
  const filteredResults = results.filter((x) => {
@@ -1 +1 @@
1
- {"version":3,"file":"DiagnosticManager.js","sourceRoot":"","sources":["../src/DiagnosticManager.ts"],"names":[],"mappings":";;;AAGA,iCAA8B;AAC9B,mCAAgC;AAChC,sDAAmE;AAEnE,6DAA0D;AAC1D,6EAA0E;AAE1E,iCAA0B;AAE1B,uCAAmD;AAanD;;;;;;GAMG;AACH,MAAa,iBAAiB;IAE1B,YAAY,OAA6B;;QAIjC,qBAAgB,GAAG,IAAI,aAAK,EAAkC,CAAC;QAE/D,uBAAkB,GAAG,IAAI,uCAAkB,EAAE,CAAC;QAE9C,uBAAkB,GAAG,IAAI,uDAA0B,EAAE,CAAC;QAQtD,eAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC5C,WAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;QACxC,aAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC1C,eAAU,GAAG,IAAI,GAAG,EAAwB,CAAC;QAlBjD,IAAI,CAAC,MAAM,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,IAAA,sBAAY,GAAE,CAAC;IACpD,CAAC;IA0BM,QAAQ,CAAC,aAAyE,EAAE,OAA2B;;QAClH,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACrH,KAAK,MAAM,cAAc,IAAI,WAAW,EAAE;YACtC,MAAM,UAAU,GAAG,IAAA,2BAAc,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;YAC/F,MAAM,WAAW,GAAG,MAAC,cAAwC,aAAxC,cAAc,uBAAd,cAAc,CAA4B,OAAO,mCAAI,OAAO,CAAC;YAClF,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBAEvD,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE;oBAChC,UAAU,CAAC,kBAAkB,GAAG,EAAE,CAAC;iBACtC;gBACD,SAAS,GAAG,KAAK,CAAC;gBAClB,OAAO,EAAE,UAAU,kBAAI,GAAG,EAAE,GAAG,IAAK,UAAU,CAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAqB,EAAE,CAAC;YAC/F,CAAC,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,SAAS,CAAC,UAAU,CAAC;YAC9C,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,kBAAkB,EAAE;gBAC7C,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;aACpG;YACD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;YACpC,IAAI,WAAW,EAAE;gBACb,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aAC7B;YACD,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;SACjD;IACL,CAAC;IAEO,SAAS,CAAC,UAA+B,EAAE,OAA2B;;QAC1E,MAAM,QAAQ,GAAG,WAAI,CAAC,SAAS,CAAC,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,0CAAE,WAAW,EAAE,CAAC,CAAC;QACzE,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;aAC5C;YACD,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACtD;QACD,IAAI,OAAO,EAAE;YACT,IAAI,OAAO,CAAC,IAAI,EAAE;gBACd,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE;oBAC5B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;oBACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;wBAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;qBACxC;oBACD,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBAClD;aACJ;YACD,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;iBAC1C;gBACD,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACpD;YACD,IAAI,OAAO,CAAC,OAAO,EAAE;gBACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;iBACnD;gBACD,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,0CAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aAC7D;SACJ;IACL,CAAC;IAED;;;OAGG;IACI,cAAc;;QACjB,MAAM,sBAAsB,GAAG,GAAG,EAAE;;YAChC,MAAM,WAAW,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACvD,MAAM,mBAAmB,GAAG,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,kBAAQ,CAAC,KAAK,EAAE,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE;gBACvF,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC/C,CAAC,CAAC,mCAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAE1C,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,kBAAQ,CAAC,KAAK,EAAE,CAAC,6BAA6B,CAAC,EAAE,GAAG,EAAE;;gBACpE,MAAA,IAAI,CAAC,kBAAkB,0CAAE,MAAM,CAAC,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,EAAE,mBAAmB,CAAC,CAAC;YAC7E,CAAC,CAAC,CAAC;YAEH,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,4BAA4B,eAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,kBAAkB,eAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAClK,OAAO,mBAAmB,CAAC;QAC/B,CAAC,CAAC;QAEF,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,CAAC,kBAAQ,CAAC,IAAI,EAAE,CAAC,qCAAqC,CAAC,EAAE,sBAAsB,CAAC,mCAAI,sBAAsB,EAAE,CAAC;IACzI,CAAC;IAEO,2BAA2B;;QAC/B,MAAM,OAAO,GAAG,EAAyB,CAAC;QAC1C,KAAK,MAAM,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE;YAC3D,MAAM,UAAU,qBAAQ,gBAAgB,CAAC,UAAU,CAAE,CAAC;YACtD,MAAM,kBAAkB,GAAG,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC/E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAS,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBACtD,IAAI,OAAO,CAAC,KAAK,EAAE;oBACf,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBACrC;aACJ;YACD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;gBAChC,IAAI,IAAA,uBAAU,EAAC,KAAK,CAAC,KAAI,MAAA,KAAK,CAAC,OAAO,0CAAE,OAAO,CAAA,EAAE;oBAC7C,kBAAkB,CAAC,IAAI,CAAC;wBACpB,OAAO,EAAE,uBAAuB,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,aAAa,0CAAE,IAAI,GAAG;wBACtE,QAAQ,EAAE,WAAI,CAAC,uBAAuB,CAClC,WAAI,CAAC,SAAS,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,OAAO,CAAC,EACtC,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,GAAG,0CAAE,gBAAgB,0CAAE,YAAY,CAAC,MAAM,CAAC,0CAAE,MAAM,0CAAE,KAAK,0CAAE,QAAQ,0CAAE,KAAK,mCAAI,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC/H;qBACJ,CAAC,CAAC;iBACN;qBAAM;oBACH,kBAAkB,CAAC,IAAI,CAAC;wBACpB,OAAO,EAAE,aAAa,KAAK,CAAC,IAAI,GAAG;wBACnC,QAAQ,EAAE,UAAU,CAAC,QAAQ;qBAChC,CAAC,CAAC;iBACN;aAEJ;YACD,UAAU,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC5B;QACD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,sBAAsB,CAAC,UAAwB;;QAClD,MAAM,cAAc,GAAG,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAA,MAAA,UAAU,CAAC,IAAI,0CAAE,QAAQ,EAAE,mCAAI,SAAS,CAAC;QACtI,MAAM,oBAAoB,GAAG,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;QACrI,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAC,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,CAAC,CAAC;QAE7D,KAAK,IAAI,IAAI,IAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,mCAAI,EAAE,EAAE;YACvC,0CAA0C;YAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,WAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACtG,8CAA8C;gBAC9C,MAAM,kBAAkB,GAAG,CAAC,cAAc,KAAK,SAAS,KAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ,CAAC,cAAc,CAAC,CAAA,CAAC;oBAC7F,CAAC,oBAAoB,KAAK,SAAS,KAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAA,CAAC,CAAC;gBACvF,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,kBAAkB,EAAE;oBAC3C,OAAO,IAAI,CAAC;iBACf;aACJ;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,WAA2B;;QACjD,wDAAwD;QACxD,IAAI,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,iCACjD,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,KACrB,OAAO,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,KAC/B,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAEM,YAAY,CAAC,WAAmB;;QACnC,MAAM,cAAc,GAAG,MAAA,MAAA,WAAI,CAAC,SAAS,CAAC,WAAW,CAAC,0CAAE,WAAW,kDAAI,CAAC;QACpE,KAAK,MAAM,GAAG,IAAI,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,mCAAI,EAAE,EAAE;YACzD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;SAC5D;QACD,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IAEM,aAAa,CAAC,KAAY;;QAC7B,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,mCAAI,EAAE,EAAE;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAwB,EAAE,CAAC;YACjD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBAChD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;oBACzB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,UAAU,GAAG,IAAI,CAAC;iBACrB;aACJ;YACD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC3E,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAC5D;SACJ;QACD,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IAEM,eAAe,CAAC,OAAgB;;QACnC,KAAK,MAAM,GAAG,IAAI,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,mCAAI,EAAE,EAAE;YAClD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAwB,EAAE,CAAC;YACjD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBAChD,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE;oBAC7B,UAAU,GAAG,IAAI,CAAC;oBAClB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAClC;aACJ;YACD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC3E,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAC5D;SACJ;QACD,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IAEM,WAAW,CAAC,GAAW;;QAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,EAAE,EAAE;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAwB,EAAE,CAAC;YACjD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBAChD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC5B,UAAU,GAAG,IAAI,CAAC;oBAClB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAClC;aACJ;YACD,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC3E,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;aAC5D;SACJ;QACD,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACK,qBAAqB,CAAC,WAAoB,EAAE,UAAoC,EAAE,yBAAsC,EAAE,iBAAiB,GAAG,KAAK;QACvJ,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,UAAU,CAAC;SACrB;QAED,IAAI,CAAC,yBAAyB,IAAI,yBAAyB,CAAC,IAAI,KAAK,CAAC,EAAE;YACpE,OAAO,EAAE,CAAC;SACb;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,qBAAqB,EAAE,EAAE;YAC/C,OAAO,yBAAyB,CAAC,GAAG,CAAC,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,MAA+B;;QAEhD,MAAM,WAAW,GAAG;YAChB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG;YACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;YACrB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;YACzB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;SAC5B,CAAC;QAEF,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,GAAG,0CAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1I,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO;SACV;QACD,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,IAAI,0CAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9J,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO;SACV;QACD,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzK,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO;SACV;QACD,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE3I,KAAK,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,EAAE;YACrD,MAAM,gBAAgB,GAAwB,EAAE,CAAC;YACjD,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC5B,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE;oBAC5B,OAAO,GAAG,CAAC,CAAC,CAAA,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,CAAC;iBAClD;gBACD,IAAI,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE;oBAC9B,OAAO,GAAG,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,IAAI,MAAK,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;iBACvD;gBACD,IAAI,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE;oBAChC,OAAO,GAAG,CAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,MAAK,MAAM,CAAC,OAAO,CAAC;iBACzD;gBACD,IAAI,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE;oBAChC,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC;iBAChD;gBAED,IAAI,OAAO,EAAE;oBACT,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,UAAU,GAAG,IAAI,CAAC;iBACrB;aACJ;YACD,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAChE,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;aACjD;SACJ;IACL,CAAC;IAEO,4BAA4B,CAAC,UAA+B,EAAE,QAA6B;;QAC/F,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACvC;QACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,KAAK,MAAM,GAAG,IAAI,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,EAAE;gBAClC,IAAI,oBAAoB,GAAG,KAAK,CAAC;gBACjC,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,QAAQ,EAAE;oBAC5C,IAAI,MAAA,YAAY,CAAC,IAAI,0CAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAClC,oBAAoB,GAAG,IAAI,CAAC;wBAC5B,MAAM;qBACT;iBACJ;gBACD,IAAI,CAAC,oBAAoB,EAAE;oBACvB,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,0CAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBACnD;aACJ;YACD,IAAI,OAAO,CAAC,KAAK,EAAE;gBACf,IAAI,sBAAsB,GAAG,KAAK,CAAC;gBACnC,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,QAAQ,EAAE;oBAC5C,IAAI,YAAY,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE;wBACtC,sBAAsB,GAAG,IAAI,CAAC;wBAC9B,MAAM;qBACT;iBACJ;gBACD,IAAI,CAAC,sBAAsB,EAAE;oBACzB,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,0CAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBACpE;aACJ;YACD,IAAI,OAAO,CAAC,OAAO,EAAE;gBACjB,IAAI,wBAAwB,GAAG,KAAK,CAAC;gBACrC,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,QAAQ,EAAE;oBAC5C,IAAI,YAAY,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE;wBAC1C,wBAAwB,GAAG,IAAI,CAAC;wBAChC,MAAM;qBACT;iBACJ;gBACD,IAAI,CAAC,wBAAwB,EAAE;oBAC3B,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,0CAAE,MAAM,CAAC,GAAG,CAAC,CAAC;iBACrD;aACJ;SACJ;IACL,CAAC;IAEO,4BAA4B,CAAC,UAA+B;;QAChE,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClC,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,0CAAE,WAAW,EAAE,CAAC,0CAAE,MAAM,CAAC,GAAG,CAAC,CAAC;SAC7E;IACL,CAAC;IAGO,gBAAgB,CAAC,UAAwB;;QAC7C,OAAO,GAAG,MAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,GAAG,mCAAI,QAAQ,IAAI,WAAI,CAAC,aAAa,CAAC,MAAA,UAAU,CAAC,QAAQ,0CAAE,KAAK,CAAC,MAAM,UAAU,CAAC,IAAI,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;IACpJ,CAAC;IAEO,uBAAuB,CAAC,MAAsC,EAAE,MAAsC;QAC1G,SAAS,QAAQ,CAAC,WAAyC;;YACvD,OAAO,GAAG,WAAW,CAAC,OAAO,MAAM,MAAA,WAAW,CAAC,QAAQ,0CAAE,GAAG,MAAM,WAAI,CAAC,aAAa,CAAC,MAAA,WAAW,CAAC,QAAQ,0CAAE,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACtI,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE;YACrB,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACnB;SACJ;IACL,CAAC;IAEM,gBAAgB,CAAC,IAAa;QACjC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE;YAClD,IAAI,CAAC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;SAClD;QACD,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;IACjB,CAAC;CAEJ;AAlaD,8CAkaC"}
1
+ {"version":3,"file":"DiagnosticManager.js","sourceRoot":"","sources":["../src/DiagnosticManager.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { DiagnosticSeverity } from 'vscode-languageserver';
3
3
  import type { BsDiagnostic, TypeCompatibilityData } from './interfaces';
4
4
  import { TokenKind } from './lexer/TokenKind';
5
5
  import { SymbolTypeFlag } from './SymbolTypeFlag';
6
+ import type { BscType } from './types/BscType';
6
7
  export declare const DiagnosticCodeRegex: RegExp;
7
8
  /**
8
9
  * An object that keeps track of all possible error messages.
@@ -911,7 +912,12 @@ export declare let DiagnosticMessages: {
911
912
  severity: 1;
912
913
  code: string;
913
914
  };
914
- incompatibleSymbolDefinition: (symbol: string, scopeName: string) => {
915
+ incompatibleSymbolDefinition: (symbol: string, options?: {
916
+ scopes?: string[];
917
+ isUnion?: boolean;
918
+ types?: BscType[];
919
+ data?: TypeCompatibilityData;
920
+ }) => {
915
921
  message: string;
916
922
  legacyCode: number;
917
923
  severity: 1;
@@ -973,11 +979,21 @@ export declare let DiagnosticMessages: {
973
979
  severity: 1;
974
980
  code: string;
975
981
  };
982
+ notCallable: (name: string) => {
983
+ message: string;
984
+ severity: 1;
985
+ code: string;
986
+ };
976
987
  };
977
988
  export declare const defaultMaximumTruncationLength = 160;
978
989
  export declare function typeCompatibilityMessage(actualTypeString: string, expectedTypeString: string, data: TypeCompatibilityData): string;
979
- export declare const DiagnosticCodeMap: Record<"genericParserMessage" | "cannotFindName" | "mismatchArgumentCount" | "duplicateFunctionImplementation" | "referencedFileDoesNotExist" | "xmlComponentMissingComponentDeclaration" | "xmlComponentMissingNameAttribute" | "xmlComponentMissingExtendsAttribute" | "syntaxError" | "unnecessaryScriptImportInChildFromParent" | "overridesAncestorFunction" | "localVarFunctionShadowsParentFunction" | "scriptImportCaseMismatch" | "fileNotReferencedByAnyOtherFile" | "unknownDiagnosticCode" | "scriptSrcCannotBeEmpty" | "expectedIdentifier" | "missingCallableKeyword" | "__unused12" | "bsFeatureNotSupportedInBrsFiles" | "__ununsed12" | "bsConfigJsonHasSyntaxErrors" | "itemIsDeprecated" | "cannotUseOverrideKeywordOnConstructorFunction" | "unexpectedStatementLocation" | "__unused8" | "duplicateIdentifier" | "missingOverrideKeyword" | "nameCollision" | "__unused9" | "__unused27" | "expressionIsNotConstructable" | "expectedKeyword" | "__unused28" | "__unused29" | "__unused30" | "tooManyCallableParameters" | "__unused" | "requiredParameterMayNotFollowOptionalParameter" | "expectedNewlineOrColon" | "invalidIdentifier" | "__unused31" | "closingKeywordMismatch" | "expectedParameterNameButFound" | "__unused2" | "cannotUseReservedWordAsIdentifier" | "expectedOperator" | "expectedInlineIfStatement" | "expectedFinalNewline" | "couldNotFindMatchingEndKeyword" | "expectedCatchBlockInTryCatch" | "expectedEndForOrNextToTerminateForLoop" | "__unused32" | "expectedExpressionAfterForEachIn" | "unexpectedColonBeforeIfStatement" | "expectedStringLiteralAfterKeyword" | "keywordMustBeDeclaredAtRootLevel" | "__unused5" | "expectedTerminator" | "__unused14" | "__unused15" | "__unused16" | "expectedStatement" | "__unused18" | "__unused19" | "unexpectedOperator" | "__unused13" | "xmlUnexpectedTag" | "__unused20" | "xmlFunctionNotFound" | "xmlInvalidFieldType" | "xmlUnexpectedChildren" | "xmlTagMissingAttribute" | "expectedLabelIdentifierAfterGotoKeyword" | "__unused26" | "__unused21" | "tooManyCallableArguments" | "unmatchedLeftToken" | "__unused23" | "__unused24" | "unexpectedAAKey" | "expectedColonBetweenAAKeyAndvalue" | "__unused25" | "unexpectedToken" | "unexpectedCharacter" | "unterminatedString" | "__unused33" | "__unused44" | "unexpectedConditionalCompilationString" | "duplicateConstDeclaration" | "__unused34" | "invalidHashConstValue" | "hashConstDoesNotExist" | "invalidHashIfValue" | "hashError" | "__unused43" | "__unused17" | "__unused35" | "__unused22" | "expectedAttributeNameAfterAtSymbol" | "childFieldTypeNotAssignableToBaseProperty" | "__unused36" | "classConstructorMissingSuperCall" | "classConstructorIllegalUseOfMBeforeSuperCall" | "classFieldCannotBeOverridden" | "unusedAnnotation" | "localVarShadowedByScopedFunction" | "scopeFunctionShadowedByBuiltInFunction" | "__unused38" | "__unused45" | "__unused37" | "expectedToken" | "__unused10" | "__unused11" | "unterminatedTemplateString" | "unterminatedTemplateExpression" | "duplicateComponentName" | "__unused6" | "expectedExceptionVarToFollowCatch" | "missingExceptionExpressionAfterThrowKeyword" | "__unused42" | "__unused39" | "missingExpressionsInDimStatement" | "mismatchedOverriddenMemberVisibility" | "__unused3" | "enumValueMustBeType" | "enumValueIsRequired" | "__unused40" | "__unused7" | "unknownRoSGNode" | "unknownBrightScriptComponent" | "mismatchCreateObjectArgumentCount" | "__unused41" | "circularReferenceDetected" | "unexpectedStatementOutsideFunction" | "detectedTooDeepFileSource" | "illegalContinueStatement" | "keywordMustBeDeclaredAtNamespaceLevel" | "itemCannotBeUsedAsVariable" | "callfuncHasToManyArgs" | "noOptionalChainingInLeftHandSideOfAssignment" | "cannotFindFunction" | "voidFunctionMayNotReturnValue" | "nonVoidFunctionMustReturnValue" | "assignmentTypeMismatch" | "operatorTypeMismatch" | "incompatibleSymbolDefinition" | "memberAccessibilityMismatch" | "invalidTypecastStatementApplication" | "itemCannotBeUsedAsType" | "unsafeUnmatchedTerminatorInConditionalCompileBlock" | "returnTypeCoercionMismatch" | "argumentTypeMismatch" | "returnTypeMismatch" | "cannotFindCallFuncFunction", string>;
980
- export declare const DiagnosticLegacyCodeMap: Record<"genericParserMessage" | "cannotFindName" | "mismatchArgumentCount" | "duplicateFunctionImplementation" | "referencedFileDoesNotExist" | "xmlComponentMissingComponentDeclaration" | "xmlComponentMissingNameAttribute" | "xmlComponentMissingExtendsAttribute" | "syntaxError" | "unnecessaryScriptImportInChildFromParent" | "overridesAncestorFunction" | "localVarFunctionShadowsParentFunction" | "scriptImportCaseMismatch" | "fileNotReferencedByAnyOtherFile" | "unknownDiagnosticCode" | "scriptSrcCannotBeEmpty" | "expectedIdentifier" | "missingCallableKeyword" | "__unused12" | "bsFeatureNotSupportedInBrsFiles" | "__ununsed12" | "bsConfigJsonHasSyntaxErrors" | "itemIsDeprecated" | "cannotUseOverrideKeywordOnConstructorFunction" | "unexpectedStatementLocation" | "__unused8" | "duplicateIdentifier" | "missingOverrideKeyword" | "nameCollision" | "__unused9" | "__unused27" | "expressionIsNotConstructable" | "expectedKeyword" | "__unused28" | "__unused29" | "__unused30" | "tooManyCallableParameters" | "__unused" | "requiredParameterMayNotFollowOptionalParameter" | "expectedNewlineOrColon" | "invalidIdentifier" | "__unused31" | "closingKeywordMismatch" | "expectedParameterNameButFound" | "__unused2" | "cannotUseReservedWordAsIdentifier" | "expectedOperator" | "expectedInlineIfStatement" | "expectedFinalNewline" | "couldNotFindMatchingEndKeyword" | "expectedCatchBlockInTryCatch" | "expectedEndForOrNextToTerminateForLoop" | "__unused32" | "expectedExpressionAfterForEachIn" | "unexpectedColonBeforeIfStatement" | "expectedStringLiteralAfterKeyword" | "keywordMustBeDeclaredAtRootLevel" | "__unused5" | "expectedTerminator" | "__unused14" | "__unused15" | "__unused16" | "expectedStatement" | "__unused18" | "__unused19" | "unexpectedOperator" | "__unused13" | "xmlUnexpectedTag" | "__unused20" | "xmlFunctionNotFound" | "xmlInvalidFieldType" | "xmlUnexpectedChildren" | "xmlTagMissingAttribute" | "expectedLabelIdentifierAfterGotoKeyword" | "__unused26" | "__unused21" | "tooManyCallableArguments" | "unmatchedLeftToken" | "__unused23" | "__unused24" | "unexpectedAAKey" | "expectedColonBetweenAAKeyAndvalue" | "__unused25" | "unexpectedToken" | "unexpectedCharacter" | "unterminatedString" | "__unused33" | "__unused44" | "unexpectedConditionalCompilationString" | "duplicateConstDeclaration" | "__unused34" | "invalidHashConstValue" | "hashConstDoesNotExist" | "invalidHashIfValue" | "hashError" | "__unused43" | "__unused17" | "__unused35" | "__unused22" | "expectedAttributeNameAfterAtSymbol" | "childFieldTypeNotAssignableToBaseProperty" | "__unused36" | "classConstructorMissingSuperCall" | "classConstructorIllegalUseOfMBeforeSuperCall" | "classFieldCannotBeOverridden" | "unusedAnnotation" | "localVarShadowedByScopedFunction" | "scopeFunctionShadowedByBuiltInFunction" | "__unused38" | "__unused45" | "__unused37" | "expectedToken" | "__unused10" | "__unused11" | "unterminatedTemplateString" | "unterminatedTemplateExpression" | "duplicateComponentName" | "__unused6" | "expectedExceptionVarToFollowCatch" | "missingExceptionExpressionAfterThrowKeyword" | "__unused42" | "__unused39" | "missingExpressionsInDimStatement" | "mismatchedOverriddenMemberVisibility" | "__unused3" | "enumValueMustBeType" | "enumValueIsRequired" | "__unused40" | "__unused7" | "unknownRoSGNode" | "unknownBrightScriptComponent" | "mismatchCreateObjectArgumentCount" | "__unused41" | "circularReferenceDetected" | "unexpectedStatementOutsideFunction" | "detectedTooDeepFileSource" | "illegalContinueStatement" | "keywordMustBeDeclaredAtNamespaceLevel" | "itemCannotBeUsedAsVariable" | "callfuncHasToManyArgs" | "noOptionalChainingInLeftHandSideOfAssignment" | "cannotFindFunction" | "voidFunctionMayNotReturnValue" | "nonVoidFunctionMustReturnValue" | "assignmentTypeMismatch" | "operatorTypeMismatch" | "incompatibleSymbolDefinition" | "memberAccessibilityMismatch" | "invalidTypecastStatementApplication" | "itemCannotBeUsedAsType" | "unsafeUnmatchedTerminatorInConditionalCompileBlock" | "returnTypeCoercionMismatch" | "argumentTypeMismatch" | "returnTypeMismatch" | "cannotFindCallFuncFunction", number>;
990
+ export declare function incompatibleSymbolMessage(symbolName: string, options: {
991
+ scopes?: string[];
992
+ isUnion?: boolean;
993
+ data?: TypeCompatibilityData;
994
+ }): string;
995
+ export declare const DiagnosticCodeMap: Record<"genericParserMessage" | "cannotFindName" | "mismatchArgumentCount" | "duplicateFunctionImplementation" | "referencedFileDoesNotExist" | "xmlComponentMissingComponentDeclaration" | "xmlComponentMissingNameAttribute" | "xmlComponentMissingExtendsAttribute" | "syntaxError" | "unnecessaryScriptImportInChildFromParent" | "overridesAncestorFunction" | "localVarFunctionShadowsParentFunction" | "scriptImportCaseMismatch" | "fileNotReferencedByAnyOtherFile" | "unknownDiagnosticCode" | "scriptSrcCannotBeEmpty" | "expectedIdentifier" | "missingCallableKeyword" | "__unused12" | "bsFeatureNotSupportedInBrsFiles" | "__ununsed12" | "bsConfigJsonHasSyntaxErrors" | "itemIsDeprecated" | "cannotUseOverrideKeywordOnConstructorFunction" | "unexpectedStatementLocation" | "__unused8" | "duplicateIdentifier" | "missingOverrideKeyword" | "nameCollision" | "__unused9" | "__unused27" | "expressionIsNotConstructable" | "expectedKeyword" | "__unused28" | "__unused29" | "__unused30" | "tooManyCallableParameters" | "__unused" | "requiredParameterMayNotFollowOptionalParameter" | "expectedNewlineOrColon" | "invalidIdentifier" | "__unused31" | "closingKeywordMismatch" | "expectedParameterNameButFound" | "__unused2" | "cannotUseReservedWordAsIdentifier" | "expectedOperator" | "expectedInlineIfStatement" | "expectedFinalNewline" | "couldNotFindMatchingEndKeyword" | "expectedCatchBlockInTryCatch" | "expectedEndForOrNextToTerminateForLoop" | "__unused32" | "expectedExpressionAfterForEachIn" | "unexpectedColonBeforeIfStatement" | "expectedStringLiteralAfterKeyword" | "keywordMustBeDeclaredAtRootLevel" | "__unused5" | "expectedTerminator" | "__unused14" | "__unused15" | "__unused16" | "expectedStatement" | "__unused18" | "__unused19" | "unexpectedOperator" | "__unused13" | "xmlUnexpectedTag" | "__unused20" | "xmlFunctionNotFound" | "xmlInvalidFieldType" | "xmlUnexpectedChildren" | "xmlTagMissingAttribute" | "expectedLabelIdentifierAfterGotoKeyword" | "__unused26" | "__unused21" | "tooManyCallableArguments" | "unmatchedLeftToken" | "__unused23" | "__unused24" | "unexpectedAAKey" | "expectedColonBetweenAAKeyAndvalue" | "__unused25" | "unexpectedToken" | "unexpectedCharacter" | "unterminatedString" | "__unused33" | "__unused44" | "unexpectedConditionalCompilationString" | "duplicateConstDeclaration" | "__unused34" | "invalidHashConstValue" | "hashConstDoesNotExist" | "invalidHashIfValue" | "hashError" | "__unused43" | "__unused17" | "__unused35" | "__unused22" | "expectedAttributeNameAfterAtSymbol" | "childFieldTypeNotAssignableToBaseProperty" | "__unused36" | "classConstructorMissingSuperCall" | "classConstructorIllegalUseOfMBeforeSuperCall" | "classFieldCannotBeOverridden" | "unusedAnnotation" | "localVarShadowedByScopedFunction" | "scopeFunctionShadowedByBuiltInFunction" | "__unused38" | "__unused45" | "__unused37" | "expectedToken" | "__unused10" | "__unused11" | "unterminatedTemplateString" | "unterminatedTemplateExpression" | "duplicateComponentName" | "__unused6" | "expectedExceptionVarToFollowCatch" | "missingExceptionExpressionAfterThrowKeyword" | "__unused42" | "__unused39" | "missingExpressionsInDimStatement" | "mismatchedOverriddenMemberVisibility" | "__unused3" | "enumValueMustBeType" | "enumValueIsRequired" | "__unused40" | "__unused7" | "unknownRoSGNode" | "unknownBrightScriptComponent" | "mismatchCreateObjectArgumentCount" | "__unused41" | "circularReferenceDetected" | "unexpectedStatementOutsideFunction" | "detectedTooDeepFileSource" | "illegalContinueStatement" | "keywordMustBeDeclaredAtNamespaceLevel" | "itemCannotBeUsedAsVariable" | "callfuncHasToManyArgs" | "noOptionalChainingInLeftHandSideOfAssignment" | "cannotFindFunction" | "voidFunctionMayNotReturnValue" | "nonVoidFunctionMustReturnValue" | "assignmentTypeMismatch" | "operatorTypeMismatch" | "incompatibleSymbolDefinition" | "memberAccessibilityMismatch" | "invalidTypecastStatementApplication" | "itemCannotBeUsedAsType" | "unsafeUnmatchedTerminatorInConditionalCompileBlock" | "returnTypeCoercionMismatch" | "argumentTypeMismatch" | "returnTypeMismatch" | "cannotFindCallFuncFunction" | "notCallable", string>;
996
+ export declare const DiagnosticLegacyCodeMap: Record<"genericParserMessage" | "cannotFindName" | "mismatchArgumentCount" | "duplicateFunctionImplementation" | "referencedFileDoesNotExist" | "xmlComponentMissingComponentDeclaration" | "xmlComponentMissingNameAttribute" | "xmlComponentMissingExtendsAttribute" | "syntaxError" | "unnecessaryScriptImportInChildFromParent" | "overridesAncestorFunction" | "localVarFunctionShadowsParentFunction" | "scriptImportCaseMismatch" | "fileNotReferencedByAnyOtherFile" | "unknownDiagnosticCode" | "scriptSrcCannotBeEmpty" | "expectedIdentifier" | "missingCallableKeyword" | "__unused12" | "bsFeatureNotSupportedInBrsFiles" | "__ununsed12" | "bsConfigJsonHasSyntaxErrors" | "itemIsDeprecated" | "cannotUseOverrideKeywordOnConstructorFunction" | "unexpectedStatementLocation" | "__unused8" | "duplicateIdentifier" | "missingOverrideKeyword" | "nameCollision" | "__unused9" | "__unused27" | "expressionIsNotConstructable" | "expectedKeyword" | "__unused28" | "__unused29" | "__unused30" | "tooManyCallableParameters" | "__unused" | "requiredParameterMayNotFollowOptionalParameter" | "expectedNewlineOrColon" | "invalidIdentifier" | "__unused31" | "closingKeywordMismatch" | "expectedParameterNameButFound" | "__unused2" | "cannotUseReservedWordAsIdentifier" | "expectedOperator" | "expectedInlineIfStatement" | "expectedFinalNewline" | "couldNotFindMatchingEndKeyword" | "expectedCatchBlockInTryCatch" | "expectedEndForOrNextToTerminateForLoop" | "__unused32" | "expectedExpressionAfterForEachIn" | "unexpectedColonBeforeIfStatement" | "expectedStringLiteralAfterKeyword" | "keywordMustBeDeclaredAtRootLevel" | "__unused5" | "expectedTerminator" | "__unused14" | "__unused15" | "__unused16" | "expectedStatement" | "__unused18" | "__unused19" | "unexpectedOperator" | "__unused13" | "xmlUnexpectedTag" | "__unused20" | "xmlFunctionNotFound" | "xmlInvalidFieldType" | "xmlUnexpectedChildren" | "xmlTagMissingAttribute" | "expectedLabelIdentifierAfterGotoKeyword" | "__unused26" | "__unused21" | "tooManyCallableArguments" | "unmatchedLeftToken" | "__unused23" | "__unused24" | "unexpectedAAKey" | "expectedColonBetweenAAKeyAndvalue" | "__unused25" | "unexpectedToken" | "unexpectedCharacter" | "unterminatedString" | "__unused33" | "__unused44" | "unexpectedConditionalCompilationString" | "duplicateConstDeclaration" | "__unused34" | "invalidHashConstValue" | "hashConstDoesNotExist" | "invalidHashIfValue" | "hashError" | "__unused43" | "__unused17" | "__unused35" | "__unused22" | "expectedAttributeNameAfterAtSymbol" | "childFieldTypeNotAssignableToBaseProperty" | "__unused36" | "classConstructorMissingSuperCall" | "classConstructorIllegalUseOfMBeforeSuperCall" | "classFieldCannotBeOverridden" | "unusedAnnotation" | "localVarShadowedByScopedFunction" | "scopeFunctionShadowedByBuiltInFunction" | "__unused38" | "__unused45" | "__unused37" | "expectedToken" | "__unused10" | "__unused11" | "unterminatedTemplateString" | "unterminatedTemplateExpression" | "duplicateComponentName" | "__unused6" | "expectedExceptionVarToFollowCatch" | "missingExceptionExpressionAfterThrowKeyword" | "__unused42" | "__unused39" | "missingExpressionsInDimStatement" | "mismatchedOverriddenMemberVisibility" | "__unused3" | "enumValueMustBeType" | "enumValueIsRequired" | "__unused40" | "__unused7" | "unknownRoSGNode" | "unknownBrightScriptComponent" | "mismatchCreateObjectArgumentCount" | "__unused41" | "circularReferenceDetected" | "unexpectedStatementOutsideFunction" | "detectedTooDeepFileSource" | "illegalContinueStatement" | "keywordMustBeDeclaredAtNamespaceLevel" | "itemCannotBeUsedAsVariable" | "callfuncHasToManyArgs" | "noOptionalChainingInLeftHandSideOfAssignment" | "cannotFindFunction" | "voidFunctionMayNotReturnValue" | "nonVoidFunctionMustReturnValue" | "assignmentTypeMismatch" | "operatorTypeMismatch" | "incompatibleSymbolDefinition" | "memberAccessibilityMismatch" | "invalidTypecastStatementApplication" | "itemCannotBeUsedAsType" | "unsafeUnmatchedTerminatorInConditionalCompileBlock" | "returnTypeCoercionMismatch" | "argumentTypeMismatch" | "returnTypeMismatch" | "cannotFindCallFuncFunction" | "notCallable", number>;
981
997
  export declare let diagnosticCodes: string[];
982
998
  export interface DiagnosticInfo {
983
999
  message: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.diagnosticCodes = exports.DiagnosticLegacyCodeMap = exports.DiagnosticCodeMap = exports.typeCompatibilityMessage = exports.defaultMaximumTruncationLength = exports.DiagnosticMessages = exports.DiagnosticCodeRegex = void 0;
3
+ exports.diagnosticCodes = exports.DiagnosticLegacyCodeMap = exports.DiagnosticCodeMap = exports.incompatibleSymbolMessage = exports.typeCompatibilityMessage = exports.defaultMaximumTruncationLength = exports.DiagnosticMessages = exports.DiagnosticCodeRegex = void 0;
4
4
  const vscode_languageserver_1 = require("vscode-languageserver");
5
5
  const TokenKind_1 = require("./lexer/TokenKind");
6
6
  const util_1 = require("./util");
@@ -969,8 +969,8 @@ exports.DiagnosticMessages = {
969
969
  severity: vscode_languageserver_1.DiagnosticSeverity.Error,
970
970
  code: 'operator-type-mismatch'
971
971
  }),
972
- incompatibleSymbolDefinition: (symbol, scopeName) => ({
973
- message: `'${symbol}' is incompatible across these scopes: ${scopeName}`,
972
+ incompatibleSymbolDefinition: (symbol, options = {}) => ({
973
+ message: `'${symbol}' is incompatible${incompatibleSymbolMessage(symbol, options)}`,
974
974
  legacyCode: 1145,
975
975
  severity: vscode_languageserver_1.DiagnosticSeverity.Error,
976
976
  code: 'incompatible-definition'
@@ -1051,11 +1051,16 @@ exports.DiagnosticMessages = {
1051
1051
  legacyCode: 1154,
1052
1052
  severity: vscode_languageserver_1.DiagnosticSeverity.Error,
1053
1053
  code: 'cannot-find-callfunc'
1054
+ }),
1055
+ notCallable: (name) => ({
1056
+ message: `'${name}' is not callable'`,
1057
+ severity: vscode_languageserver_1.DiagnosticSeverity.Error,
1058
+ code: 'not-callable'
1054
1059
  })
1055
1060
  };
1056
1061
  exports.defaultMaximumTruncationLength = 160;
1057
1062
  function typeCompatibilityMessage(actualTypeString, expectedTypeString, data) {
1058
- var _a, _b, _c, _d, _e, _f;
1063
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
1059
1064
  let message = '';
1060
1065
  actualTypeString = (_b = (_a = data === null || data === void 0 ? void 0 : data.actualType) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : actualTypeString;
1061
1066
  expectedTypeString = (_d = (_c = data === null || data === void 0 ? void 0 : data.expectedType) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : expectedTypeString;
@@ -1078,6 +1083,32 @@ function typeCompatibilityMessage(actualTypeString, expectedTypeString, data) {
1078
1083
  maxLength: exports.defaultMaximumTruncationLength
1079
1084
  });
1080
1085
  }
1086
+ else if (((_g = data === null || data === void 0 ? void 0 : data.parameterMismatches) === null || _g === void 0 ? void 0 : _g.length) > 0) {
1087
+ message = '. ' + util_1.default.truncate({
1088
+ leadingText: `Type '${actualTypeString}' has incompatible parameters:`,
1089
+ items: data.parameterMismatches,
1090
+ itemSeparator: '',
1091
+ partBuilder: (x) => {
1092
+ var _a, _b, _c, _d;
1093
+ let pExpected = (_b = (_a = x.data) === null || _a === void 0 ? void 0 : _a.expectedType.toString()) !== null && _b !== void 0 ? _b : 'dynamic';
1094
+ let pActual = (_d = (_c = x.data) === null || _c === void 0 ? void 0 : _c.actualType.toString()) !== null && _d !== void 0 ? _d : 'dynamic';
1095
+ if (x.expectedOptional !== x.actualOptional) {
1096
+ pExpected += x.expectedOptional ? '?' : '';
1097
+ pActual += x.actualOptional ? '?' : '';
1098
+ }
1099
+ return `\n parameter ${x.index + 1} should be '${pExpected}' but is '${pActual}'`;
1100
+ },
1101
+ maxLength: exports.defaultMaximumTruncationLength
1102
+ });
1103
+ }
1104
+ else if (((_h = data === null || data === void 0 ? void 0 : data.returnTypeMismatch) === null || _h === void 0 ? void 0 : _h.actualType) && ((_j = data.returnTypeMismatch) === null || _j === void 0 ? void 0 : _j.expectedType)) {
1105
+ message = `. Type '${actualTypeString}' has incompatible return type:`;
1106
+ message += `\n return type should be '${(_k = data.returnTypeMismatch) === null || _k === void 0 ? void 0 : _k.expectedType}' but is '${(_l = data === null || data === void 0 ? void 0 : data.returnTypeMismatch) === null || _l === void 0 ? void 0 : _l.actualType}'`;
1107
+ }
1108
+ else if ((data === null || data === void 0 ? void 0 : data.expectedVariadic) !== (data === null || data === void 0 ? void 0 : data.actualVariadic)) {
1109
+ const shouldMsg = data.expectedVariadic ? 'should' : 'should not';
1110
+ message = `. Type '${actualTypeString}' ${shouldMsg} be variadic`;
1111
+ }
1081
1112
  return message;
1082
1113
  }
1083
1114
  exports.typeCompatibilityMessage = typeCompatibilityMessage;
@@ -1100,6 +1131,24 @@ function getPossibilitiesString(possibilities) {
1100
1131
  }
1101
1132
  return result;
1102
1133
  }
1134
+ function incompatibleSymbolMessage(symbolName, options) {
1135
+ var _a, _b, _c;
1136
+ let message = '';
1137
+ const data = options.data;
1138
+ if (((_a = options.scopes) === null || _a === void 0 ? void 0 : _a.length) > 0) {
1139
+ message += ` across these scopes: ${options.scopes.join(', ')}`;
1140
+ }
1141
+ if (options.isUnion) {
1142
+ message += ` in union`;
1143
+ }
1144
+ const actualTypeString = (_b = data === null || data === void 0 ? void 0 : data.actualType) === null || _b === void 0 ? void 0 : _b.toString();
1145
+ const expectedTypeString = (_c = data === null || data === void 0 ? void 0 : data.expectedType) === null || _c === void 0 ? void 0 : _c.toString();
1146
+ if (data && actualTypeString && expectedTypeString) {
1147
+ message += typeCompatibilityMessage(actualTypeString, expectedTypeString, data);
1148
+ }
1149
+ return message;
1150
+ }
1151
+ exports.incompatibleSymbolMessage = incompatibleSymbolMessage;
1103
1152
  exports.DiagnosticCodeMap = {};
1104
1153
  exports.DiagnosticLegacyCodeMap = {};
1105
1154
  exports.diagnosticCodes = [];