brighterscript 1.0.0-alpha.46 → 1.0.0-alpha.48
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.
- package/dist/AstValidationSegmenter.js +12 -4
- package/dist/AstValidationSegmenter.js.map +1 -1
- package/dist/CrossScopeValidator.js +2 -2
- package/dist/CrossScopeValidator.js.map +1 -1
- package/dist/DiagnosticManager.d.ts +11 -0
- package/dist/DiagnosticManager.js +10 -2
- package/dist/DiagnosticManager.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +19 -3
- package/dist/DiagnosticMessages.js +53 -4
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/LanguageServer.d.ts +19 -5
- package/dist/LanguageServer.js +43 -19
- package/dist/LanguageServer.js.map +1 -1
- package/dist/PluginInterface.js +4 -1
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.js +23 -0
- package/dist/Program.js.map +1 -1
- package/dist/Scope.js +2 -0
- package/dist/Scope.js.map +1 -1
- package/dist/SymbolTable.d.ts +42 -2
- package/dist/SymbolTable.js +247 -19
- package/dist/SymbolTable.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +4 -0
- package/dist/astUtils/reflection.js +12 -4
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.js +4 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.js +6 -3
- package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +75 -9
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +7 -4
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +17 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +64 -13
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.js +47 -10
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +422 -2
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
- package/dist/files/BrsFile.js +4 -3
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +107 -0
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/globalCallables.js +2 -16
- package/dist/globalCallables.js.map +1 -1
- package/dist/interfaces.d.ts +24 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/lsp/LspProject.d.ts +17 -9
- package/dist/lsp/Project.d.ts +8 -7
- package/dist/lsp/Project.js +32 -25
- package/dist/lsp/Project.js.map +1 -1
- package/dist/lsp/Project.spec.js +58 -11
- package/dist/lsp/Project.spec.js.map +1 -1
- package/dist/lsp/ProjectManager.d.ts +23 -10
- package/dist/lsp/ProjectManager.js +125 -57
- package/dist/lsp/ProjectManager.js.map +1 -1
- package/dist/lsp/ProjectManager.spec.js +118 -116
- package/dist/lsp/ProjectManager.spec.js.map +1 -1
- package/dist/lsp/worker/WorkerThreadProject.d.ts +6 -7
- package/dist/lsp/worker/WorkerThreadProject.js +6 -5
- package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
- package/dist/lsp/worker/WorkerThreadProject.spec.js +4 -1
- package/dist/lsp/worker/WorkerThreadProject.spec.js.map +1 -1
- package/dist/parser/AstNode.d.ts +4 -0
- package/dist/parser/AstNode.js +20 -0
- package/dist/parser/AstNode.js.map +1 -1
- package/dist/parser/Expression.js +4 -8
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Statement.d.ts +1 -0
- package/dist/parser/Statement.js +13 -3
- package/dist/parser/Statement.js.map +1 -1
- package/dist/types/BscType.d.ts +4 -0
- package/dist/types/BscType.js +12 -0
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/ComponentType.js +1 -15
- package/dist/types/ComponentType.js.map +1 -1
- package/dist/types/DynamicType.d.ts +4 -2
- package/dist/types/DynamicType.js +3 -0
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/ReferenceType.d.ts +1 -2
- package/dist/types/ReferenceType.js +28 -22
- package/dist/types/ReferenceType.js.map +1 -1
- package/dist/types/TypedFunctionType.d.ts +1 -0
- package/dist/types/TypedFunctionType.js +43 -8
- package/dist/types/TypedFunctionType.js.map +1 -1
- package/dist/types/UninitializedType.d.ts +1 -0
- package/dist/types/UninitializedType.js +5 -1
- package/dist/types/UninitializedType.js.map +1 -1
- package/dist/types/UnionType.d.ts +7 -0
- package/dist/types/UnionType.js +48 -0
- package/dist/types/UnionType.js.map +1 -1
- package/dist/types/UnionType.spec.js +76 -0
- package/dist/types/UnionType.spec.js.map +1 -1
- package/dist/types/helper.spec.js +22 -0
- package/dist/types/helper.spec.js.map +1 -1
- package/dist/types/helpers.d.ts +11 -3
- package/dist/types/helpers.js +34 -8
- package/dist/types/helpers.js.map +1 -1
- package/dist/util.d.ts +11 -1
- package/dist/util.js +85 -30
- package/dist/util.js.map +1 -1
- 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 |
|
|
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;
|
|
@@ -50,8 +52,11 @@ class AstValidationSegmenter {
|
|
|
50
52
|
this.checkExpressionForUnresolved(segment, expression.expression.right, assignedSymbolsNames);
|
|
51
53
|
}
|
|
52
54
|
if ((0, reflection_1.isTypeExpression)(expression)) {
|
|
53
|
-
|
|
54
|
-
if (
|
|
55
|
+
let typeInTypeExpression = expression.getType({ flags: 2 /* SymbolTypeFlag.typetime */ });
|
|
56
|
+
if ((0, reflection_1.isArrayType)(typeInTypeExpression)) {
|
|
57
|
+
typeInTypeExpression = typeInTypeExpression.defaultType;
|
|
58
|
+
}
|
|
59
|
+
if (typeInTypeExpression.isResolvable()) {
|
|
55
60
|
return this.handleTypeCastTypeExpression(segment, expression);
|
|
56
61
|
}
|
|
57
62
|
}
|
|
@@ -63,7 +68,10 @@ class AstValidationSegmenter {
|
|
|
63
68
|
let typeChain = [];
|
|
64
69
|
const extraData = {};
|
|
65
70
|
const options = { flags: flag, onlyCacheResolvedTypes: true, typeChain: typeChain, data: extraData };
|
|
66
|
-
|
|
71
|
+
let nodeType = expression.getType(options);
|
|
72
|
+
if ((0, reflection_1.isArrayType)(nodeType)) {
|
|
73
|
+
nodeType = nodeType.defaultType;
|
|
74
|
+
}
|
|
67
75
|
if (!(nodeType === null || nodeType === void 0 ? void 0 : nodeType.isResolvable())) {
|
|
68
76
|
let symbolsSet;
|
|
69
77
|
if (!(assignedSymbolsNames === null || assignedSymbolsNames === void 0 ? void 0 : assignedSymbolsNames.has(typeChain[0].name.toLowerCase()))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AstValidationSegmenter.js","sourceRoot":"","sources":["../src/AstValidationSegmenter.ts"],"names":[],"mappings":";;;AACA,sDAA+Q;AAC/Q,kDAA+E;AAG/E,iCAA8B;AAK9B,iDAA8C;AAG9C,sCAAsC;AACzB,QAAA,qBAAqB,GAAG,mBAAQ,CAAC,eAAe,GAAG,mBAAQ,CAAC,gBAAgB,GAAG,mBAAQ,CAAC,qBAAqB,CAAC;AAgB3H,MAAa,sBAAsB;IAS/B,YAAmB,IAAa;QAAb,SAAI,GAAJ,IAAI,CAAS;QAPzB,sBAAiB,GAAG,IAAI,GAAG,EAAoB,CAAC;QAChD,0BAAqB,GAAG,IAAI,KAAK,EAAW,CAAC;QAC7C,6BAAwB,GAAG,IAAI,GAAG,EAAW,CAAC;QAC9C,8BAAyB,GAAG,IAAI,GAAG,EAAkC,CAAC;QACtE,4BAAuB,GAAG,IAAI,GAAG,EAAgC,CAAC;QAqGjE,sCAAiC,GAAqB,EAAE,CAAC;IAlG7B,CAAC;IAErC,KAAK;QACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;IACpC,CAAC;IAED,WAAW,CAAC,GAAY;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAClB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,EAAE;YACC,QAAQ,EAAE,mBAAQ,CAAC,eAAe;SACrC,CAAC,CAAC;IACP,CAAC;IAED,4BAA4B,CAAC,OAAgB,EAAE,UAAqE,EAAE,oBAAkC;QACpJ,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,gBAAgB,GAAG,UAAwB,CAAC;QAChD,OAAO,IAAA,kCAAqB,EAAC,gBAAgB,CAAC,EAAE;YAC5C,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC;SAC3C;QACD,IAAI,IAAA,iCAAoB,EAAC,gBAAgB,CAAC,EAAE;YACxC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5E,IAAI,mBAAmB,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,mBAAmB,KAAK,OAAO,CAAC,EAAE;gBAChG,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,IAAI,IAAA,6BAAgB,EAAC,UAAU,CAAC,IAAI,IAAA,+BAAkB,EAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC3E,OAAO,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,IAA0B,EAAE,oBAAoB,CAAC;gBACrH,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,KAA2B,EAAE,oBAAoB,CAAC,CAAC;SAC3H;QACD,IAAI,IAAA,6BAAgB,EAAC,UAAU,CAAC,EAAE;YAC9B,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,iCAAyB,EAAE,CAAC,CAAC;YACpF,IAAI,oBAAoB,CAAC,YAAY,EAAE,EAAE;gBACrC,OAAO,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;aACjE;SACJ;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAC/E,CAAC;IAEO,mBAAmB,CAAC,OAAgB,EAAE,UAAsB,EAAE,oBAAkC;;QACpG,MAAM,IAAI,GAAG,WAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,iCAAyB,CAAC,+BAAuB,CAAC;QACpG,IAAI,SAAS,GAAqB,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,EAAqB,CAAC;QACxC,MAAM,OAAO,GAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACrH,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,EAAE,CAAA,EAAE;YAC3B,IAAI,UAAiC,CAAC;YACtC,IAAI,CAAC,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA,EAAE;gBAC7D,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBAC9C,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;oBACzC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;iBAC3D;qBAAM;oBACH,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC5D;gBACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAE3C,IAAI,SAAS,CAAC,OAAO,IAAI,IAAA,6BAAgB,EAAC,SAAS,CAAC,YAAY,CAAC,EAAE;oBAC/D,yDAAyD;oBACzD,MAAM,cAAc,GAAG,EAAE,CAAC;oBAC1B,sCAAsC;oBACtC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,iCAAM,OAAO,KAAE,KAAK,EAAE,gEAAgD,EAAE,SAAS,EAAE,cAAc,IAAG,CAAC;oBACzI,SAAS,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC1D;gBACD,MAAM,iBAAiB,GAAG,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,yBAAyB,0CAAE,YAAY,EAAE,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,0CAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,mCAAI,EAAE,CAAC;gBAC1H,MAAM,aAAa,GAAG,MAAA,WAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,aAAa,0CAAE,WAAW,EAAE,CAAC;gBACpF,MAAM,kBAAkB,GAAG,EAAc,CAAC;gBAC1C,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,KAAK,MAAM,SAAS,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBAC9C,UAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBACzD,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACpC,IAAI,iBAAiB,EAAE;wBACnB,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC;qBACjE;iBACJ;gBAED,UAAU,CAAC,GAAG,CAAC;oBACX,SAAS,EAAE,SAAS;oBACpB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;oBAC9B,aAAa,EAAE,IAAI;oBACnB,oBAAoB,EAAE,MAAA,MAAA,IAAI,CAAC,yBAAyB,0CAAE,YAAY,EAAE,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACtF,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,kBAAkB;iBAC9B,CAAC,CAAC;aACN;YACD,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAOD,gBAAgB,CAAC,OAAgB;QAC7B,IAAI,IAAA,iCAAoB,EAAC,OAAO,CAAC,IAAI,IAAA,mBAAM,EAAC,OAAO,CAAC,EAAE;YAClD,uEAAuE;YACvE,OAAO;SACV;QACD,IAAI,IAAA,0CAA6B,EAAC,OAAO,CAAC,IAAI,IAAA,oBAAO,EAAC,OAAO,CAAC,EAAE;YAC5D,iFAAiF;YACjF,OAAO;SACV;QACD,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,iCAAoB,CAAC,CAAC;QAE5E,IAAI,IAAA,6BAAgB,EAAC,OAAO,CAAC,EAAE;YAC3B,IAAI,OAAO,CAAC,eAAe,EAAE;gBACzB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACzD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;gBAC3D,IAAI,wBAAwB,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;gBACnH,IAAI,CAAC,wBAAwB,EAAE;oBAC3B,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;iBAC9D;aACJ;YACD,OAAO;SACV;QACD,IAAI,IAAA,iCAAoB,EAAC,OAAO,CAAC,EAAE;YAC/B,IAAI,OAAO,CAAC,mBAAmB,EAAE;gBAC7B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;gBAC7D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;gBAC/D,IAAI,wBAAwB,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;gBAC3H,IAAI,CAAC,wBAAwB,EAAE;oBAC3B,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;iBAClE;aACJ;YACD,OAAO;SACV;QAGD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,wBAAwB,GAAG,KAAK,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,0BAAe,EAAE,CAAC;QACtC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/C,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,6BAAgB,CAAC,CAAC;QAEpE,IAAI,IAAA,gCAAmB,EAAC,OAAO,CAAC,EAAE;YAC9B,IAAI,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE;gBACvF,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;aAC1F;SACJ;QACD,IAAI,gCAAgD,CAAC;QACrD,IAAI,IAAI,CAAC,iCAAiC,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,gCAAgC,GAAG,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,iCAAiC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAChI;QAED,OAAO,CAAC,IAAI,CAAC,IAAA,wBAAa,EAAC;YACvB,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAS,CAAC,KAAK,EAAE;oBAC7C,2DAA2D;oBAC3D,eAAe,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7D,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;iBACjE;YACL,CAAC;YACD,2BAA2B,EAAE,CAAC,IAAI,EAAE,EAAE;gBAClC,eAAe,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,eAAe,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,MAAM,wBAAwB,GAAG,gCAAgC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;gBACjH,IAAI,wBAAwB,EAAE;oBAC1B,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;iBAEvE;qBAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;oBACvE,MAAM,sBAAsB,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;oBACtG,wBAAwB,GAAG,sBAAsB,IAAI,wBAAwB,CAAC;iBACjF;gBACD,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,CAAC;YACD,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,MAAM,sBAAsB,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;gBACtG,wBAAwB,GAAG,sBAAsB,IAAI,wBAAwB,CAAC;gBAC9E,IAAI,CAAC,wBAAwB,IAAI,gCAAgC,EAAE;oBAC/D,IAAI,gBAAgB,GAAe,IAAI,CAAC;oBACxC,OAAO,IAAA,kCAAqB,EAAC,gBAAgB,CAAC,EAAE;wBAC5C,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC;qBAC3C;oBACD,IAAI,IAAA,iCAAoB,EAAC,gBAAgB,CAAC,EAAE;wBACxC,MAAM,wBAAwB,GAAG,gCAAgC,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;wBAC7H,IAAI,wBAAwB,EAAE;4BAC1B,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;yBAChF;qBACJ;iBACJ;gBACD,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,CAAC;YACD,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrB,MAAM,sBAAsB,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;gBACtG,wBAAwB,GAAG,sBAAsB,IAAI,wBAAwB,CAAC;gBAC9E,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,CAAC;SACJ,CAAC,EAAE;YACA,QAAQ,EAAE,6BAAqB;YAC/B,YAAY,EAAE,OAAO;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC3D,IAAI,CAAC,wBAAwB,EAAE;YAC3B,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAC9C;QACD,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAC3C,CAAC;IAGO,4BAA4B,CAAC,OAAgB,EAAE,sBAAsC;;QACzF,MAAM,UAAU,GAAG,sBAAsB,CAAC;QAC1C,IAAI,IAAA,6BAAgB,EAAC,UAAU,CAAC,EAAE;YAC9B,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,iCAAyB,EAAE,CAAC,CAAC;YAEpF,IAAI,oBAAoB,CAAC,YAAY,EAAE,EAAE;gBACrC,MAAM,aAAa,GAAG,oBAAoB,CAAC,cAAc,EAAE,CAAC,aAAa,gCAAwB,CAAC;gBAClG,MAAM,iBAAiB,GAAgB,EAAE,CAAC;gBAC1C,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;oBACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;wBACnC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;qBACxC;iBACJ;gBACD,IAAI,WAAW,GAAG,KAAK,CAAC;gBACxB,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE;oBAC9C,IAAI,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,0CAAE,YAAY,EAAE;wBACtC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC;qBACtG;iBAEJ;gBACD,OAAO,WAAW,CAAC;aACtB;YACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACxD;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,yBAAyB;QACrB,MAAM,2BAA2B,GAAc,EAAE,CAAC;QAClD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9C,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACrC,SAAS;aACZ;YACD,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC7C;QACD,OAAO,2BAA2B,CAAC;IACvC,CAAC;IAED,6BAA6B,CAAC,cAAgD;QAC1E,MAAM,2BAA2B,GAAc,EAAE,CAAC;QAElD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9C,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACrC,SAAS;aACZ;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACpE,IAAI,eAAe,EAAE;gBACjB,IAAI,WAAI,CAAC,2BAA2B,CAAC,CAAC,GAAG,eAAe,CAAC,EAAE,cAAc,CAAC,EAAE;oBACxE,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC1C,SAAS;iBACZ;aACJ;SACJ;QACD,OAAO,2BAA2B,CAAC;IACvC,CAAC;IAED,sBAAsB,CAAC,OAAgB;QACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,qBAAqB;QACjB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE;YACjD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAC9C;IACL,CAAC;IAGD,sBAAsB;QAClB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE;YACrD,IAAI,CAAC,SAAS,EAAE;gBACZ,OAAO,IAAI,CAAC;aACf;SAEJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD,+BAA+B,CAAC,OAAgB,EAAE,cAAgD;QAC9F,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,+BAA+B,CAAC,UAAkB,EAAE,IAAoB;QACpE,KAAK,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,IAAI,CAAC,yBAAyB,EAAE;YACjE,KAAK,IAAI,gBAAgB,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE;gBACjD,IAAI,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,EAAE;oBACnE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC3C,MAAM;iBACT;aACJ;SACJ;IACL,CAAC;CACJ;AAhUD,wDAgUC"}
|
|
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
|
|
552
|
-
this.program.diagnostics.register(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.incompatibleSymbolDefinition(typeChainResult.fullChainName,
|
|
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":"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"}
|
|
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,
|
|
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
|
|
980
|
-
|
|
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,
|
|
973
|
-
message: `'${symbol}' is incompatible
|
|
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 = [];
|