brighterscript 1.0.0-alpha.40 → 1.0.0-alpha.42
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/CHANGELOG.md +67 -1
- package/dist/AstValidationSegmenter.d.ts +3 -0
- package/dist/AstValidationSegmenter.js +62 -2
- package/dist/AstValidationSegmenter.js.map +1 -1
- package/dist/BsConfig.d.ts +7 -7
- package/dist/CrossScopeValidator.js +3 -3
- package/dist/CrossScopeValidator.js.map +1 -1
- package/dist/DiagnosticFilterer.d.ts +5 -1
- package/dist/DiagnosticFilterer.js +92 -33
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticManager.js +12 -9
- package/dist/DiagnosticManager.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +374 -225
- package/dist/DiagnosticMessages.js +641 -424
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/DiagnosticSeverityAdjuster.js +4 -0
- package/dist/DiagnosticSeverityAdjuster.js.map +1 -1
- package/dist/LanguageServer.js +0 -7
- package/dist/LanguageServer.js.map +1 -1
- package/dist/PluginInterface.js +2 -0
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.d.ts +22 -1
- package/dist/Program.js +206 -49
- package/dist/Program.js.map +1 -1
- package/dist/SymbolTable.d.ts +3 -0
- package/dist/SymbolTable.js +19 -1
- package/dist/SymbolTable.js.map +1 -1
- package/dist/XmlScope.js +3 -6
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/creators.d.ts +35 -3
- package/dist/astUtils/creators.js +52 -1
- package/dist/astUtils/creators.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +4 -2
- package/dist/astUtils/reflection.js +12 -3
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +3 -2
- package/dist/astUtils/visitors.js +37 -14
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +172 -6
- package/dist/astUtils/visitors.spec.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +0 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +0 -13
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +2 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.js +5 -5
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +106 -2
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +51 -3
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.d.ts +1 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +149 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.js +15 -8
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +80 -9
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +9 -0
- package/dist/bscPlugin/validation/ScopeValidator.js +155 -79
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +1269 -35
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
- package/dist/bscPlugin/validation/XmlFileValidator.js +0 -8
- package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
- package/dist/diagnosticUtils.js +6 -5
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +87 -28
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +1 -0
- package/dist/files/BrsFile.js +20 -8
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +133 -34
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.js +2 -2
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +3 -20
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/globalCallables.js +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.js +24 -16
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +18 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.js +17 -11
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +21 -3
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +9 -0
- package/dist/lexer/TokenKind.js +11 -1
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/parser/AstNode.d.ts +2 -1
- package/dist/parser/AstNode.js +3 -2
- package/dist/parser/AstNode.js.map +1 -1
- package/dist/parser/Expression.d.ts +22 -2
- package/dist/parser/Expression.js +76 -48
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +3 -3
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.js +73 -61
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +198 -15
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGParser.js +9 -9
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/SGParser.spec.js +3 -2
- package/dist/parser/SGParser.spec.js.map +1 -1
- package/dist/parser/Statement.d.ts +16 -18
- package/dist/parser/Statement.js +136 -82
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/tests/controlFlow/If.spec.js +1 -1
- package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
- package/dist/parser/tests/expression/ArrayLiterals.spec.js +3 -3
- package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +3 -3
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/Call.spec.js +9 -9
- package/dist/parser/tests/expression/Call.spec.js.map +1 -1
- package/dist/parser/tests/expression/Indexing.spec.js +3 -3
- package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +353 -71
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/parser/tests/statement/Dim.spec.js +10 -3
- package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
- package/dist/parser/tests/statement/Enum.spec.js +2 -2
- package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
- package/dist/parser/tests/statement/Increment.spec.js +3 -5
- package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +3 -3
- package/dist/parser/tests/statement/TryCatch.spec.js +1 -1
- package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
- package/dist/roku-types/data.json +430 -235
- package/dist/roku-types/index.d.ts +30 -37
- package/dist/types/ArrayType.d.ts +2 -0
- package/dist/types/ArrayType.js +14 -4
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/AssociativeArrayType.d.ts +1 -0
- package/dist/types/AssociativeArrayType.js +1 -0
- package/dist/types/AssociativeArrayType.js.map +1 -1
- package/dist/types/BaseFunctionType.d.ts +1 -0
- package/dist/types/BaseFunctionType.js +1 -0
- package/dist/types/BaseFunctionType.js.map +1 -1
- package/dist/types/BooleanType.d.ts +1 -0
- package/dist/types/BooleanType.js +1 -0
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BscType.d.ts +8 -1
- package/dist/types/BscType.js +12 -3
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/BuiltInInterfaceAdder.js +10 -6
- package/dist/types/BuiltInInterfaceAdder.js.map +1 -1
- package/dist/types/ClassType.d.ts +1 -0
- package/dist/types/ClassType.js +5 -2
- package/dist/types/ClassType.js.map +1 -1
- package/dist/types/ComponentType.d.ts +11 -4
- package/dist/types/ComponentType.js +100 -8
- package/dist/types/ComponentType.js.map +1 -1
- package/dist/types/DoubleType.d.ts +2 -0
- package/dist/types/DoubleType.js +2 -0
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DynamicType.d.ts +1 -0
- package/dist/types/DynamicType.js +4 -0
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/EnumType.d.ts +2 -0
- package/dist/types/EnumType.js +20 -2
- package/dist/types/EnumType.js.map +1 -1
- package/dist/types/FloatType.d.ts +2 -0
- package/dist/types/FloatType.js +2 -0
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/InheritableType.d.ts +1 -0
- package/dist/types/InheritableType.js +14 -1
- package/dist/types/InheritableType.js.map +1 -1
- package/dist/types/IntegerType.d.ts +2 -0
- package/dist/types/IntegerType.js +2 -0
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/InterfaceType.js +4 -1
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/InvalidType.d.ts +2 -1
- package/dist/types/InvalidType.js +1 -0
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/LongIntegerType.d.ts +2 -0
- package/dist/types/LongIntegerType.js +2 -0
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/ObjectType.d.ts +1 -0
- package/dist/types/ObjectType.js +1 -0
- package/dist/types/ObjectType.js.map +1 -1
- package/dist/types/ReferenceType.d.ts +20 -2
- package/dist/types/ReferenceType.js +106 -5
- package/dist/types/ReferenceType.js.map +1 -1
- package/dist/types/StringType.d.ts +1 -0
- package/dist/types/StringType.js +1 -0
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/TypedFunctionType.d.ts +1 -1
- package/dist/types/TypedFunctionType.js +8 -2
- package/dist/types/TypedFunctionType.js.map +1 -1
- package/dist/types/UninitializedType.d.ts +2 -0
- package/dist/types/UninitializedType.js +5 -6
- package/dist/types/UninitializedType.js.map +1 -1
- package/dist/types/UnionType.js +8 -2
- package/dist/types/UnionType.js.map +1 -1
- package/dist/types/VoidType.d.ts +4 -1
- package/dist/types/VoidType.js +5 -0
- package/dist/types/VoidType.js.map +1 -1
- package/dist/types/helpers.js +8 -1
- package/dist/types/helpers.js.map +1 -1
- package/dist/util.d.ts +15 -5
- package/dist/util.js +281 -14
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.js +13 -5
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.diagnosticCodes = exports.DiagnosticCodeMap = exports.typeCompatibilityMessage = exports.defaultMaximumTruncationLength = exports.DiagnosticMessages = void 0;
|
|
3
|
+
exports.diagnosticCodes = exports.DiagnosticLegacyCodeMap = exports.DiagnosticCodeMap = 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");
|
|
7
|
+
exports.DiagnosticCodeRegex = /^[a-z](?:[a-z0-9]*(?:-[a-z0-9]+)*)*$/;
|
|
7
8
|
/**
|
|
8
9
|
* An object that keeps track of all possible error messages.
|
|
9
10
|
*/
|
|
@@ -11,8 +12,9 @@ exports.DiagnosticMessages = {
|
|
|
11
12
|
//this one won't be used much, we just need a catchall object for the code since we pass through the message from the parser
|
|
12
13
|
genericParserMessage: (message) => ({
|
|
13
14
|
message: message,
|
|
14
|
-
|
|
15
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
15
|
+
legacyCode: 1000,
|
|
16
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
17
|
+
code: 'generic-parser-message'
|
|
16
18
|
}),
|
|
17
19
|
/**
|
|
18
20
|
*
|
|
@@ -23,711 +25,907 @@ exports.DiagnosticMessages = {
|
|
|
23
25
|
*/
|
|
24
26
|
cannotFindName: (name, fullName, typeName, typeDescriptor = 'type') => ({
|
|
25
27
|
message: `Cannot find name '${name}'${typeName ? ` for ${typeDescriptor} '${typeName}'` : ''}`,
|
|
26
|
-
|
|
28
|
+
legacyCode: 1001,
|
|
27
29
|
data: {
|
|
28
30
|
name: name,
|
|
29
31
|
fullName: fullName !== null && fullName !== void 0 ? fullName : name,
|
|
30
32
|
typeName: typeName ? typeName : undefined
|
|
31
33
|
},
|
|
32
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
34
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
35
|
+
code: 'cannot-find-name'
|
|
33
36
|
}),
|
|
34
37
|
mismatchArgumentCount: (expectedCount, actualCount) => ({
|
|
35
38
|
message: `Expected ${expectedCount} arguments, but got ${actualCount}.`,
|
|
36
|
-
|
|
37
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
39
|
+
legacyCode: 1002,
|
|
40
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
41
|
+
code: 'incorrect-argument-count'
|
|
38
42
|
}),
|
|
39
43
|
duplicateFunctionImplementation: (functionName) => ({
|
|
40
44
|
message: `Duplicate function implementation for '${functionName}'.`,
|
|
41
|
-
|
|
42
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
45
|
+
legacyCode: 1003,
|
|
46
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
47
|
+
code: 'duplicate-function'
|
|
43
48
|
}),
|
|
44
49
|
referencedFileDoesNotExist: () => ({
|
|
45
50
|
message: `Referenced file does not exist.`,
|
|
46
|
-
|
|
47
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
51
|
+
legacyCode: 1004,
|
|
52
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
53
|
+
code: 'file-not-found'
|
|
48
54
|
}),
|
|
49
55
|
xmlComponentMissingComponentDeclaration: () => ({
|
|
50
56
|
message: `Missing a component declaration.`,
|
|
51
|
-
|
|
52
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
57
|
+
legacyCode: 1005,
|
|
58
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
59
|
+
code: 'missing-component-element'
|
|
53
60
|
}),
|
|
54
61
|
xmlComponentMissingNameAttribute: () => ({
|
|
55
62
|
message: `Component must have a name attribute.`,
|
|
56
|
-
|
|
57
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
63
|
+
legacyCode: 1006,
|
|
64
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
65
|
+
code: 'missing-name-attribute'
|
|
58
66
|
}),
|
|
59
67
|
xmlComponentMissingExtendsAttribute: () => ({
|
|
60
68
|
message: `Component is mising "extends" attribute and will automatically extend "Group" by default`,
|
|
61
|
-
|
|
62
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
69
|
+
legacyCode: 1007,
|
|
70
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
71
|
+
code: 'missing-extends-attribute'
|
|
63
72
|
}),
|
|
64
|
-
|
|
73
|
+
syntaxError: (message) => ({
|
|
65
74
|
//generic catchall xml parse error
|
|
66
75
|
message: message,
|
|
67
|
-
|
|
68
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
76
|
+
legacyCode: 1008,
|
|
77
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
78
|
+
code: 'syntax-error'
|
|
69
79
|
}),
|
|
70
80
|
unnecessaryScriptImportInChildFromParent: (parentComponentName) => ({
|
|
71
81
|
message: `Unnecessary script import: Script is already imported in ancestor component '${parentComponentName}'.`,
|
|
72
|
-
|
|
73
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
82
|
+
legacyCode: 1009,
|
|
83
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
84
|
+
code: 'redundant-import'
|
|
74
85
|
}),
|
|
75
86
|
overridesAncestorFunction: (callableName, currentScopeName, parentFilePath, parentScopeName) => ({
|
|
76
87
|
message: `Function '${callableName}' included in '${currentScopeName}' overrides function in '${parentFilePath}' included in '${parentScopeName}'.`,
|
|
77
|
-
|
|
78
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Hint
|
|
88
|
+
legacyCode: 1010,
|
|
89
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Hint,
|
|
90
|
+
code: 'overrides-ancestor-function'
|
|
79
91
|
}),
|
|
80
92
|
localVarFunctionShadowsParentFunction: (scopeName) => ({
|
|
81
93
|
message: `Local variable function has same name as ${scopeName} function and will never be called.`,
|
|
82
|
-
|
|
83
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
94
|
+
legacyCode: 1011,
|
|
95
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
96
|
+
code: 'variable-shadows-function'
|
|
84
97
|
}),
|
|
85
98
|
scriptImportCaseMismatch: (correctFilePath) => ({
|
|
86
99
|
message: `Script import path does not match casing of actual file path '${correctFilePath}'.`,
|
|
87
|
-
|
|
88
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
100
|
+
legacyCode: 1012,
|
|
101
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
102
|
+
code: 'import-case-mismatch'
|
|
89
103
|
}),
|
|
90
104
|
fileNotReferencedByAnyOtherFile: () => ({
|
|
91
105
|
message: `This file is not referenced by any other file in the project.`,
|
|
92
|
-
|
|
93
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
106
|
+
legacyCode: 1013,
|
|
107
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
108
|
+
code: 'file-not-referenced'
|
|
94
109
|
}),
|
|
95
110
|
unknownDiagnosticCode: (theUnknownCode) => ({
|
|
96
111
|
message: `Unknown diagnostic code ${theUnknownCode}`,
|
|
97
|
-
|
|
98
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
112
|
+
legacyCode: 1014,
|
|
113
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
114
|
+
code: 'unknown-diagnostic-code'
|
|
99
115
|
}),
|
|
100
116
|
scriptSrcCannotBeEmpty: () => ({
|
|
101
117
|
message: `Script import cannot be empty or whitespace`,
|
|
102
|
-
|
|
103
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
104
|
-
|
|
105
|
-
expectedIdentifierAfterKeyword: (keywordText) => ({
|
|
106
|
-
message: `Expected identifier after '${keywordText}' keyword`,
|
|
107
|
-
code: 1016,
|
|
108
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
118
|
+
legacyCode: 1015,
|
|
119
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
120
|
+
code: 'invalid-import-path'
|
|
109
121
|
}),
|
|
122
|
+
expectedIdentifier: (preceedingTokenText) => {
|
|
123
|
+
let message = `Expected identifier`;
|
|
124
|
+
if (preceedingTokenText) {
|
|
125
|
+
message += ` after '${preceedingTokenText}'`;
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
message: message,
|
|
129
|
+
legacyCode: 1016,
|
|
130
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
131
|
+
code: 'expected-identifier'
|
|
132
|
+
};
|
|
133
|
+
},
|
|
110
134
|
missingCallableKeyword: () => ({
|
|
111
|
-
message: `Expected 'function' or 'sub' to
|
|
112
|
-
|
|
113
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
135
|
+
message: `Expected 'function' or 'sub' to precede identifier`,
|
|
136
|
+
legacyCode: 1017,
|
|
137
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
138
|
+
code: 'expected-leading-keyword'
|
|
114
139
|
}),
|
|
115
|
-
|
|
140
|
+
__unused12: () => ({
|
|
116
141
|
message: `Expected valid type to follow 'as' keyword`,
|
|
117
|
-
|
|
118
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
142
|
+
legacyCode: 1018,
|
|
143
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
144
|
+
code: 'expected-valid-type'
|
|
119
145
|
}),
|
|
120
146
|
bsFeatureNotSupportedInBrsFiles: (featureName) => ({
|
|
121
147
|
message: `BrighterScript feature '${featureName}' is not supported in standard BrightScript files`,
|
|
122
|
-
|
|
123
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
148
|
+
legacyCode: 1019,
|
|
149
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
150
|
+
code: 'bs-feature-not-supported'
|
|
124
151
|
}),
|
|
125
|
-
|
|
152
|
+
__ununsed12: () => ({
|
|
126
153
|
message: `'brsconfig.json' is deprecated. Please rename to 'bsconfig.json'`,
|
|
127
|
-
|
|
128
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
154
|
+
legacyCode: 1020,
|
|
155
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
156
|
+
code: 'brsconfig-deprecated'
|
|
129
157
|
}),
|
|
130
158
|
bsConfigJsonHasSyntaxErrors: (message) => ({
|
|
131
159
|
message: `Encountered syntax errors in bsconfig.json: ${message}`,
|
|
132
|
-
|
|
133
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
134
|
-
|
|
135
|
-
itemIsDeprecated: () => ({
|
|
136
|
-
message: `Item is deprecated`,
|
|
137
|
-
code: 1022,
|
|
138
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Hint
|
|
160
|
+
legacyCode: 1021,
|
|
161
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
162
|
+
code: 'bsconfig-syntax-errors'
|
|
139
163
|
}),
|
|
164
|
+
itemIsDeprecated: (itemName, deprecatedDescription) => {
|
|
165
|
+
itemName !== null && itemName !== void 0 ? itemName : (itemName = 'Item');
|
|
166
|
+
return {
|
|
167
|
+
message: `${itemName} has been deprecated${deprecatedDescription ? ': ' + deprecatedDescription : ''} `,
|
|
168
|
+
legacyCode: 1022,
|
|
169
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Hint,
|
|
170
|
+
code: 'item-deprecated'
|
|
171
|
+
};
|
|
172
|
+
},
|
|
140
173
|
cannotUseOverrideKeywordOnConstructorFunction: () => ({
|
|
141
174
|
message: 'Override keyword is not allowed on class constructor method',
|
|
142
|
-
|
|
143
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
175
|
+
legacyCode: 1023,
|
|
176
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
177
|
+
code: 'override-keyword-on-constructor'
|
|
144
178
|
}),
|
|
145
|
-
|
|
146
|
-
message: `'${statementKeyword}' statement must be declared
|
|
147
|
-
|
|
148
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
179
|
+
unexpectedStatementLocation: (statementKeyword, locationText) => ({
|
|
180
|
+
message: `'${statementKeyword}' statement must be declared ${locationText}`,
|
|
181
|
+
legacyCode: 1024,
|
|
182
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
183
|
+
code: 'unexpected-statement-location'
|
|
149
184
|
}),
|
|
150
|
-
|
|
185
|
+
__unused8: (methodName, className) => ({
|
|
151
186
|
message: `Method '${methodName}' does not exist on type '${className}'`,
|
|
152
|
-
|
|
187
|
+
legacyCode: 1025,
|
|
153
188
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
154
189
|
}),
|
|
155
190
|
duplicateIdentifier: (memberName) => ({
|
|
156
191
|
message: `Duplicate identifier '${memberName}'`,
|
|
157
|
-
|
|
158
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
192
|
+
legacyCode: 1026,
|
|
193
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
194
|
+
code: 'duplicate-identifier'
|
|
159
195
|
}),
|
|
160
196
|
missingOverrideKeyword: (ancestorClassName) => ({
|
|
161
197
|
message: `Method has no override keyword but is declared in ancestor class '${ancestorClassName}'`,
|
|
162
|
-
|
|
163
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
198
|
+
legacyCode: 1027,
|
|
199
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
200
|
+
code: 'missing-override-keyword'
|
|
164
201
|
}),
|
|
165
202
|
nameCollision: (thisThingKind, thatThingKind, thatThingName) => ({
|
|
166
203
|
message: `${thisThingKind} has same name as ${thatThingKind} '${thatThingName}'`,
|
|
167
|
-
|
|
168
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
204
|
+
legacyCode: 1028,
|
|
205
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
206
|
+
code: 'name-collision'
|
|
169
207
|
}),
|
|
170
|
-
|
|
208
|
+
__unused9: (className, scopeName) => ({
|
|
171
209
|
message: `Class '${className}' could not be found when this file is included in scope '${scopeName}'`,
|
|
172
|
-
|
|
210
|
+
legacyCode: 1029,
|
|
173
211
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
174
212
|
data: {
|
|
175
213
|
className: className
|
|
176
214
|
}
|
|
177
215
|
}),
|
|
178
|
-
|
|
216
|
+
__unused27: () => ({
|
|
179
217
|
message: `Expected identifier in class body`,
|
|
180
|
-
|
|
181
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
218
|
+
legacyCode: 1030,
|
|
219
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
220
|
+
code: 'expected-identifier-in-body'
|
|
182
221
|
}),
|
|
183
222
|
expressionIsNotConstructable: (expressionType) => ({
|
|
184
223
|
message: `Cannot use the 'new' keyword here because '${expressionType}' is not a constructable type`,
|
|
185
|
-
|
|
186
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
224
|
+
legacyCode: 1031,
|
|
225
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
226
|
+
code: 'not-constructable'
|
|
187
227
|
}),
|
|
188
228
|
expectedKeyword: (kind) => ({
|
|
189
229
|
message: `Expected '${kind}' keyword`,
|
|
190
|
-
|
|
191
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
230
|
+
legacyCode: 1032,
|
|
231
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
232
|
+
code: 'expected-keyword'
|
|
192
233
|
}),
|
|
193
|
-
|
|
234
|
+
__unused28: (callableType) => ({
|
|
194
235
|
message: `Expected '(' after ${callableType}`,
|
|
195
|
-
|
|
196
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
236
|
+
legacyCode: 1033,
|
|
237
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
238
|
+
code: 'expected-left-paren-after-callable'
|
|
197
239
|
}),
|
|
198
|
-
|
|
240
|
+
__unused29: (callableType) => ({
|
|
199
241
|
message: `Expected ${callableType} name after '${callableType}' keyword`,
|
|
200
|
-
|
|
201
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
242
|
+
legacyCode: 1034,
|
|
243
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
244
|
+
code: 'expected-name-after-callable'
|
|
202
245
|
}),
|
|
203
|
-
|
|
246
|
+
__unused30: (callableType) => ({
|
|
204
247
|
message: `Expected '(' after ${callableType} name`,
|
|
205
|
-
|
|
206
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
248
|
+
legacyCode: 1035,
|
|
249
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
250
|
+
code: 'expected-left-paren-after-callable-name'
|
|
207
251
|
}),
|
|
208
252
|
tooManyCallableParameters: (actual, max) => ({
|
|
209
253
|
message: `Cannot have more than ${max} parameters but found ${actual})`,
|
|
210
|
-
|
|
211
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
254
|
+
legacyCode: 1036,
|
|
255
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
256
|
+
code: 'exceeds-max-parameter-count'
|
|
212
257
|
}),
|
|
213
258
|
__unused: (typeText) => ({
|
|
214
259
|
message: `Function return type '${typeText}' is invalid`,
|
|
215
|
-
|
|
260
|
+
legacyCode: 1037,
|
|
216
261
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
217
262
|
}),
|
|
218
263
|
requiredParameterMayNotFollowOptionalParameter: (parameterName) => ({
|
|
219
264
|
message: `Required parameter '${parameterName}' must be declared before any optional parameters`,
|
|
220
|
-
|
|
221
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
265
|
+
legacyCode: 1038,
|
|
266
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
267
|
+
code: 'required-parameter-before-optional'
|
|
222
268
|
}),
|
|
223
269
|
expectedNewlineOrColon: () => ({
|
|
224
270
|
message: `Expected newline or ':' at the end of a statement`,
|
|
225
|
-
|
|
226
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
271
|
+
legacyCode: 1039,
|
|
272
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
273
|
+
code: 'expected-statement-separator'
|
|
227
274
|
}),
|
|
228
|
-
|
|
229
|
-
message:
|
|
230
|
-
|
|
231
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
275
|
+
invalidIdentifier: (name, character) => ({
|
|
276
|
+
message: `Identifier '${name}' may not contain the character '${character}'`,
|
|
277
|
+
legacyCode: 1040,
|
|
278
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
279
|
+
code: 'invalid-identifier'
|
|
232
280
|
}),
|
|
233
|
-
|
|
281
|
+
__unused31: (callableType) => ({
|
|
234
282
|
message: `Expected 'end ${callableType}' to terminate ${callableType} block`,
|
|
235
|
-
|
|
236
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
237
|
-
|
|
238
|
-
mismatchedEndCallableKeyword: (expectedCallableType, actualCallableType) => ({
|
|
239
|
-
message: `Expected 'end ${expectedCallableType === null || expectedCallableType === void 0 ? void 0 : expectedCallableType.replace(/^end\s*/, '')}' to terminate ${expectedCallableType} block but found 'end ${actualCallableType === null || actualCallableType === void 0 ? void 0 : actualCallableType.replace(/^end\s*/, '')}' instead.`,
|
|
240
|
-
code: 1042,
|
|
241
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
283
|
+
legacyCode: 1041,
|
|
284
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
285
|
+
code: 'closing-keyword-mismatch'
|
|
242
286
|
}),
|
|
287
|
+
closingKeywordMismatch: (expectedCallableType, actualCallableType) => {
|
|
288
|
+
let message = `Expected 'end ${expectedCallableType === null || expectedCallableType === void 0 ? void 0 : expectedCallableType.replace(/^end\s*/, '')}' to terminate ${expectedCallableType} block`;
|
|
289
|
+
if (actualCallableType) {
|
|
290
|
+
message += ` but found 'end ${actualCallableType === null || actualCallableType === void 0 ? void 0 : actualCallableType.replace(/^end\s*/, '')}' instead.`;
|
|
291
|
+
}
|
|
292
|
+
return {
|
|
293
|
+
message: message,
|
|
294
|
+
legacyCode: 1042,
|
|
295
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
296
|
+
code: 'closing-keyword'
|
|
297
|
+
};
|
|
298
|
+
},
|
|
243
299
|
expectedParameterNameButFound: (text) => ({
|
|
244
300
|
message: `Expected parameter name, but found '${text !== null && text !== void 0 ? text : ''}'`,
|
|
245
|
-
|
|
246
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
301
|
+
legacyCode: 1043,
|
|
302
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
303
|
+
code: 'expected-parameter-name'
|
|
247
304
|
}),
|
|
248
305
|
__unused2: (parameterName, typeText) => ({
|
|
249
306
|
message: `Function parameter '${parameterName}' is of invalid type '${typeText}'`,
|
|
250
|
-
|
|
307
|
+
legacyCode: 1044,
|
|
251
308
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
252
309
|
}),
|
|
253
310
|
cannotUseReservedWordAsIdentifier: (name) => ({
|
|
254
311
|
message: `Cannot use reserved word '${name}' as an identifier`,
|
|
255
|
-
|
|
256
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
312
|
+
legacyCode: 1045,
|
|
313
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
314
|
+
code: 'cannot-use-reserved-word'
|
|
257
315
|
}),
|
|
258
|
-
|
|
316
|
+
expectedOperator: (operators, name) => {
|
|
259
317
|
operators = Array.isArray(operators) ? operators : [];
|
|
318
|
+
let message = `Expected operator ('${operators.join(`', '`)}')`;
|
|
319
|
+
if (name) {
|
|
320
|
+
message += ` after idenfifier '${name}'`;
|
|
321
|
+
}
|
|
260
322
|
return {
|
|
261
|
-
message:
|
|
262
|
-
|
|
263
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
323
|
+
message: message,
|
|
324
|
+
legacyCode: 1046,
|
|
325
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
326
|
+
code: 'expected-operator'
|
|
264
327
|
};
|
|
265
328
|
},
|
|
266
329
|
expectedInlineIfStatement: () => ({
|
|
267
330
|
message: `If/else statement within an inline if should be also inline`,
|
|
268
|
-
|
|
269
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
331
|
+
legacyCode: 1047,
|
|
332
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
333
|
+
code: 'malformed-inline-if'
|
|
270
334
|
}),
|
|
271
335
|
expectedFinalNewline: () => ({
|
|
272
336
|
message: `Expected newline at the end of an inline if statement`,
|
|
273
|
-
|
|
274
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
337
|
+
legacyCode: 1048,
|
|
338
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
339
|
+
code: 'expected-final-newline'
|
|
275
340
|
}),
|
|
276
341
|
couldNotFindMatchingEndKeyword: (keyword) => ({
|
|
277
342
|
message: `Could not find matching 'end ${keyword}'`,
|
|
278
|
-
|
|
279
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
343
|
+
legacyCode: 1049,
|
|
344
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
345
|
+
code: 'expected-end-keyword'
|
|
280
346
|
}),
|
|
281
347
|
expectedCatchBlockInTryCatch: () => ({
|
|
282
348
|
message: `Expected 'catch' block in 'try' statement`,
|
|
283
|
-
|
|
284
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
349
|
+
legacyCode: 1050,
|
|
350
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
351
|
+
code: 'expected-catch'
|
|
285
352
|
}),
|
|
286
|
-
expectedEndForOrNextToTerminateForLoop: () => ({
|
|
287
|
-
message: `Expected 'end for' or 'next' to terminate '
|
|
288
|
-
|
|
289
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
353
|
+
expectedEndForOrNextToTerminateForLoop: (forLoopNameText = TokenKind_1.TokenKind.For) => ({
|
|
354
|
+
message: `Expected 'end for' or 'next' to terminate '${forLoopNameText}' loop`,
|
|
355
|
+
legacyCode: 1051,
|
|
356
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
357
|
+
code: 'expected-loop-terminator'
|
|
290
358
|
}),
|
|
291
|
-
|
|
359
|
+
__unused32: (name) => ({
|
|
292
360
|
message: `Expected 'in' after 'for each ${name}'`,
|
|
293
|
-
|
|
294
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
361
|
+
legacyCode: 1052,
|
|
362
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
363
|
+
code: 'expected-in-for-each'
|
|
295
364
|
}),
|
|
296
365
|
expectedExpressionAfterForEachIn: () => ({
|
|
297
366
|
message: `Expected expression after 'in' keyword from 'for each' statement`,
|
|
298
|
-
|
|
299
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
367
|
+
legacyCode: 1053,
|
|
368
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
369
|
+
code: 'expected-loop-expression'
|
|
300
370
|
}),
|
|
301
371
|
unexpectedColonBeforeIfStatement: () => ({
|
|
302
372
|
message: `Colon before 'if' statement is not allowed`,
|
|
303
|
-
|
|
304
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
373
|
+
legacyCode: 1054,
|
|
374
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
375
|
+
code: 'unexpected-leading-colon'
|
|
305
376
|
}),
|
|
306
377
|
expectedStringLiteralAfterKeyword: (keyword) => ({
|
|
307
|
-
message: `
|
|
308
|
-
|
|
309
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
378
|
+
message: `Expected string literal after '${keyword}' keyword`,
|
|
379
|
+
legacyCode: 1055,
|
|
380
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
381
|
+
code: 'expected-string-literal'
|
|
310
382
|
}),
|
|
311
383
|
keywordMustBeDeclaredAtRootLevel: (keyword) => ({
|
|
312
384
|
message: `${keyword} must be declared at the root level`,
|
|
313
|
-
|
|
314
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
385
|
+
legacyCode: 1056,
|
|
386
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
387
|
+
code: 'keyword-must-be-root-level'
|
|
315
388
|
}),
|
|
316
389
|
__unused5: () => ({
|
|
317
390
|
message: `'library' statement must be declared at the top of the file`,
|
|
318
|
-
|
|
391
|
+
legacyCode: 1057,
|
|
319
392
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
320
393
|
}),
|
|
321
|
-
|
|
394
|
+
expectedTerminator: (expectedTerminators, statementType, blockDescriptor = 'statement') => ({
|
|
395
|
+
message: `Expected ${getPossibilitiesString(expectedTerminators)} to terminate '${statementType}' ${blockDescriptor}`,
|
|
396
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
397
|
+
code: 'expected-terminator'
|
|
398
|
+
}),
|
|
399
|
+
__unused14: () => ({
|
|
322
400
|
message: `Expected 'end if', 'else if', or 'else' to terminate 'then' block`,
|
|
323
|
-
|
|
324
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
401
|
+
legacyCode: 1058,
|
|
402
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
403
|
+
code: 'expected-terminator-on-then'
|
|
325
404
|
}),
|
|
326
|
-
|
|
405
|
+
__unused15: () => ({
|
|
327
406
|
message: `Expected 'end try' to terminate 'try-catch' statement`,
|
|
328
|
-
|
|
329
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
407
|
+
legacyCode: 1059,
|
|
408
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
409
|
+
code: 'expected-terminator-on-try-catch'
|
|
330
410
|
}),
|
|
331
|
-
|
|
332
|
-
message: `Expected 'end if' to close 'if' statement started at ${(startingPosition === null || startingPosition === void 0 ? void 0 : startingPosition.line) + 1}:${(startingPosition === null || startingPosition === void 0 ? void 0 : startingPosition.character) + 1}`,
|
|
333
|
-
|
|
334
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
411
|
+
__unused16: (startingPosition) => ({
|
|
412
|
+
message: `Expected 'end if' to close 'if' statement started at ${(startingPosition === null || startingPosition === void 0 ? void 0 : startingPosition.line) + 1}:${(startingPosition === null || startingPosition === void 0 ? void 0 : startingPosition.character) + 1} `,
|
|
413
|
+
legacyCode: 1060,
|
|
414
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
415
|
+
code: 'expected-terminator-on-if'
|
|
335
416
|
}),
|
|
336
|
-
|
|
417
|
+
expectedStatement: (conditionType, extraDetail) => {
|
|
418
|
+
let message = 'Expected statement';
|
|
419
|
+
if (conditionType) {
|
|
420
|
+
message += ` to follow '${conditionType === null || conditionType === void 0 ? void 0 : conditionType.toLowerCase()}'`;
|
|
421
|
+
}
|
|
422
|
+
if (extraDetail) {
|
|
423
|
+
message += ` ${extraDetail}`;
|
|
424
|
+
}
|
|
425
|
+
return {
|
|
426
|
+
message: message,
|
|
427
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
428
|
+
code: 'expected-statement'
|
|
429
|
+
};
|
|
430
|
+
},
|
|
431
|
+
__unused18: (conditionType) => ({
|
|
337
432
|
message: `Expected a statement to follow '${conditionType === null || conditionType === void 0 ? void 0 : conditionType.toLowerCase()} ...condition... then'`,
|
|
338
|
-
|
|
339
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
433
|
+
legacyCode: 1061,
|
|
434
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
435
|
+
code: 'expected-statement-after-conditional'
|
|
340
436
|
}),
|
|
341
|
-
|
|
437
|
+
__unused19: () => ({
|
|
342
438
|
message: `Expected a statement to follow 'else'`,
|
|
343
|
-
|
|
344
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
439
|
+
legacyCode: 1062,
|
|
440
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
441
|
+
code: 'expected-statement-after-else'
|
|
345
442
|
}),
|
|
346
|
-
|
|
347
|
-
message: `
|
|
348
|
-
|
|
349
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
443
|
+
unexpectedOperator: () => ({
|
|
444
|
+
message: `Unexpected operator`,
|
|
445
|
+
legacyCode: 1063,
|
|
446
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
447
|
+
code: 'unexpected-operator'
|
|
350
448
|
}),
|
|
351
|
-
|
|
352
|
-
message:
|
|
353
|
-
|
|
354
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
449
|
+
__unused13: () => ({
|
|
450
|
+
message: `Increment / decrement operators are not allowed on function calls`,
|
|
451
|
+
legacyCode: 1064,
|
|
452
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
453
|
+
code: 'increment-decrement-on-function-call'
|
|
355
454
|
}),
|
|
356
455
|
xmlUnexpectedTag: (tagName) => ({
|
|
357
456
|
message: `Unexpected tag '${tagName}'`,
|
|
358
|
-
|
|
359
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
457
|
+
legacyCode: 1065,
|
|
458
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
459
|
+
code: 'unexpected-tag'
|
|
360
460
|
}),
|
|
361
|
-
|
|
461
|
+
__unused20: () => ({
|
|
362
462
|
message: `Expected statement or function call but instead found expression`,
|
|
363
|
-
|
|
364
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
463
|
+
legacyCode: 1066,
|
|
464
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
465
|
+
code: 'expected-statement-not-expression'
|
|
365
466
|
}),
|
|
366
467
|
xmlFunctionNotFound: (name) => ({
|
|
367
468
|
message: `Cannot find function with name '${name}' in component scope`,
|
|
368
|
-
|
|
369
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
469
|
+
legacyCode: 1067,
|
|
470
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
471
|
+
code: 'function-not-found'
|
|
370
472
|
}),
|
|
371
473
|
xmlInvalidFieldType: (name) => ({
|
|
372
474
|
message: `Invalid field type ${name}`,
|
|
373
|
-
|
|
374
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
475
|
+
legacyCode: 1068,
|
|
476
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
477
|
+
code: 'invalid-field-type'
|
|
375
478
|
}),
|
|
376
479
|
xmlUnexpectedChildren: (tagName) => ({
|
|
377
480
|
message: `Tag '${tagName}' should not have children`,
|
|
378
|
-
|
|
379
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
481
|
+
legacyCode: 1069,
|
|
482
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
483
|
+
code: 'unexpected-children'
|
|
380
484
|
}),
|
|
381
485
|
xmlTagMissingAttribute: (tagName, attrName) => ({
|
|
382
486
|
message: `Tag '${tagName}' must have a '${attrName}' attribute`,
|
|
383
|
-
|
|
384
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
487
|
+
legacyCode: 1070,
|
|
488
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
489
|
+
code: 'expected-attribute'
|
|
385
490
|
}),
|
|
386
491
|
expectedLabelIdentifierAfterGotoKeyword: () => ({
|
|
387
492
|
message: `Expected label identifier after 'goto' keyword`,
|
|
388
|
-
|
|
389
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
493
|
+
legacyCode: 1071,
|
|
494
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
495
|
+
code: 'expected-label'
|
|
390
496
|
}),
|
|
391
|
-
|
|
497
|
+
__unused26: () => ({
|
|
392
498
|
message: `Expected ']' after array or object index`,
|
|
393
|
-
|
|
394
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
499
|
+
legacyCode: 1072,
|
|
500
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
501
|
+
code: 'expected-right-brace'
|
|
395
502
|
}),
|
|
396
|
-
|
|
503
|
+
__unused21: () => ({
|
|
397
504
|
message: `Expected property name after '.'`,
|
|
398
|
-
|
|
399
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
505
|
+
legacyCode: 1073,
|
|
506
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
507
|
+
code: 'expected-property-name'
|
|
400
508
|
}),
|
|
401
509
|
tooManyCallableArguments: (actual, max) => ({
|
|
402
|
-
message: `Cannot have more than ${max} arguments but found ${actual}`,
|
|
403
|
-
|
|
404
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
405
|
-
|
|
406
|
-
expectedRightParenAfterFunctionCallArguments: () => ({
|
|
407
|
-
message: `Expected ')' after function call arguments`,
|
|
408
|
-
code: 1075,
|
|
409
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
510
|
+
message: `Cannot have more than ${max} arguments but found ${actual} `,
|
|
511
|
+
legacyCode: 1074,
|
|
512
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
513
|
+
code: 'exceeds-max-argument-count'
|
|
410
514
|
}),
|
|
411
|
-
|
|
515
|
+
/**
|
|
516
|
+
* @param unmatchedToken Should be one of '(', '[', or '{'
|
|
517
|
+
* @param afterDetail any additional message to describe what came before the unmatched token
|
|
518
|
+
*/
|
|
519
|
+
unmatchedLeftToken: (unmatchedToken, afterDetail = '') => {
|
|
520
|
+
let matchingToken = '';
|
|
521
|
+
switch (unmatchedToken) {
|
|
522
|
+
case '(':
|
|
523
|
+
matchingToken = ')';
|
|
524
|
+
break;
|
|
525
|
+
case '[':
|
|
526
|
+
matchingToken = ']';
|
|
527
|
+
break;
|
|
528
|
+
case '{':
|
|
529
|
+
matchingToken = '}';
|
|
530
|
+
break;
|
|
531
|
+
}
|
|
532
|
+
let message = `Unmatched '${unmatchedToken}'`;
|
|
533
|
+
if (matchingToken) {
|
|
534
|
+
message += `: expected '${matchingToken}'`;
|
|
535
|
+
}
|
|
536
|
+
if (afterDetail) {
|
|
537
|
+
message += ` after ${afterDetail}`;
|
|
538
|
+
}
|
|
539
|
+
return {
|
|
540
|
+
message: message,
|
|
541
|
+
legacyCode: 1075,
|
|
542
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
543
|
+
code: 'unmatched-left-token'
|
|
544
|
+
};
|
|
545
|
+
},
|
|
546
|
+
__unused23: () => ({
|
|
412
547
|
message: `Unmatched '(': expected ')' after expression`,
|
|
413
|
-
|
|
414
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
548
|
+
legacyCode: 1076,
|
|
549
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
550
|
+
code: 'unmatched-left-paren'
|
|
415
551
|
}),
|
|
416
|
-
|
|
552
|
+
__unused24: () => ({
|
|
417
553
|
message: `Unmatched '[': expected ']' after array literal`,
|
|
418
|
-
|
|
419
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
554
|
+
legacyCode: 1077,
|
|
555
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
556
|
+
code: 'unmatched-left-brace'
|
|
420
557
|
}),
|
|
421
558
|
unexpectedAAKey: () => ({
|
|
422
559
|
message: `Expected identifier or string as associative array key`,
|
|
423
|
-
|
|
424
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
560
|
+
legacyCode: 1078,
|
|
561
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
562
|
+
code: 'invalid-aa-key'
|
|
425
563
|
}),
|
|
426
564
|
expectedColonBetweenAAKeyAndvalue: () => ({
|
|
427
565
|
message: `Expected ':' between associative array key and value`,
|
|
428
|
-
|
|
429
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
566
|
+
legacyCode: 1079,
|
|
567
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
568
|
+
code: 'expected-aa-separator'
|
|
430
569
|
}),
|
|
431
|
-
|
|
570
|
+
__unused25: () => ({
|
|
432
571
|
message: `Unmatched '{': expected '}' after associative array literal`,
|
|
433
|
-
|
|
434
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
572
|
+
legacyCode: 1080,
|
|
573
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
574
|
+
code: 'unmatched-left-curly'
|
|
435
575
|
}),
|
|
436
576
|
unexpectedToken: (text) => ({
|
|
437
577
|
message: `Unexpected token '${text}'`,
|
|
438
|
-
|
|
439
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
578
|
+
legacyCode: 1081,
|
|
579
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
580
|
+
code: 'unexpected-token'
|
|
440
581
|
}),
|
|
441
582
|
/**
|
|
442
583
|
* Used in the lexer anytime we encounter an unsupported character
|
|
443
584
|
*/
|
|
444
585
|
unexpectedCharacter: (text) => ({
|
|
445
|
-
message: `Unexpected character '${text}'
|
|
446
|
-
|
|
447
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
586
|
+
message: `Unexpected character '${text}'(char code ${text === null || text === void 0 ? void 0 : text.charCodeAt(0)})`,
|
|
587
|
+
legacyCode: 1082,
|
|
588
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
589
|
+
code: 'unexpected-character'
|
|
448
590
|
}),
|
|
449
|
-
|
|
450
|
-
message: `Unterminated string
|
|
451
|
-
|
|
452
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
591
|
+
unterminatedString: () => ({
|
|
592
|
+
message: `Unterminated string literal`,
|
|
593
|
+
legacyCode: 1083,
|
|
594
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
595
|
+
code: 'unterminated-string'
|
|
453
596
|
}),
|
|
454
|
-
|
|
597
|
+
__unused33: () => ({
|
|
455
598
|
message: `Unterminated string at end of file`,
|
|
456
|
-
|
|
457
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
599
|
+
legacyCode: 1084,
|
|
600
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
601
|
+
code: 'unterminated-string-at-end-of-file'
|
|
458
602
|
}),
|
|
459
|
-
|
|
603
|
+
__unused44: () => ({
|
|
460
604
|
message: `Fractional hex literals are not supported`,
|
|
461
|
-
|
|
462
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
605
|
+
legacyCode: 1085,
|
|
606
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
607
|
+
code: 'fractional-hex-literal'
|
|
463
608
|
}),
|
|
464
609
|
unexpectedConditionalCompilationString: () => ({
|
|
465
|
-
message: `
|
|
466
|
-
|
|
467
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
610
|
+
message: `Unknown conditional compile keyword`,
|
|
611
|
+
legacyCode: 1086,
|
|
612
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
613
|
+
code: 'unknown-conditional-compile-keyword'
|
|
468
614
|
}),
|
|
469
615
|
duplicateConstDeclaration: (name) => ({
|
|
470
616
|
message: `Attempting to redeclare #const with name '${name}'`,
|
|
471
|
-
|
|
472
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
617
|
+
legacyCode: 1087,
|
|
618
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
619
|
+
code: 'duplicate-const-declaration'
|
|
473
620
|
}),
|
|
474
|
-
|
|
621
|
+
__unused34: (name) => ({
|
|
475
622
|
message: `Attempting to create #const alias of '${name}', but no such #const exists`,
|
|
476
|
-
|
|
477
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
623
|
+
legacyCode: 1088,
|
|
624
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
625
|
+
code: 'const-alias-does-not-exist'
|
|
478
626
|
}),
|
|
479
627
|
invalidHashConstValue: () => ({
|
|
480
628
|
message: '#const declarations can only have values of `true`, `false`, or other #const names',
|
|
481
|
-
|
|
482
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
629
|
+
legacyCode: 1089,
|
|
630
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
631
|
+
code: 'invalid-hash-const-value'
|
|
483
632
|
}),
|
|
484
|
-
|
|
633
|
+
hashConstDoesNotExist: () => ({
|
|
485
634
|
message: `Referenced #const does not exist`,
|
|
486
|
-
|
|
487
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
635
|
+
legacyCode: 1090,
|
|
636
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
637
|
+
code: 'hash-const-does-not-exist'
|
|
488
638
|
}),
|
|
489
639
|
invalidHashIfValue: () => ({
|
|
490
640
|
message: `#if conditionals can only be 'true', 'false', or other #const names`,
|
|
491
|
-
|
|
492
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
641
|
+
legacyCode: 1091,
|
|
642
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
643
|
+
code: 'invalid-hash-if-value'
|
|
493
644
|
}),
|
|
645
|
+
/**
|
|
646
|
+
* Treat #error directives like diagnostics, because the presence of `#error` even inside a runtime logical block that evaluates to false will 100% cause a compile error.
|
|
647
|
+
*/
|
|
494
648
|
hashError: (message) => ({
|
|
495
|
-
message: `#error ${message}`,
|
|
496
|
-
|
|
497
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
649
|
+
message: `#error ${message} `,
|
|
650
|
+
legacyCode: 1092,
|
|
651
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
652
|
+
code: 'hash-error'
|
|
498
653
|
}),
|
|
499
|
-
|
|
654
|
+
__unused43: () => ({
|
|
500
655
|
message: `Expected '=' after #const`,
|
|
501
|
-
|
|
502
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
656
|
+
legacyCode: 1093,
|
|
657
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
658
|
+
code: 'expected-equal-after-hash-const'
|
|
503
659
|
}),
|
|
504
|
-
|
|
505
|
-
message: `Expected '#end if' to close '#if' conditional compilation statement starting on line ${startingLine}`,
|
|
506
|
-
|
|
507
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
660
|
+
__unused17: (startingLine) => ({
|
|
661
|
+
message: `Expected '#end if' to close '#if' conditional compilation statement starting on line ${startingLine} `,
|
|
662
|
+
legacyCode: 1094,
|
|
663
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
664
|
+
code: 'expected-terminator-on-hash-if'
|
|
508
665
|
}),
|
|
509
|
-
|
|
666
|
+
__unused35: () => ({
|
|
510
667
|
message: `#const name cannot be a reserved word`,
|
|
511
|
-
|
|
512
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
668
|
+
legacyCode: 1095,
|
|
669
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
670
|
+
code: 'const-reservered-word'
|
|
513
671
|
}),
|
|
514
|
-
|
|
672
|
+
__unused22: () => ({
|
|
515
673
|
message: `Expected identifier`,
|
|
516
|
-
|
|
517
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
674
|
+
legacyCode: 1096,
|
|
675
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
676
|
+
code: 'expected-identifier'
|
|
518
677
|
}),
|
|
519
678
|
expectedAttributeNameAfterAtSymbol: () => ({
|
|
520
679
|
message: `Expected xml attribute name after '@'`,
|
|
521
|
-
|
|
522
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
680
|
+
legacyCode: 1097,
|
|
681
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
682
|
+
code: 'expected-attribute-name'
|
|
523
683
|
}),
|
|
524
684
|
childFieldTypeNotAssignableToBaseProperty: (childTypeName, baseTypeName, fieldName, childFieldType, parentFieldType) => ({
|
|
525
|
-
message: `Field '${fieldName}' in class '${childTypeName}' is not assignable to the same field in base class '${baseTypeName}'.
|
|
526
|
-
|
|
527
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
685
|
+
message: `Field '${fieldName}' in class '${childTypeName}' is not assignable to the same field in base class '${baseTypeName}'.Type '${childFieldType}' is not assignable to type '${parentFieldType}'.`,
|
|
686
|
+
legacyCode: 1098,
|
|
687
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
688
|
+
code: 'field-inheritance-mismatch'
|
|
528
689
|
}),
|
|
529
|
-
|
|
690
|
+
__unused36: (memberType, parentMemberType, parentClassName) => ({
|
|
530
691
|
message: `Class member is a ${memberType} here but a ${parentMemberType} in ancestor class '${parentClassName}'`,
|
|
531
|
-
|
|
532
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
692
|
+
legacyCode: 1099,
|
|
693
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
694
|
+
code: 'child-field-type-different'
|
|
533
695
|
}),
|
|
534
696
|
classConstructorMissingSuperCall: () => ({
|
|
535
697
|
message: `Missing "super()" call in class constructor method.`,
|
|
536
|
-
|
|
537
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
698
|
+
legacyCode: 1100,
|
|
699
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
700
|
+
code: 'expected-super-call'
|
|
538
701
|
}),
|
|
539
702
|
classConstructorIllegalUseOfMBeforeSuperCall: () => ({
|
|
540
703
|
message: `Illegal use of "m" before calling "super()"`,
|
|
541
|
-
|
|
542
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
704
|
+
legacyCode: 1101,
|
|
705
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
706
|
+
code: 'expected-super-before-statement'
|
|
543
707
|
}),
|
|
544
708
|
classFieldCannotBeOverridden: () => ({
|
|
545
709
|
message: `Class field cannot be overridden`,
|
|
546
|
-
|
|
547
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
710
|
+
legacyCode: 1102,
|
|
711
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
712
|
+
code: 'invalid-field-override'
|
|
548
713
|
}),
|
|
549
714
|
unusedAnnotation: () => ({
|
|
550
715
|
message: `This annotation is not attached to any statement`,
|
|
551
|
-
|
|
552
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
716
|
+
legacyCode: 1103,
|
|
717
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
718
|
+
code: 'unexpected-annotation'
|
|
553
719
|
}),
|
|
554
720
|
localVarShadowedByScopedFunction: () => ({
|
|
555
|
-
message: `Declaring a local variable with same name as scoped function can result in unexpected behavior`,
|
|
556
|
-
|
|
557
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
721
|
+
message: `Declaring a local variable with same name as scoped function or class can result in unexpected behavior`,
|
|
722
|
+
legacyCode: 1104,
|
|
723
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
724
|
+
code: 'var-shadows-function'
|
|
558
725
|
}),
|
|
559
726
|
scopeFunctionShadowedByBuiltInFunction: () => ({
|
|
560
|
-
message: `Scope function will not be accessible because it has the same name as a built-in function`,
|
|
561
|
-
|
|
562
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
727
|
+
message: `Scope function will not be accessible because it has the same name as a built -in function`,
|
|
728
|
+
legacyCode: 1105,
|
|
729
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
730
|
+
code: 'native-function-collision'
|
|
563
731
|
}),
|
|
564
|
-
|
|
732
|
+
__unused38: (className) => ({
|
|
565
733
|
message: `Local variable has same name as class '${className}'`,
|
|
566
|
-
|
|
567
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
734
|
+
legacyCode: 1106,
|
|
735
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
736
|
+
code: 'local-var-same-name-as-class'
|
|
568
737
|
}),
|
|
569
|
-
|
|
738
|
+
__unused45: () => ({
|
|
570
739
|
message: `This import is unnecessary because compiler option 'autoImportComponentScript' is enabled`,
|
|
571
|
-
|
|
572
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
740
|
+
legacyCode: 1107,
|
|
741
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
742
|
+
code: 'unnecessary-import'
|
|
573
743
|
}),
|
|
574
|
-
|
|
744
|
+
__unused37: () => ({
|
|
575
745
|
message: `Expected '(' to follow callfunc identifier`,
|
|
576
|
-
|
|
577
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
746
|
+
legacyCode: 1108,
|
|
747
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
748
|
+
code: 'expected-left-paren-after-callfunc'
|
|
578
749
|
}),
|
|
579
750
|
expectedToken: (...tokenKinds) => ({
|
|
580
751
|
message: `Expected token '${tokenKinds.join(`' or '`)}'`,
|
|
581
|
-
|
|
582
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
752
|
+
legacyCode: 1109,
|
|
753
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
754
|
+
code: 'expected-token'
|
|
583
755
|
}),
|
|
584
|
-
|
|
756
|
+
__unused10: (paramName) => ({
|
|
585
757
|
message: `Parameter '${paramName}' may not have the same name as namespace`,
|
|
586
|
-
|
|
587
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
758
|
+
legacyCode: 1110,
|
|
759
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
760
|
+
code: 'parameter-same-name-as-namespace'
|
|
588
761
|
}),
|
|
589
|
-
|
|
762
|
+
__unused11: (variableName) => ({
|
|
590
763
|
message: `Variable '${variableName}' may not have the same name as namespace`,
|
|
591
|
-
|
|
592
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
764
|
+
legacyCode: 1111,
|
|
765
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
766
|
+
code: 'variable-same-name-as-namespace'
|
|
593
767
|
}),
|
|
594
|
-
|
|
595
|
-
message: `Unterminated template string
|
|
596
|
-
|
|
597
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
768
|
+
unterminatedTemplateString: () => ({
|
|
769
|
+
message: `Unterminated template string`,
|
|
770
|
+
legacyCode: 1113,
|
|
771
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
772
|
+
code: 'unterminated-template-string'
|
|
598
773
|
}),
|
|
599
774
|
unterminatedTemplateExpression: () => ({
|
|
600
775
|
message: `Unterminated template string expression. '\${' must be followed by expression, then '}'`,
|
|
601
|
-
|
|
602
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
776
|
+
legacyCode: 1114,
|
|
777
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
778
|
+
code: 'unterminated-template-string-expression'
|
|
603
779
|
}),
|
|
604
780
|
duplicateComponentName: (componentName) => ({
|
|
605
781
|
message: `There are multiple components with the name '${componentName}'`,
|
|
606
|
-
|
|
607
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
782
|
+
legacyCode: 1115,
|
|
783
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
784
|
+
code: 'duplicate-component-name'
|
|
608
785
|
}),
|
|
609
786
|
__unused6: (className) => ({
|
|
610
787
|
message: `Function has same name as class '${className}'`,
|
|
611
|
-
|
|
788
|
+
legacyCode: 1116,
|
|
612
789
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
613
790
|
}),
|
|
614
791
|
expectedExceptionVarToFollowCatch: () => ({
|
|
615
792
|
message: `Expected exception variable after 'catch' keyword`,
|
|
616
|
-
|
|
617
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
793
|
+
legacyCode: 1117,
|
|
794
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
795
|
+
code: 'expected-exception-variable'
|
|
618
796
|
}),
|
|
619
797
|
missingExceptionExpressionAfterThrowKeyword: () => ({
|
|
620
798
|
message: `Missing exception expression after 'throw' keyword`,
|
|
621
|
-
|
|
622
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
799
|
+
legacyCode: 1118,
|
|
800
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
801
|
+
code: 'expected-throw-expression'
|
|
623
802
|
}),
|
|
624
|
-
|
|
803
|
+
__unused42: () => ({
|
|
625
804
|
message: `Missing left square bracket after 'dim' identifier`,
|
|
626
|
-
|
|
627
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
805
|
+
legacyCode: 1119,
|
|
806
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
807
|
+
code: 'expected-left-brace-after-dim'
|
|
628
808
|
}),
|
|
629
|
-
|
|
809
|
+
__unused39: () => ({
|
|
630
810
|
message: `Missing right square bracket after 'dim' identifier`,
|
|
631
|
-
|
|
632
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
811
|
+
legacyCode: 1120,
|
|
812
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
813
|
+
code: 'missing-right-brace-after-dim'
|
|
633
814
|
}),
|
|
634
815
|
missingExpressionsInDimStatement: () => ({
|
|
635
816
|
message: `Missing expression(s) in 'dim' statement`,
|
|
636
|
-
|
|
637
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
817
|
+
legacyCode: 1121,
|
|
818
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
819
|
+
code: 'expected-dim-expression'
|
|
638
820
|
}),
|
|
639
821
|
mismatchedOverriddenMemberVisibility: (childClassName, memberName, childAccessModifier, ancestorAccessModifier, ancestorClassName) => ({
|
|
640
822
|
message: `Access modifier mismatch: '${memberName}' is ${childAccessModifier} in type '${childClassName}' but is ${ancestorAccessModifier} in base type '${ancestorClassName}'.`,
|
|
641
|
-
|
|
642
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
823
|
+
legacyCode: 1122,
|
|
824
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
825
|
+
code: 'access-modifier-mismatch'
|
|
643
826
|
}),
|
|
644
827
|
__unused3: (typeName) => ({
|
|
645
828
|
message: `Cannot find type with name '${typeName}'`,
|
|
646
|
-
|
|
829
|
+
legacyCode: 1123,
|
|
647
830
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
648
831
|
}),
|
|
649
832
|
enumValueMustBeType: (expectedType) => ({
|
|
650
833
|
message: `Enum value must be type '${expectedType}'`,
|
|
651
|
-
|
|
652
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
834
|
+
legacyCode: 1124,
|
|
835
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
836
|
+
code: 'enum-type-mismatch'
|
|
653
837
|
}),
|
|
654
838
|
enumValueIsRequired: (expectedType) => ({
|
|
655
839
|
message: `Value is required for ${expectedType} enum`,
|
|
656
|
-
|
|
657
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
840
|
+
legacyCode: 1125,
|
|
841
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
842
|
+
code: 'expected-enum-value'
|
|
658
843
|
}),
|
|
659
|
-
|
|
844
|
+
__unused40: (name, enumName) => ({
|
|
660
845
|
message: `Property '${name}' does not exist on enum '${enumName}'`,
|
|
661
|
-
|
|
662
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
846
|
+
legacyCode: 1126,
|
|
847
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
848
|
+
code: 'unknown-enum-value'
|
|
663
849
|
}),
|
|
664
850
|
__unused7: (scopeName, enumName) => ({
|
|
665
851
|
message: `Scope '${scopeName}' already contains an enum with name '${enumName}'`,
|
|
666
|
-
|
|
852
|
+
legacyCode: 1127,
|
|
667
853
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
668
854
|
}),
|
|
669
855
|
unknownRoSGNode: (nodeName) => ({
|
|
670
856
|
message: `Unknown roSGNode '${nodeName}'`,
|
|
671
|
-
|
|
672
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
857
|
+
legacyCode: 1128,
|
|
858
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
859
|
+
code: 'unknown-rosgnode'
|
|
673
860
|
}),
|
|
674
861
|
unknownBrightScriptComponent: (componentName) => ({
|
|
675
862
|
message: `Unknown BrightScript component '${componentName}'`,
|
|
676
|
-
|
|
677
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
863
|
+
legacyCode: 1129,
|
|
864
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
865
|
+
code: 'unknown-brightscript-component'
|
|
678
866
|
}),
|
|
679
867
|
mismatchCreateObjectArgumentCount: (componentName, allowedArgCounts, actualCount) => {
|
|
680
868
|
const argCountArray = (allowedArgCounts || [1]).sort().filter((value, index, self) => self.indexOf(value) === index);
|
|
681
869
|
return {
|
|
682
870
|
message: `For ${componentName}, expected ${argCountArray.map(c => c.toString()).join(' or ')} total arguments, but got ${actualCount}.`,
|
|
683
|
-
|
|
684
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
871
|
+
legacyCode: 1130,
|
|
872
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
873
|
+
code: 'incorrect-createobject-argument-count'
|
|
685
874
|
};
|
|
686
875
|
},
|
|
687
|
-
|
|
688
|
-
message: `${componentName} has been deprecated${deprecatedDescription ? ': ' + deprecatedDescription : ''}`,
|
|
689
|
-
|
|
690
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
876
|
+
__unused41: (componentName, deprecatedDescription) => ({
|
|
877
|
+
message: `${componentName} has been deprecated${deprecatedDescription ? ': ' + deprecatedDescription : ''} `,
|
|
878
|
+
legacyCode: 1131,
|
|
879
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
880
|
+
code: 'deprecated-brightscript-component'
|
|
691
881
|
}),
|
|
692
882
|
circularReferenceDetected: (items, scopeName) => ({
|
|
693
|
-
message: `Circular
|
|
694
|
-
|
|
695
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
883
|
+
message: `Circular inheritance detected between ${Array.isArray(items) ? items.join(' -> ') : ''} in scope '${scopeName}'`,
|
|
884
|
+
legacyCode: 1132,
|
|
885
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
886
|
+
code: 'circular-inheritance'
|
|
696
887
|
}),
|
|
697
888
|
unexpectedStatementOutsideFunction: () => ({
|
|
698
889
|
message: `Unexpected statement found outside of function body`,
|
|
699
|
-
|
|
700
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
890
|
+
legacyCode: 1133,
|
|
891
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
892
|
+
code: 'unexpected-statement'
|
|
701
893
|
}),
|
|
702
894
|
detectedTooDeepFileSource: (numberOfParentDirectories) => ({
|
|
703
|
-
message: `Expected directory depth no larger than 7, but found ${numberOfParentDirectories}`,
|
|
704
|
-
|
|
705
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
895
|
+
message: `Expected directory depth no larger than 7, but found ${numberOfParentDirectories} `,
|
|
896
|
+
legacyCode: 1134,
|
|
897
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
898
|
+
code: 'directory-depth'
|
|
706
899
|
}),
|
|
707
900
|
illegalContinueStatement: () => ({
|
|
708
901
|
message: `Continue statement must be contained within a loop statement`,
|
|
709
|
-
|
|
710
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
902
|
+
legacyCode: 1135,
|
|
903
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
904
|
+
code: 'unexpected-continue'
|
|
711
905
|
}),
|
|
712
906
|
keywordMustBeDeclaredAtNamespaceLevel: (keyword) => ({
|
|
713
907
|
message: `${keyword} must be declared at the root level or within a namespace`,
|
|
714
|
-
|
|
715
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
908
|
+
legacyCode: 1136,
|
|
909
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
910
|
+
code: 'invalid-declaration-location'
|
|
716
911
|
}),
|
|
717
912
|
itemCannotBeUsedAsVariable: (itemType) => ({
|
|
718
913
|
message: `${itemType} cannot be used as a variable`,
|
|
719
|
-
|
|
720
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
914
|
+
legacyCode: 1137,
|
|
915
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
916
|
+
code: 'type-not-variable'
|
|
721
917
|
}),
|
|
722
918
|
callfuncHasToManyArgs: (numberOfArgs) => ({
|
|
723
|
-
message: `You can not have more than 5 arguments in a callFunc
|
|
724
|
-
|
|
725
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
919
|
+
message: `You can not have more than 5 arguments in a callFunc.${numberOfArgs} found.`,
|
|
920
|
+
legacyCode: 1138,
|
|
921
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
922
|
+
code: 'exceeds-max-callfunc-arg-count'
|
|
726
923
|
}),
|
|
727
924
|
noOptionalChainingInLeftHandSideOfAssignment: () => ({
|
|
728
925
|
message: `Optional chaining may not be used in the left-hand side of an assignment`,
|
|
729
|
-
|
|
730
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
926
|
+
legacyCode: 1139,
|
|
927
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
928
|
+
code: 'unexpected-optional-chain'
|
|
731
929
|
}),
|
|
732
930
|
/**
|
|
733
931
|
*
|
|
@@ -737,90 +935,110 @@ exports.DiagnosticMessages = {
|
|
|
737
935
|
* @param typeDescriptor defaults to 'type' ... could also be 'namespace', etc.
|
|
738
936
|
*/
|
|
739
937
|
cannotFindFunction: (name, fullName, typeName, typeDescriptor = 'type') => ({
|
|
740
|
-
message: `Cannot find function '${name}'${typeName ? ` for ${typeDescriptor} '${typeName}'` : ''}`,
|
|
741
|
-
|
|
938
|
+
message: `Cannot find function '${name}'${typeName ? ` for ${typeDescriptor} '${typeName}'` : ''} `,
|
|
939
|
+
legacyCode: 1140,
|
|
742
940
|
data: {
|
|
743
941
|
name: name,
|
|
744
942
|
fullName: fullName !== null && fullName !== void 0 ? fullName : name,
|
|
745
943
|
typeName: typeName ? typeName : undefined
|
|
746
944
|
},
|
|
747
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
945
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
946
|
+
code: 'cannot-find-function'
|
|
748
947
|
}),
|
|
749
948
|
argumentTypeMismatch: (actualTypeString, expectedTypeString, data) => ({
|
|
750
|
-
message: `Argument of type '${actualTypeString}' is not compatible with parameter of type '${expectedTypeString}'${typeCompatibilityMessage(actualTypeString, expectedTypeString, data)}`,
|
|
949
|
+
message: `Argument of type '${actualTypeString}' is not compatible with parameter of type '${expectedTypeString}'${typeCompatibilityMessage(actualTypeString, expectedTypeString, data)} `,
|
|
751
950
|
data: data,
|
|
752
|
-
|
|
753
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
951
|
+
legacyCode: 1141,
|
|
952
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
953
|
+
code: 'argument-type-mismatch'
|
|
754
954
|
}),
|
|
755
955
|
returnTypeMismatch: (actualTypeString, expectedTypeString, data) => ({
|
|
756
|
-
message: `Type '${actualTypeString}' is not compatible with declared return type '${expectedTypeString}'${typeCompatibilityMessage(actualTypeString, expectedTypeString, data)}'`,
|
|
956
|
+
message: `Type '${actualTypeString}' is not compatible with declared return type '${expectedTypeString}'${typeCompatibilityMessage(actualTypeString, expectedTypeString, data)} '`,
|
|
757
957
|
data: data,
|
|
758
|
-
|
|
759
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
958
|
+
legacyCode: 1142,
|
|
959
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
960
|
+
code: 'return-type-mismatch'
|
|
760
961
|
}),
|
|
761
962
|
assignmentTypeMismatch: (actualTypeString, expectedTypeString, data) => ({
|
|
762
963
|
message: `Type '${actualTypeString}' is not compatible with type '${expectedTypeString}'${typeCompatibilityMessage(actualTypeString, expectedTypeString, data)}`,
|
|
763
964
|
data: data,
|
|
764
|
-
|
|
765
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
965
|
+
legacyCode: 1143,
|
|
966
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
967
|
+
code: 'assignment-type-mismatch'
|
|
766
968
|
}),
|
|
767
969
|
operatorTypeMismatch: (operatorString, firstType, secondType = '') => ({
|
|
768
970
|
message: `Operator '${operatorString}' cannot be applied to type${secondType ? 's' : ''} '${firstType}'${secondType ? ` and '${secondType}'` : ''}`,
|
|
769
|
-
|
|
770
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
971
|
+
legacyCode: 1144,
|
|
972
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
973
|
+
code: 'operator-type-mismatch'
|
|
771
974
|
}),
|
|
772
975
|
incompatibleSymbolDefinition: (symbol, scopeName) => ({
|
|
773
976
|
message: `'${symbol}' is incompatible across these scopes: ${scopeName}`,
|
|
774
|
-
|
|
775
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
776
|
-
|
|
777
|
-
memberAccessibilityMismatch: (memberName, accessModifierFlag, definingClassName) => ({
|
|
778
|
-
message: `Member '${memberName}' is ${accessModifierNameFromFlag(accessModifierFlag)}${accessModifierAdditionalInfo(accessModifierFlag, definingClassName)}`,
|
|
779
|
-
code: 1146,
|
|
780
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
781
|
-
}),
|
|
782
|
-
typecastStatementMustBeDeclaredAtStart: () => ({
|
|
783
|
-
message: `'typecast' statement must be declared at the top of the file or beginning of function or namespace`,
|
|
784
|
-
code: 1147,
|
|
785
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
977
|
+
legacyCode: 1145,
|
|
978
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
979
|
+
code: 'incompatible-definition'
|
|
786
980
|
}),
|
|
981
|
+
memberAccessibilityMismatch: (memberName, accessModifierFlag, definingClassName) => {
|
|
982
|
+
let accessModName = TokenKind_1.TokenKind.Public;
|
|
983
|
+
// eslint-disable-next-line no-bitwise
|
|
984
|
+
if (accessModifierFlag & 8 /* SymbolTypeFlag.private */) {
|
|
985
|
+
accessModName = TokenKind_1.TokenKind.Private;
|
|
986
|
+
// eslint-disable-next-line no-bitwise
|
|
987
|
+
}
|
|
988
|
+
else if (accessModifierFlag & 16 /* SymbolTypeFlag.protected */) {
|
|
989
|
+
accessModName = TokenKind_1.TokenKind.Protected;
|
|
990
|
+
}
|
|
991
|
+
accessModName = accessModName.toLowerCase();
|
|
992
|
+
let accessAdditionalInfo = '';
|
|
993
|
+
// eslint-disable-next-line no-bitwise
|
|
994
|
+
if (accessModifierFlag & 8 /* SymbolTypeFlag.private */) {
|
|
995
|
+
accessAdditionalInfo = ` and only accessible from within class '${definingClassName}'`;
|
|
996
|
+
// eslint-disable-next-line no-bitwise
|
|
997
|
+
}
|
|
998
|
+
else if (accessModifierFlag & 16 /* SymbolTypeFlag.protected */) {
|
|
999
|
+
accessAdditionalInfo = ` and only accessible from within class '${definingClassName}' and its subclasses`;
|
|
1000
|
+
}
|
|
1001
|
+
return {
|
|
1002
|
+
message: `Member '${memberName}' is ${accessModName}${accessAdditionalInfo}`,
|
|
1003
|
+
legacyCode: 1146,
|
|
1004
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1005
|
+
code: 'member-access-violation'
|
|
1006
|
+
};
|
|
1007
|
+
},
|
|
787
1008
|
invalidTypecastStatementApplication: (foundApplication) => ({
|
|
788
1009
|
message: `'typecast' statement can only be applied to 'm', but was applied to '${foundApplication}'`,
|
|
789
|
-
|
|
790
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
1010
|
+
legacyCode: 1148,
|
|
1011
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1012
|
+
code: 'invalid-typecast-target'
|
|
791
1013
|
}),
|
|
792
1014
|
itemCannotBeUsedAsType: (typeText) => ({
|
|
793
1015
|
message: `'${typeText}' cannot be used as a type`,
|
|
794
|
-
|
|
795
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
796
|
-
|
|
797
|
-
expectedNewlineInConditionalCompile: () => ({
|
|
798
|
-
message: `Expected newline in conditional compilation statement`,
|
|
799
|
-
code: 1151,
|
|
800
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
801
|
-
}),
|
|
802
|
-
expectedTerminatorOnConditionalCompileBlock: () => ({
|
|
803
|
-
message: `Expected '#end if', '#else if', or '#else' to terminate conditional compilation block`,
|
|
804
|
-
code: 1152,
|
|
805
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
1016
|
+
legacyCode: 1149,
|
|
1017
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1018
|
+
code: 'invalid-type-reference'
|
|
806
1019
|
}),
|
|
807
1020
|
unsafeUnmatchedTerminatorInConditionalCompileBlock: (terminator) => ({
|
|
808
1021
|
message: `Unsafe unmatched terminator '${terminator}' in conditional compilation block`,
|
|
809
|
-
|
|
810
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
1022
|
+
legacyCode: 1150,
|
|
1023
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1024
|
+
code: 'inconsistent-conditional-compile-nesting'
|
|
1025
|
+
}),
|
|
1026
|
+
returnTypeCoercionMismatch: (returnType = 'string') => ({
|
|
1027
|
+
message: `Function has no return statement and will return 'invalid': '${returnType}' cannot be coerced into 'invalid'`,
|
|
1028
|
+
legacyCode: 1151,
|
|
1029
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1030
|
+
code: 'return-type-coercion-mismatch'
|
|
811
1031
|
}),
|
|
812
|
-
|
|
813
|
-
message: `Cannot find
|
|
814
|
-
code: 1154,
|
|
1032
|
+
cannotFindCallFuncFunction: (name, fullName, typeName) => ({
|
|
1033
|
+
message: `Cannot find callfunc function '${name}' for type '${typeName}'`,
|
|
815
1034
|
data: {
|
|
816
|
-
name: name
|
|
1035
|
+
name: name,
|
|
1036
|
+
fullName: fullName,
|
|
1037
|
+
typeName: typeName,
|
|
1038
|
+
isCallfunc: true
|
|
817
1039
|
},
|
|
818
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
819
|
-
|
|
820
|
-
expectedReturnStatement: () => ({
|
|
821
|
-
message: `Expected return statement in function`,
|
|
822
|
-
code: 1155,
|
|
823
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
1040
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1041
|
+
code: 'cannot-find-callfunc'
|
|
824
1042
|
})
|
|
825
1043
|
};
|
|
826
1044
|
exports.defaultMaximumTruncationLength = 160;
|
|
@@ -851,33 +1069,32 @@ function typeCompatibilityMessage(actualTypeString, expectedTypeString, data) {
|
|
|
851
1069
|
return message;
|
|
852
1070
|
}
|
|
853
1071
|
exports.typeCompatibilityMessage = typeCompatibilityMessage;
|
|
854
|
-
function
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
if (accessModifierFlag & 8 /* SymbolTypeFlag.private */) {
|
|
858
|
-
result = TokenKind_1.TokenKind.Private;
|
|
859
|
-
// eslint-disable-next-line no-bitwise
|
|
1072
|
+
function getPossibilitiesString(possibilities) {
|
|
1073
|
+
if (!Array.isArray(possibilities)) {
|
|
1074
|
+
return `'${possibilities}'`;
|
|
860
1075
|
}
|
|
861
|
-
|
|
862
|
-
|
|
1076
|
+
if (possibilities.length === 1) {
|
|
1077
|
+
return `'${possibilities}'`;
|
|
863
1078
|
}
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
return ` and only accessible from within class '${className}' and its subclasses`;
|
|
1079
|
+
let result = '';
|
|
1080
|
+
for (let i = 0; i < possibilities.length; i++) {
|
|
1081
|
+
result += `'${possibilities[i]}'`;
|
|
1082
|
+
if (i < possibilities.length - 2) {
|
|
1083
|
+
result += ', ';
|
|
1084
|
+
}
|
|
1085
|
+
else if (i < possibilities.length - 1) {
|
|
1086
|
+
result += ' or ';
|
|
1087
|
+
}
|
|
874
1088
|
}
|
|
875
|
-
return
|
|
1089
|
+
return result;
|
|
876
1090
|
}
|
|
877
1091
|
exports.DiagnosticCodeMap = {};
|
|
1092
|
+
exports.DiagnosticLegacyCodeMap = {};
|
|
878
1093
|
exports.diagnosticCodes = [];
|
|
879
1094
|
for (let key in exports.DiagnosticMessages) {
|
|
880
1095
|
exports.diagnosticCodes.push(exports.DiagnosticMessages[key]().code);
|
|
1096
|
+
exports.diagnosticCodes.push(exports.DiagnosticMessages[key]().legacyCode);
|
|
881
1097
|
exports.DiagnosticCodeMap[key] = exports.DiagnosticMessages[key]().code;
|
|
1098
|
+
exports.DiagnosticLegacyCodeMap[key] = exports.DiagnosticMessages[key]().legacyCode;
|
|
882
1099
|
}
|
|
883
1100
|
//# sourceMappingURL=DiagnosticMessages.js.map
|