brighterscript 1.0.0-alpha.41 → 1.0.0-alpha.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/CHANGELOG.md +78 -2
  2. package/dist/AstValidationSegmenter.d.ts +3 -0
  3. package/dist/AstValidationSegmenter.js +62 -2
  4. package/dist/AstValidationSegmenter.js.map +1 -1
  5. package/dist/BsConfig.d.ts +7 -7
  6. package/dist/CrossScopeValidator.js +3 -3
  7. package/dist/CrossScopeValidator.js.map +1 -1
  8. package/dist/DiagnosticFilterer.d.ts +5 -1
  9. package/dist/DiagnosticFilterer.js +92 -33
  10. package/dist/DiagnosticFilterer.js.map +1 -1
  11. package/dist/DiagnosticManager.js +12 -9
  12. package/dist/DiagnosticManager.js.map +1 -1
  13. package/dist/DiagnosticMessages.d.ts +374 -225
  14. package/dist/DiagnosticMessages.js +641 -424
  15. package/dist/DiagnosticMessages.js.map +1 -1
  16. package/dist/DiagnosticSeverityAdjuster.js +4 -0
  17. package/dist/DiagnosticSeverityAdjuster.js.map +1 -1
  18. package/dist/LanguageServer.js +0 -7
  19. package/dist/LanguageServer.js.map +1 -1
  20. package/dist/PluginInterface.js +2 -0
  21. package/dist/PluginInterface.js.map +1 -1
  22. package/dist/Program.d.ts +22 -1
  23. package/dist/Program.js +206 -49
  24. package/dist/Program.js.map +1 -1
  25. package/dist/SymbolTable.d.ts +3 -0
  26. package/dist/SymbolTable.js +19 -1
  27. package/dist/SymbolTable.js.map +1 -1
  28. package/dist/XmlScope.js +3 -6
  29. package/dist/XmlScope.js.map +1 -1
  30. package/dist/astUtils/creators.d.ts +35 -3
  31. package/dist/astUtils/creators.js +52 -1
  32. package/dist/astUtils/creators.js.map +1 -1
  33. package/dist/astUtils/reflection.d.ts +24 -5
  34. package/dist/astUtils/reflection.js +89 -19
  35. package/dist/astUtils/reflection.js.map +1 -1
  36. package/dist/astUtils/visitors.d.ts +3 -2
  37. package/dist/astUtils/visitors.js +37 -14
  38. package/dist/astUtils/visitors.js.map +1 -1
  39. package/dist/astUtils/visitors.spec.js +172 -6
  40. package/dist/astUtils/visitors.spec.js.map +1 -1
  41. package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +0 -1
  42. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +0 -13
  43. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  44. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +2 -1
  45. package/dist/bscPlugin/completions/CompletionsProcessor.js +5 -5
  46. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  47. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +106 -2
  48. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -1
  49. package/dist/bscPlugin/hover/HoverProcessor.spec.js +51 -3
  50. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
  51. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.d.ts +1 -0
  52. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +149 -0
  53. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
  54. package/dist/bscPlugin/validation/BrsFileValidator.js +15 -8
  55. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  56. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +170 -24
  57. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
  58. package/dist/bscPlugin/validation/ScopeValidator.d.ts +7 -0
  59. package/dist/bscPlugin/validation/ScopeValidator.js +150 -80
  60. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  61. package/dist/bscPlugin/validation/ScopeValidator.spec.js +1341 -29
  62. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
  63. package/dist/bscPlugin/validation/XmlFileValidator.js +0 -8
  64. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
  65. package/dist/diagnosticUtils.js +6 -5
  66. package/dist/diagnosticUtils.js.map +1 -1
  67. package/dist/files/BrsFile.Class.spec.js +87 -28
  68. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  69. package/dist/files/BrsFile.d.ts +1 -0
  70. package/dist/files/BrsFile.js +20 -8
  71. package/dist/files/BrsFile.js.map +1 -1
  72. package/dist/files/BrsFile.spec.js +133 -34
  73. package/dist/files/BrsFile.spec.js.map +1 -1
  74. package/dist/files/XmlFile.js +2 -2
  75. package/dist/files/XmlFile.js.map +1 -1
  76. package/dist/files/XmlFile.spec.js +3 -20
  77. package/dist/files/XmlFile.spec.js.map +1 -1
  78. package/dist/globalCallables.js +1 -1
  79. package/dist/index.d.ts +8 -3
  80. package/dist/index.js +24 -16
  81. package/dist/index.js.map +1 -1
  82. package/dist/interfaces.d.ts +18 -0
  83. package/dist/interfaces.js.map +1 -1
  84. package/dist/lexer/Lexer.js +17 -11
  85. package/dist/lexer/Lexer.js.map +1 -1
  86. package/dist/lexer/Lexer.spec.js +21 -3
  87. package/dist/lexer/Lexer.spec.js.map +1 -1
  88. package/dist/lexer/TokenKind.d.ts +9 -0
  89. package/dist/lexer/TokenKind.js +11 -1
  90. package/dist/lexer/TokenKind.js.map +1 -1
  91. package/dist/parser/AstNode.d.ts +2 -1
  92. package/dist/parser/AstNode.js +3 -2
  93. package/dist/parser/AstNode.js.map +1 -1
  94. package/dist/parser/Expression.d.ts +22 -2
  95. package/dist/parser/Expression.js +84 -49
  96. package/dist/parser/Expression.js.map +1 -1
  97. package/dist/parser/Parser.Class.spec.js +3 -3
  98. package/dist/parser/Parser.Class.spec.js.map +1 -1
  99. package/dist/parser/Parser.js +73 -61
  100. package/dist/parser/Parser.js.map +1 -1
  101. package/dist/parser/Parser.spec.js +198 -15
  102. package/dist/parser/Parser.spec.js.map +1 -1
  103. package/dist/parser/SGParser.js +9 -9
  104. package/dist/parser/SGParser.js.map +1 -1
  105. package/dist/parser/SGParser.spec.js +3 -2
  106. package/dist/parser/SGParser.spec.js.map +1 -1
  107. package/dist/parser/Statement.d.ts +16 -18
  108. package/dist/parser/Statement.js +136 -82
  109. package/dist/parser/Statement.js.map +1 -1
  110. package/dist/parser/tests/controlFlow/If.spec.js +1 -1
  111. package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
  112. package/dist/parser/tests/expression/ArrayLiterals.spec.js +3 -3
  113. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
  114. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +3 -3
  115. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
  116. package/dist/parser/tests/expression/Call.spec.js +9 -9
  117. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  118. package/dist/parser/tests/expression/Indexing.spec.js +3 -3
  119. package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
  120. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +1 -1
  121. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  122. package/dist/parser/tests/expression/TernaryExpression.spec.js +353 -71
  123. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  124. package/dist/parser/tests/statement/Dim.spec.js +10 -3
  125. package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
  126. package/dist/parser/tests/statement/Enum.spec.js +2 -2
  127. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  128. package/dist/parser/tests/statement/Increment.spec.js +3 -5
  129. package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
  130. package/dist/parser/tests/statement/PrintStatement.spec.js +3 -3
  131. package/dist/parser/tests/statement/TryCatch.spec.js +1 -1
  132. package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
  133. package/dist/roku-types/data.json +567 -247
  134. package/dist/roku-types/index.d.ts +72 -42
  135. package/dist/types/ArrayType.d.ts +3 -0
  136. package/dist/types/ArrayType.js +18 -5
  137. package/dist/types/ArrayType.js.map +1 -1
  138. package/dist/types/AssociativeArrayType.d.ts +1 -0
  139. package/dist/types/AssociativeArrayType.js +1 -0
  140. package/dist/types/AssociativeArrayType.js.map +1 -1
  141. package/dist/types/BaseFunctionType.d.ts +1 -0
  142. package/dist/types/BaseFunctionType.js +1 -0
  143. package/dist/types/BaseFunctionType.js.map +1 -1
  144. package/dist/types/BooleanType.d.ts +1 -0
  145. package/dist/types/BooleanType.js +1 -0
  146. package/dist/types/BooleanType.js.map +1 -1
  147. package/dist/types/BscType.d.ts +8 -1
  148. package/dist/types/BscType.js +22 -6
  149. package/dist/types/BscType.js.map +1 -1
  150. package/dist/types/BuiltInInterfaceAdder.js +10 -6
  151. package/dist/types/BuiltInInterfaceAdder.js.map +1 -1
  152. package/dist/types/ClassType.d.ts +1 -0
  153. package/dist/types/ClassType.js +5 -2
  154. package/dist/types/ClassType.js.map +1 -1
  155. package/dist/types/ComponentType.d.ts +11 -4
  156. package/dist/types/ComponentType.js +100 -8
  157. package/dist/types/ComponentType.js.map +1 -1
  158. package/dist/types/DoubleType.d.ts +2 -0
  159. package/dist/types/DoubleType.js +4 -5
  160. package/dist/types/DoubleType.js.map +1 -1
  161. package/dist/types/DynamicType.d.ts +1 -0
  162. package/dist/types/DynamicType.js +4 -0
  163. package/dist/types/DynamicType.js.map +1 -1
  164. package/dist/types/EnumType.d.ts +2 -0
  165. package/dist/types/EnumType.js +20 -2
  166. package/dist/types/EnumType.js.map +1 -1
  167. package/dist/types/FloatType.d.ts +2 -0
  168. package/dist/types/FloatType.js +4 -5
  169. package/dist/types/FloatType.js.map +1 -1
  170. package/dist/types/FunctionType.js +2 -1
  171. package/dist/types/FunctionType.js.map +1 -1
  172. package/dist/types/InheritableType.js +8 -0
  173. package/dist/types/InheritableType.js.map +1 -1
  174. package/dist/types/IntegerType.d.ts +2 -0
  175. package/dist/types/IntegerType.js +4 -5
  176. package/dist/types/IntegerType.js.map +1 -1
  177. package/dist/types/InterfaceType.js +4 -1
  178. package/dist/types/InterfaceType.js.map +1 -1
  179. package/dist/types/InvalidType.d.ts +2 -1
  180. package/dist/types/InvalidType.js +3 -2
  181. package/dist/types/InvalidType.js.map +1 -1
  182. package/dist/types/LongIntegerType.d.ts +2 -0
  183. package/dist/types/LongIntegerType.js +4 -5
  184. package/dist/types/LongIntegerType.js.map +1 -1
  185. package/dist/types/ObjectType.d.ts +1 -0
  186. package/dist/types/ObjectType.js +1 -0
  187. package/dist/types/ObjectType.js.map +1 -1
  188. package/dist/types/ReferenceType.d.ts +20 -2
  189. package/dist/types/ReferenceType.js +106 -5
  190. package/dist/types/ReferenceType.js.map +1 -1
  191. package/dist/types/StringType.d.ts +1 -0
  192. package/dist/types/StringType.js +3 -2
  193. package/dist/types/StringType.js.map +1 -1
  194. package/dist/types/TypedFunctionType.d.ts +1 -1
  195. package/dist/types/TypedFunctionType.js +8 -2
  196. package/dist/types/TypedFunctionType.js.map +1 -1
  197. package/dist/types/UninitializedType.d.ts +2 -0
  198. package/dist/types/UninitializedType.js +5 -6
  199. package/dist/types/UninitializedType.js.map +1 -1
  200. package/dist/types/UnionType.js +8 -2
  201. package/dist/types/UnionType.js.map +1 -1
  202. package/dist/types/VoidType.d.ts +4 -1
  203. package/dist/types/VoidType.js +5 -0
  204. package/dist/types/VoidType.js.map +1 -1
  205. package/dist/types/helpers.js +8 -1
  206. package/dist/types/helpers.js.map +1 -1
  207. package/dist/util.d.ts +17 -6
  208. package/dist/util.js +320 -24
  209. package/dist/util.js.map +1 -1
  210. package/dist/validators/ClassValidator.js +13 -5
  211. package/dist/validators/ClassValidator.js.map +1 -1
  212. package/package.json +2 -2
@@ -3,14 +3,16 @@ 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
+ export declare const DiagnosticCodeRegex: RegExp;
6
7
  /**
7
8
  * An object that keeps track of all possible error messages.
8
9
  */
9
10
  export declare let DiagnosticMessages: {
10
11
  genericParserMessage: (message: string) => {
11
12
  message: string;
12
- code: number;
13
+ legacyCode: number;
13
14
  severity: 1;
15
+ code: string;
14
16
  };
15
17
  /**
16
18
  *
@@ -21,704 +23,851 @@ export declare let DiagnosticMessages: {
21
23
  */
22
24
  cannotFindName: (name: string, fullName?: string, typeName?: string, typeDescriptor?: string) => {
23
25
  message: string;
24
- code: number;
26
+ legacyCode: number;
25
27
  data: {
26
28
  name: string;
27
29
  fullName: string;
28
30
  typeName: string;
29
31
  };
30
32
  severity: 1;
33
+ code: string;
31
34
  };
32
35
  mismatchArgumentCount: (expectedCount: number | string, actualCount: number) => {
33
36
  message: string;
34
- code: number;
37
+ legacyCode: number;
35
38
  severity: 1;
39
+ code: string;
36
40
  };
37
41
  duplicateFunctionImplementation: (functionName: string) => {
38
42
  message: string;
39
- code: number;
43
+ legacyCode: number;
40
44
  severity: 1;
45
+ code: string;
41
46
  };
42
47
  referencedFileDoesNotExist: () => {
43
48
  message: string;
44
- code: number;
49
+ legacyCode: number;
45
50
  severity: 1;
51
+ code: string;
46
52
  };
47
53
  xmlComponentMissingComponentDeclaration: () => {
48
54
  message: string;
49
- code: number;
55
+ legacyCode: number;
50
56
  severity: 1;
57
+ code: string;
51
58
  };
52
59
  xmlComponentMissingNameAttribute: () => {
53
60
  message: string;
54
- code: number;
61
+ legacyCode: number;
55
62
  severity: 1;
63
+ code: string;
56
64
  };
57
65
  xmlComponentMissingExtendsAttribute: () => {
58
66
  message: string;
59
- code: number;
67
+ legacyCode: number;
60
68
  severity: 2;
69
+ code: string;
61
70
  };
62
- xmlGenericParseError: (message: string) => {
71
+ syntaxError: (message: string) => {
63
72
  message: string;
64
- code: number;
73
+ legacyCode: number;
65
74
  severity: 1;
75
+ code: string;
66
76
  };
67
77
  unnecessaryScriptImportInChildFromParent: (parentComponentName: string) => {
68
78
  message: string;
69
- code: number;
79
+ legacyCode: number;
70
80
  severity: 2;
81
+ code: string;
71
82
  };
72
83
  overridesAncestorFunction: (callableName: string, currentScopeName: string, parentFilePath: string, parentScopeName: string) => {
73
84
  message: string;
74
- code: number;
85
+ legacyCode: number;
75
86
  severity: 4;
87
+ code: string;
76
88
  };
77
89
  localVarFunctionShadowsParentFunction: (scopeName: 'stdlib' | 'scope') => {
78
90
  message: string;
79
- code: number;
91
+ legacyCode: number;
80
92
  severity: 2;
93
+ code: string;
81
94
  };
82
95
  scriptImportCaseMismatch: (correctFilePath: string) => {
83
96
  message: string;
84
- code: number;
97
+ legacyCode: number;
85
98
  severity: 2;
99
+ code: string;
86
100
  };
87
101
  fileNotReferencedByAnyOtherFile: () => {
88
102
  message: string;
89
- code: number;
103
+ legacyCode: number;
90
104
  severity: 2;
105
+ code: string;
91
106
  };
92
- unknownDiagnosticCode: (theUnknownCode: number) => {
107
+ unknownDiagnosticCode: (theUnknownCode: number | string) => {
93
108
  message: string;
94
- code: number;
109
+ legacyCode: number;
95
110
  severity: 2;
111
+ code: string;
96
112
  };
97
113
  scriptSrcCannotBeEmpty: () => {
98
114
  message: string;
99
- code: number;
115
+ legacyCode: number;
100
116
  severity: 1;
117
+ code: string;
101
118
  };
102
- expectedIdentifierAfterKeyword: (keywordText: string) => {
119
+ expectedIdentifier: (preceedingTokenText?: string) => {
103
120
  message: string;
104
- code: number;
121
+ legacyCode: number;
105
122
  severity: 1;
123
+ code: string;
106
124
  };
107
125
  missingCallableKeyword: () => {
108
126
  message: string;
109
- code: number;
127
+ legacyCode: number;
110
128
  severity: 1;
129
+ code: string;
111
130
  };
112
- expectedValidTypeToFollowAsKeyword: () => {
131
+ __unused12: () => {
113
132
  message: string;
114
- code: number;
133
+ legacyCode: number;
115
134
  severity: 1;
135
+ code: string;
116
136
  };
117
137
  bsFeatureNotSupportedInBrsFiles: (featureName: any) => {
118
138
  message: string;
119
- code: number;
139
+ legacyCode: number;
120
140
  severity: 1;
141
+ code: string;
121
142
  };
122
- brsConfigJsonIsDeprecated: () => {
143
+ __ununsed12: () => {
123
144
  message: string;
124
- code: number;
145
+ legacyCode: number;
125
146
  severity: 2;
147
+ code: string;
126
148
  };
127
149
  bsConfigJsonHasSyntaxErrors: (message: string) => {
128
150
  message: string;
129
- code: number;
151
+ legacyCode: number;
130
152
  severity: 1;
153
+ code: string;
131
154
  };
132
- itemIsDeprecated: () => {
155
+ itemIsDeprecated: (itemName?: string, deprecatedDescription?: string) => {
133
156
  message: string;
134
- code: number;
157
+ legacyCode: number;
135
158
  severity: 4;
159
+ code: string;
136
160
  };
137
161
  cannotUseOverrideKeywordOnConstructorFunction: () => {
138
162
  message: string;
139
- code: number;
163
+ legacyCode: number;
140
164
  severity: 1;
165
+ code: string;
141
166
  };
142
- statementMustBeDeclaredAtTopOfFile: (statementKeyword: string) => {
167
+ unexpectedStatementLocation: (statementKeyword: string, locationText: string) => {
143
168
  message: string;
144
- code: number;
169
+ legacyCode: number;
145
170
  severity: 1;
171
+ code: string;
146
172
  };
147
- methodDoesNotExistOnType: (methodName: string, className: string) => {
173
+ __unused8: (methodName: string, className: string) => {
148
174
  message: string;
149
- code: number;
175
+ legacyCode: number;
150
176
  severity: 1;
151
177
  };
152
178
  duplicateIdentifier: (memberName: string) => {
153
179
  message: string;
154
- code: number;
180
+ legacyCode: number;
155
181
  severity: 1;
182
+ code: string;
156
183
  };
157
184
  missingOverrideKeyword: (ancestorClassName: string) => {
158
185
  message: string;
159
- code: number;
186
+ legacyCode: number;
160
187
  severity: 1;
188
+ code: string;
161
189
  };
162
190
  nameCollision: (thisThingKind: string, thatThingKind: string, thatThingName: string) => {
163
191
  message: string;
164
- code: number;
192
+ legacyCode: number;
165
193
  severity: 1;
194
+ code: string;
166
195
  };
167
- classCouldNotBeFound: (className: string, scopeName: string) => {
196
+ __unused9: (className: string, scopeName: string) => {
168
197
  message: string;
169
- code: number;
198
+ legacyCode: number;
170
199
  severity: 1;
171
200
  data: {
172
201
  className: string;
173
202
  };
174
203
  };
175
- expectedClassFieldIdentifier: () => {
204
+ __unused27: () => {
176
205
  message: string;
177
- code: number;
206
+ legacyCode: number;
178
207
  severity: 1;
208
+ code: string;
179
209
  };
180
210
  expressionIsNotConstructable: (expressionType: string) => {
181
211
  message: string;
182
- code: number;
212
+ legacyCode: number;
183
213
  severity: 1;
214
+ code: string;
184
215
  };
185
216
  expectedKeyword: (kind: TokenKind) => {
186
217
  message: string;
187
- code: number;
218
+ legacyCode: number;
188
219
  severity: 1;
220
+ code: string;
189
221
  };
190
- expectedLeftParenAfterCallable: (callableType: string) => {
222
+ __unused28: (callableType: string) => {
191
223
  message: string;
192
- code: number;
224
+ legacyCode: number;
193
225
  severity: 1;
226
+ code: string;
194
227
  };
195
- expectedNameAfterCallableKeyword: (callableType: string) => {
228
+ __unused29: (callableType: string) => {
196
229
  message: string;
197
- code: number;
230
+ legacyCode: number;
198
231
  severity: 1;
232
+ code: string;
199
233
  };
200
- expectedLeftParenAfterCallableName: (callableType: string) => {
234
+ __unused30: (callableType: string) => {
201
235
  message: string;
202
- code: number;
236
+ legacyCode: number;
203
237
  severity: 1;
238
+ code: string;
204
239
  };
205
240
  tooManyCallableParameters: (actual: number, max: number) => {
206
241
  message: string;
207
- code: number;
242
+ legacyCode: number;
208
243
  severity: 1;
244
+ code: string;
209
245
  };
210
246
  __unused: (typeText: string) => {
211
247
  message: string;
212
- code: number;
248
+ legacyCode: number;
213
249
  severity: 1;
214
250
  };
215
251
  requiredParameterMayNotFollowOptionalParameter: (parameterName: string) => {
216
252
  message: string;
217
- code: number;
253
+ legacyCode: number;
218
254
  severity: 1;
255
+ code: string;
219
256
  };
220
257
  expectedNewlineOrColon: () => {
221
258
  message: string;
222
- code: number;
259
+ legacyCode: number;
223
260
  severity: 1;
261
+ code: string;
224
262
  };
225
- functionNameCannotEndWithTypeDesignator: (callableType: string, name: string, designator: string) => {
263
+ invalidIdentifier: (name: string, character: string) => {
226
264
  message: string;
227
- code: number;
265
+ legacyCode: number;
228
266
  severity: 1;
267
+ code: string;
229
268
  };
230
- callableBlockMissingEndKeyword: (callableType: string) => {
269
+ __unused31: (callableType: string) => {
231
270
  message: string;
232
- code: number;
271
+ legacyCode: number;
233
272
  severity: 1;
273
+ code: string;
234
274
  };
235
- mismatchedEndCallableKeyword: (expectedCallableType: string, actualCallableType: string) => {
275
+ closingKeywordMismatch: (expectedCallableType: string, actualCallableType: string) => {
236
276
  message: string;
237
- code: number;
277
+ legacyCode: number;
238
278
  severity: 1;
279
+ code: string;
239
280
  };
240
281
  expectedParameterNameButFound: (text: string) => {
241
282
  message: string;
242
- code: number;
283
+ legacyCode: number;
243
284
  severity: 1;
285
+ code: string;
244
286
  };
245
287
  __unused2: (parameterName: string, typeText: string) => {
246
288
  message: string;
247
- code: number;
289
+ legacyCode: number;
248
290
  severity: 1;
249
291
  };
250
292
  cannotUseReservedWordAsIdentifier: (name: string) => {
251
293
  message: string;
252
- code: number;
294
+ legacyCode: number;
253
295
  severity: 1;
296
+ code: string;
254
297
  };
255
- expectedOperatorAfterIdentifier: (operators: TokenKind[], name: string) => {
298
+ expectedOperator: (operators: TokenKind[], name: string) => {
256
299
  message: string;
257
- code: number;
300
+ legacyCode: number;
258
301
  severity: 1;
302
+ code: string;
259
303
  };
260
304
  expectedInlineIfStatement: () => {
261
305
  message: string;
262
- code: number;
306
+ legacyCode: number;
263
307
  severity: 1;
308
+ code: string;
264
309
  };
265
310
  expectedFinalNewline: () => {
266
311
  message: string;
267
- code: number;
312
+ legacyCode: number;
268
313
  severity: 1;
314
+ code: string;
269
315
  };
270
316
  couldNotFindMatchingEndKeyword: (keyword: string) => {
271
317
  message: string;
272
- code: number;
318
+ legacyCode: number;
273
319
  severity: 1;
320
+ code: string;
274
321
  };
275
322
  expectedCatchBlockInTryCatch: () => {
276
323
  message: string;
277
- code: number;
324
+ legacyCode: number;
278
325
  severity: 1;
326
+ code: string;
279
327
  };
280
- expectedEndForOrNextToTerminateForLoop: () => {
328
+ expectedEndForOrNextToTerminateForLoop: (forLoopNameText?: string) => {
281
329
  message: string;
282
- code: number;
330
+ legacyCode: number;
283
331
  severity: 1;
332
+ code: string;
284
333
  };
285
- expectedInAfterForEach: (name: string) => {
334
+ __unused32: (name: string) => {
286
335
  message: string;
287
- code: number;
336
+ legacyCode: number;
288
337
  severity: 1;
338
+ code: string;
289
339
  };
290
340
  expectedExpressionAfterForEachIn: () => {
291
341
  message: string;
292
- code: number;
342
+ legacyCode: number;
293
343
  severity: 1;
344
+ code: string;
294
345
  };
295
346
  unexpectedColonBeforeIfStatement: () => {
296
347
  message: string;
297
- code: number;
348
+ legacyCode: number;
298
349
  severity: 1;
350
+ code: string;
299
351
  };
300
352
  expectedStringLiteralAfterKeyword: (keyword: string) => {
301
353
  message: string;
302
- code: number;
354
+ legacyCode: number;
303
355
  severity: 1;
356
+ code: string;
304
357
  };
305
358
  keywordMustBeDeclaredAtRootLevel: (keyword: string) => {
306
359
  message: string;
307
- code: number;
360
+ legacyCode: number;
308
361
  severity: 1;
362
+ code: string;
309
363
  };
310
364
  __unused5: () => {
311
365
  message: string;
312
- code: number;
366
+ legacyCode: number;
313
367
  severity: 1;
314
368
  };
315
- expectedEndIfElseIfOrElseToTerminateThenBlock: () => {
369
+ expectedTerminator: (expectedTerminators: string[] | string, statementType: string, blockDescriptor?: 'block' | 'statement') => {
316
370
  message: string;
317
- code: number;
318
371
  severity: 1;
372
+ code: string;
319
373
  };
320
- expectedEndTryToTerminateTryCatch: () => {
374
+ __unused14: () => {
321
375
  message: string;
322
- code: number;
376
+ legacyCode: number;
323
377
  severity: 1;
378
+ code: string;
324
379
  };
325
- expectedEndIfToCloseIfStatement: (startingPosition: Position) => {
380
+ __unused15: () => {
326
381
  message: string;
327
- code: number;
382
+ legacyCode: number;
328
383
  severity: 1;
384
+ code: string;
329
385
  };
330
- expectedStatementToFollowConditionalCondition: (conditionType: string) => {
386
+ __unused16: (startingPosition: Position) => {
331
387
  message: string;
332
- code: number;
388
+ legacyCode: number;
333
389
  severity: 1;
390
+ code: string;
334
391
  };
335
- expectedStatementToFollowElse: () => {
392
+ expectedStatement: (conditionType?: string, extraDetail?: string) => {
336
393
  message: string;
337
- code: number;
338
394
  severity: 1;
395
+ code: string;
339
396
  };
340
- consecutiveIncrementDecrementOperatorsAreNotAllowed: () => {
397
+ __unused18: (conditionType: string) => {
341
398
  message: string;
342
- code: number;
399
+ legacyCode: number;
343
400
  severity: 1;
401
+ code: string;
344
402
  };
345
- incrementDecrementOperatorsAreNotAllowedAsResultOfFunctionCall: () => {
403
+ __unused19: () => {
346
404
  message: string;
347
- code: number;
405
+ legacyCode: number;
348
406
  severity: 1;
407
+ code: string;
408
+ };
409
+ unexpectedOperator: () => {
410
+ message: string;
411
+ legacyCode: number;
412
+ severity: 1;
413
+ code: string;
414
+ };
415
+ __unused13: () => {
416
+ message: string;
417
+ legacyCode: number;
418
+ severity: 1;
419
+ code: string;
349
420
  };
350
421
  xmlUnexpectedTag: (tagName: string) => {
351
422
  message: string;
352
- code: number;
423
+ legacyCode: number;
353
424
  severity: 1;
425
+ code: string;
354
426
  };
355
- expectedStatementOrFunctionCallButReceivedExpression: () => {
427
+ __unused20: () => {
356
428
  message: string;
357
- code: number;
429
+ legacyCode: number;
358
430
  severity: 1;
431
+ code: string;
359
432
  };
360
433
  xmlFunctionNotFound: (name: string) => {
361
434
  message: string;
362
- code: number;
435
+ legacyCode: number;
363
436
  severity: 1;
437
+ code: string;
364
438
  };
365
439
  xmlInvalidFieldType: (name: string) => {
366
440
  message: string;
367
- code: number;
441
+ legacyCode: number;
368
442
  severity: 1;
443
+ code: string;
369
444
  };
370
445
  xmlUnexpectedChildren: (tagName: string) => {
371
446
  message: string;
372
- code: number;
447
+ legacyCode: number;
373
448
  severity: 1;
449
+ code: string;
374
450
  };
375
451
  xmlTagMissingAttribute: (tagName: string, attrName: string) => {
376
452
  message: string;
377
- code: number;
453
+ legacyCode: number;
378
454
  severity: 1;
455
+ code: string;
379
456
  };
380
457
  expectedLabelIdentifierAfterGotoKeyword: () => {
381
458
  message: string;
382
- code: number;
459
+ legacyCode: number;
383
460
  severity: 1;
461
+ code: string;
384
462
  };
385
- expectedRightSquareBraceAfterArrayOrObjectIndex: () => {
463
+ __unused26: () => {
386
464
  message: string;
387
- code: number;
465
+ legacyCode: number;
388
466
  severity: 1;
467
+ code: string;
389
468
  };
390
- expectedPropertyNameAfterPeriod: () => {
469
+ __unused21: () => {
391
470
  message: string;
392
- code: number;
471
+ legacyCode: number;
393
472
  severity: 1;
473
+ code: string;
394
474
  };
395
475
  tooManyCallableArguments: (actual: number, max: number) => {
396
476
  message: string;
397
- code: number;
477
+ legacyCode: number;
398
478
  severity: 1;
479
+ code: string;
399
480
  };
400
- expectedRightParenAfterFunctionCallArguments: () => {
481
+ /**
482
+ * @param unmatchedToken Should be one of '(', '[', or '{'
483
+ * @param afterDetail any additional message to describe what came before the unmatched token
484
+ */
485
+ unmatchedLeftToken: (unmatchedToken: string, afterDetail?: string) => {
401
486
  message: string;
402
- code: number;
487
+ legacyCode: number;
403
488
  severity: 1;
489
+ code: string;
404
490
  };
405
- unmatchedLeftParenAfterExpression: () => {
491
+ __unused23: () => {
406
492
  message: string;
407
- code: number;
493
+ legacyCode: number;
408
494
  severity: 1;
495
+ code: string;
409
496
  };
410
- unmatchedLeftSquareBraceAfterArrayLiteral: () => {
497
+ __unused24: () => {
411
498
  message: string;
412
- code: number;
499
+ legacyCode: number;
413
500
  severity: 1;
501
+ code: string;
414
502
  };
415
503
  unexpectedAAKey: () => {
416
504
  message: string;
417
- code: number;
505
+ legacyCode: number;
418
506
  severity: 1;
507
+ code: string;
419
508
  };
420
509
  expectedColonBetweenAAKeyAndvalue: () => {
421
510
  message: string;
422
- code: number;
511
+ legacyCode: number;
423
512
  severity: 1;
513
+ code: string;
424
514
  };
425
- unmatchedLeftCurlyAfterAALiteral: () => {
515
+ __unused25: () => {
426
516
  message: string;
427
- code: number;
517
+ legacyCode: number;
428
518
  severity: 1;
519
+ code: string;
429
520
  };
430
521
  unexpectedToken: (text: string) => {
431
522
  message: string;
432
- code: number;
523
+ legacyCode: number;
433
524
  severity: 1;
525
+ code: string;
434
526
  };
435
527
  /**
436
528
  * Used in the lexer anytime we encounter an unsupported character
437
529
  */
438
530
  unexpectedCharacter: (text: string) => {
439
531
  message: string;
440
- code: number;
532
+ legacyCode: number;
441
533
  severity: 1;
534
+ code: string;
442
535
  };
443
- unterminatedStringAtEndOfLine: () => {
536
+ unterminatedString: () => {
444
537
  message: string;
445
- code: number;
538
+ legacyCode: number;
446
539
  severity: 1;
540
+ code: string;
447
541
  };
448
- unterminatedStringAtEndOfFile: () => {
542
+ __unused33: () => {
449
543
  message: string;
450
- code: number;
544
+ legacyCode: number;
451
545
  severity: 1;
546
+ code: string;
452
547
  };
453
- fractionalHexLiteralsAreNotSupported: () => {
548
+ __unused44: () => {
454
549
  message: string;
455
- code: number;
550
+ legacyCode: number;
456
551
  severity: 1;
552
+ code: string;
457
553
  };
458
554
  unexpectedConditionalCompilationString: () => {
459
555
  message: string;
460
- code: number;
556
+ legacyCode: number;
461
557
  severity: 1;
558
+ code: string;
462
559
  };
463
560
  duplicateConstDeclaration: (name: string) => {
464
561
  message: string;
465
- code: number;
562
+ legacyCode: number;
466
563
  severity: 1;
564
+ code: string;
467
565
  };
468
- constAliasDoesNotExist: (name: string) => {
566
+ __unused34: (name: string) => {
469
567
  message: string;
470
- code: number;
568
+ legacyCode: number;
471
569
  severity: 1;
570
+ code: string;
472
571
  };
473
572
  invalidHashConstValue: () => {
474
573
  message: string;
475
- code: number;
574
+ legacyCode: number;
476
575
  severity: 1;
576
+ code: string;
477
577
  };
478
- referencedConstDoesNotExist: () => {
578
+ hashConstDoesNotExist: () => {
479
579
  message: string;
480
- code: number;
580
+ legacyCode: number;
481
581
  severity: 1;
582
+ code: string;
482
583
  };
483
584
  invalidHashIfValue: () => {
484
585
  message: string;
485
- code: number;
586
+ legacyCode: number;
486
587
  severity: 1;
588
+ code: string;
487
589
  };
590
+ /**
591
+ * 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.
592
+ */
488
593
  hashError: (message: string) => {
489
594
  message: string;
490
- code: number;
595
+ legacyCode: number;
491
596
  severity: 1;
597
+ code: string;
492
598
  };
493
- expectedEqualAfterConstName: () => {
599
+ __unused43: () => {
494
600
  message: string;
495
- code: number;
601
+ legacyCode: number;
496
602
  severity: 1;
603
+ code: string;
497
604
  };
498
- expectedHashEndIfToCloseHashIf: (startingLine: number) => {
605
+ __unused17: (startingLine: number) => {
499
606
  message: string;
500
- code: number;
607
+ legacyCode: number;
501
608
  severity: 1;
609
+ code: string;
502
610
  };
503
- constNameCannotBeReservedWord: () => {
611
+ __unused35: () => {
504
612
  message: string;
505
- code: number;
613
+ legacyCode: number;
506
614
  severity: 1;
615
+ code: string;
507
616
  };
508
- expectedIdentifier: () => {
617
+ __unused22: () => {
509
618
  message: string;
510
- code: number;
619
+ legacyCode: number;
511
620
  severity: 1;
621
+ code: string;
512
622
  };
513
623
  expectedAttributeNameAfterAtSymbol: () => {
514
624
  message: string;
515
- code: number;
625
+ legacyCode: number;
516
626
  severity: 1;
627
+ code: string;
517
628
  };
518
629
  childFieldTypeNotAssignableToBaseProperty: (childTypeName: string, baseTypeName: string, fieldName: string, childFieldType: string, parentFieldType: string) => {
519
630
  message: string;
520
- code: number;
631
+ legacyCode: number;
521
632
  severity: 1;
633
+ code: string;
522
634
  };
523
- classChildMemberDifferentMemberTypeThanAncestor: (memberType: string, parentMemberType: string, parentClassName: string) => {
635
+ __unused36: (memberType: string, parentMemberType: string, parentClassName: string) => {
524
636
  message: string;
525
- code: number;
637
+ legacyCode: number;
526
638
  severity: 1;
639
+ code: string;
527
640
  };
528
641
  classConstructorMissingSuperCall: () => {
529
642
  message: string;
530
- code: number;
643
+ legacyCode: number;
531
644
  severity: 1;
645
+ code: string;
532
646
  };
533
647
  classConstructorIllegalUseOfMBeforeSuperCall: () => {
534
648
  message: string;
535
- code: number;
649
+ legacyCode: number;
536
650
  severity: 1;
651
+ code: string;
537
652
  };
538
653
  classFieldCannotBeOverridden: () => {
539
654
  message: string;
540
- code: number;
655
+ legacyCode: number;
541
656
  severity: 1;
657
+ code: string;
542
658
  };
543
659
  unusedAnnotation: () => {
544
660
  message: string;
545
- code: number;
661
+ legacyCode: number;
546
662
  severity: 1;
663
+ code: string;
547
664
  };
548
665
  localVarShadowedByScopedFunction: () => {
549
666
  message: string;
550
- code: number;
667
+ legacyCode: number;
551
668
  severity: 1;
669
+ code: string;
552
670
  };
553
671
  scopeFunctionShadowedByBuiltInFunction: () => {
554
672
  message: string;
555
- code: number;
673
+ legacyCode: number;
556
674
  severity: 1;
675
+ code: string;
557
676
  };
558
- localVarSameNameAsClass: (className: string) => {
677
+ __unused38: (className: string) => {
559
678
  message: string;
560
- code: number;
679
+ legacyCode: number;
561
680
  severity: 1;
681
+ code: string;
562
682
  };
563
- unnecessaryCodebehindScriptImport: () => {
683
+ __unused45: () => {
564
684
  message: string;
565
- code: number;
685
+ legacyCode: number;
566
686
  severity: 2;
687
+ code: string;
567
688
  };
568
- expectedOpenParenToFollowCallfuncIdentifier: () => {
689
+ __unused37: () => {
569
690
  message: string;
570
- code: number;
691
+ legacyCode: number;
571
692
  severity: 1;
693
+ code: string;
572
694
  };
573
695
  expectedToken: (...tokenKinds: string[]) => {
574
696
  message: string;
575
- code: number;
697
+ legacyCode: number;
576
698
  severity: 1;
699
+ code: string;
577
700
  };
578
- __unused8: (paramName: string) => {
701
+ __unused10: (paramName: string) => {
579
702
  message: string;
580
- code: number;
703
+ legacyCode: number;
581
704
  severity: 1;
705
+ code: string;
582
706
  };
583
- __unused9: (variableName: string) => {
707
+ __unused11: (variableName: string) => {
584
708
  message: string;
585
- code: number;
709
+ legacyCode: number;
586
710
  severity: 1;
711
+ code: string;
587
712
  };
588
- unterminatedTemplateStringAtEndOfFile: () => {
713
+ unterminatedTemplateString: () => {
589
714
  message: string;
590
- code: number;
715
+ legacyCode: number;
591
716
  severity: 1;
717
+ code: string;
592
718
  };
593
719
  unterminatedTemplateExpression: () => {
594
720
  message: string;
595
- code: number;
721
+ legacyCode: number;
596
722
  severity: 1;
723
+ code: string;
597
724
  };
598
725
  duplicateComponentName: (componentName: string) => {
599
726
  message: string;
600
- code: number;
727
+ legacyCode: number;
601
728
  severity: 1;
729
+ code: string;
602
730
  };
603
731
  __unused6: (className: string) => {
604
732
  message: string;
605
- code: number;
733
+ legacyCode: number;
606
734
  severity: 1;
607
735
  };
608
736
  expectedExceptionVarToFollowCatch: () => {
609
737
  message: string;
610
- code: number;
738
+ legacyCode: number;
611
739
  severity: 1;
740
+ code: string;
612
741
  };
613
742
  missingExceptionExpressionAfterThrowKeyword: () => {
614
743
  message: string;
615
- code: number;
744
+ legacyCode: number;
616
745
  severity: 1;
746
+ code: string;
617
747
  };
618
- missingLeftSquareBracketAfterDimIdentifier: () => {
748
+ __unused42: () => {
619
749
  message: string;
620
- code: number;
750
+ legacyCode: number;
621
751
  severity: 1;
752
+ code: string;
622
753
  };
623
- missingRightSquareBracketAfterDimIdentifier: () => {
754
+ __unused39: () => {
624
755
  message: string;
625
- code: number;
756
+ legacyCode: number;
626
757
  severity: 1;
758
+ code: string;
627
759
  };
628
760
  missingExpressionsInDimStatement: () => {
629
761
  message: string;
630
- code: number;
762
+ legacyCode: number;
631
763
  severity: 1;
764
+ code: string;
632
765
  };
633
766
  mismatchedOverriddenMemberVisibility: (childClassName: string, memberName: string, childAccessModifier: string, ancestorAccessModifier: string, ancestorClassName: string) => {
634
767
  message: string;
635
- code: number;
768
+ legacyCode: number;
636
769
  severity: 1;
770
+ code: string;
637
771
  };
638
772
  __unused3: (typeName: string) => {
639
773
  message: string;
640
- code: number;
774
+ legacyCode: number;
641
775
  severity: 1;
642
776
  };
643
777
  enumValueMustBeType: (expectedType: string) => {
644
778
  message: string;
645
- code: number;
779
+ legacyCode: number;
646
780
  severity: 1;
781
+ code: string;
647
782
  };
648
783
  enumValueIsRequired: (expectedType: string) => {
649
784
  message: string;
650
- code: number;
785
+ legacyCode: number;
651
786
  severity: 1;
787
+ code: string;
652
788
  };
653
- unknownEnumValue: (name: string, enumName: string) => {
789
+ __unused40: (name: string, enumName: string) => {
654
790
  message: string;
655
- code: number;
791
+ legacyCode: number;
656
792
  severity: 1;
793
+ code: string;
657
794
  };
658
795
  __unused7: (scopeName: string, enumName: string) => {
659
796
  message: string;
660
- code: number;
797
+ legacyCode: number;
661
798
  severity: 1;
662
799
  };
663
800
  unknownRoSGNode: (nodeName: string) => {
664
801
  message: string;
665
- code: number;
802
+ legacyCode: number;
666
803
  severity: 1;
804
+ code: string;
667
805
  };
668
806
  unknownBrightScriptComponent: (componentName: string) => {
669
807
  message: string;
670
- code: number;
808
+ legacyCode: number;
671
809
  severity: 1;
810
+ code: string;
672
811
  };
673
812
  mismatchCreateObjectArgumentCount: (componentName: string, allowedArgCounts: number[], actualCount: number) => {
674
813
  message: string;
675
- code: number;
814
+ legacyCode: number;
676
815
  severity: 1;
816
+ code: string;
677
817
  };
678
- deprecatedBrightScriptComponent: (componentName: string, deprecatedDescription?: string) => {
818
+ __unused41: (componentName: string, deprecatedDescription?: string) => {
679
819
  message: string;
680
- code: number;
820
+ legacyCode: number;
681
821
  severity: 1;
822
+ code: string;
682
823
  };
683
824
  circularReferenceDetected: (items: string[], scopeName: string) => {
684
825
  message: string;
685
- code: number;
826
+ legacyCode: number;
686
827
  severity: 1;
828
+ code: string;
687
829
  };
688
830
  unexpectedStatementOutsideFunction: () => {
689
831
  message: string;
690
- code: number;
832
+ legacyCode: number;
691
833
  severity: 1;
834
+ code: string;
692
835
  };
693
836
  detectedTooDeepFileSource: (numberOfParentDirectories: number) => {
694
837
  message: string;
695
- code: number;
838
+ legacyCode: number;
696
839
  severity: 1;
840
+ code: string;
697
841
  };
698
842
  illegalContinueStatement: () => {
699
843
  message: string;
700
- code: number;
844
+ legacyCode: number;
701
845
  severity: 1;
846
+ code: string;
702
847
  };
703
848
  keywordMustBeDeclaredAtNamespaceLevel: (keyword: string) => {
704
849
  message: string;
705
- code: number;
850
+ legacyCode: number;
706
851
  severity: 1;
852
+ code: string;
707
853
  };
708
854
  itemCannotBeUsedAsVariable: (itemType: string) => {
709
855
  message: string;
710
- code: number;
856
+ legacyCode: number;
711
857
  severity: 1;
858
+ code: string;
712
859
  };
713
860
  callfuncHasToManyArgs: (numberOfArgs: number) => {
714
861
  message: string;
715
- code: number;
862
+ legacyCode: number;
716
863
  severity: 1;
864
+ code: string;
717
865
  };
718
866
  noOptionalChainingInLeftHandSideOfAssignment: () => {
719
867
  message: string;
720
- code: number;
868
+ legacyCode: number;
721
869
  severity: 1;
870
+ code: string;
722
871
  };
723
872
  /**
724
873
  *
@@ -729,98 +878,98 @@ export declare let DiagnosticMessages: {
729
878
  */
730
879
  cannotFindFunction: (name: string, fullName?: string, typeName?: string, typeDescriptor?: string) => {
731
880
  message: string;
732
- code: number;
881
+ legacyCode: number;
733
882
  data: {
734
883
  name: string;
735
884
  fullName: string;
736
885
  typeName: string;
737
886
  };
738
887
  severity: 1;
888
+ code: string;
739
889
  };
740
890
  argumentTypeMismatch: (actualTypeString: string, expectedTypeString: string, data?: TypeCompatibilityData) => {
741
891
  message: string;
742
892
  data: TypeCompatibilityData;
743
- code: number;
893
+ legacyCode: number;
744
894
  severity: 1;
895
+ code: string;
745
896
  };
746
897
  returnTypeMismatch: (actualTypeString: string, expectedTypeString: string, data?: TypeCompatibilityData) => {
747
898
  message: string;
748
899
  data: TypeCompatibilityData;
749
- code: number;
900
+ legacyCode: number;
750
901
  severity: 1;
902
+ code: string;
751
903
  };
752
904
  assignmentTypeMismatch: (actualTypeString: string, expectedTypeString: string, data?: TypeCompatibilityData) => {
753
905
  message: string;
754
906
  data: TypeCompatibilityData;
755
- code: number;
907
+ legacyCode: number;
756
908
  severity: 1;
909
+ code: string;
757
910
  };
758
911
  operatorTypeMismatch: (operatorString: string, firstType: string, secondType?: string) => {
759
912
  message: string;
760
- code: number;
913
+ legacyCode: number;
761
914
  severity: 1;
915
+ code: string;
762
916
  };
763
917
  incompatibleSymbolDefinition: (symbol: string, scopeName: string) => {
764
918
  message: string;
765
- code: number;
919
+ legacyCode: number;
766
920
  severity: 1;
921
+ code: string;
767
922
  };
768
923
  memberAccessibilityMismatch: (memberName: string, accessModifierFlag: SymbolTypeFlag, definingClassName: string) => {
769
924
  message: string;
770
- code: number;
771
- severity: 1;
772
- };
773
- typecastStatementMustBeDeclaredAtStart: () => {
774
- message: string;
775
- code: number;
925
+ legacyCode: number;
776
926
  severity: 1;
927
+ code: string;
777
928
  };
778
929
  invalidTypecastStatementApplication: (foundApplication: string) => {
779
930
  message: string;
780
- code: number;
931
+ legacyCode: number;
781
932
  severity: 1;
933
+ code: string;
782
934
  };
783
935
  itemCannotBeUsedAsType: (typeText: string) => {
784
936
  message: string;
785
- code: number;
786
- severity: 1;
787
- };
788
- expectedNewlineInConditionalCompile: () => {
789
- message: string;
790
- code: number;
937
+ legacyCode: number;
791
938
  severity: 1;
939
+ code: string;
792
940
  };
793
- expectedTerminatorOnConditionalCompileBlock: () => {
941
+ unsafeUnmatchedTerminatorInConditionalCompileBlock: (terminator: string) => {
794
942
  message: string;
795
- code: number;
943
+ legacyCode: number;
796
944
  severity: 1;
945
+ code: string;
797
946
  };
798
- unsafeUnmatchedTerminatorInConditionalCompileBlock: (terminator: string) => {
947
+ returnTypeCoercionMismatch: (returnType?: string) => {
799
948
  message: string;
800
- code: number;
949
+ legacyCode: number;
801
950
  severity: 1;
951
+ code: string;
802
952
  };
803
- cannotFindTypeInCommentDoc: (name: string) => {
953
+ cannotFindCallFuncFunction: (name: string, fullName: string, typeName: string) => {
804
954
  message: string;
805
- code: number;
806
955
  data: {
807
956
  name: string;
957
+ fullName: string;
958
+ typeName: string;
959
+ isCallfunc: boolean;
808
960
  };
809
961
  severity: 1;
810
- };
811
- expectedReturnStatement: () => {
812
- message: string;
813
- code: number;
814
- severity: 1;
962
+ code: string;
815
963
  };
816
964
  };
817
965
  export declare const defaultMaximumTruncationLength = 160;
818
966
  export declare function typeCompatibilityMessage(actualTypeString: string, expectedTypeString: string, data: TypeCompatibilityData): string;
819
- export declare const DiagnosticCodeMap: Record<"genericParserMessage" | "cannotFindName" | "mismatchArgumentCount" | "duplicateFunctionImplementation" | "referencedFileDoesNotExist" | "xmlComponentMissingComponentDeclaration" | "xmlComponentMissingNameAttribute" | "xmlComponentMissingExtendsAttribute" | "xmlGenericParseError" | "unnecessaryScriptImportInChildFromParent" | "overridesAncestorFunction" | "localVarFunctionShadowsParentFunction" | "scriptImportCaseMismatch" | "fileNotReferencedByAnyOtherFile" | "unknownDiagnosticCode" | "scriptSrcCannotBeEmpty" | "expectedIdentifierAfterKeyword" | "missingCallableKeyword" | "expectedValidTypeToFollowAsKeyword" | "bsFeatureNotSupportedInBrsFiles" | "brsConfigJsonIsDeprecated" | "bsConfigJsonHasSyntaxErrors" | "itemIsDeprecated" | "cannotUseOverrideKeywordOnConstructorFunction" | "statementMustBeDeclaredAtTopOfFile" | "methodDoesNotExistOnType" | "duplicateIdentifier" | "missingOverrideKeyword" | "nameCollision" | "classCouldNotBeFound" | "expectedClassFieldIdentifier" | "expressionIsNotConstructable" | "expectedKeyword" | "expectedLeftParenAfterCallable" | "expectedNameAfterCallableKeyword" | "expectedLeftParenAfterCallableName" | "tooManyCallableParameters" | "__unused" | "requiredParameterMayNotFollowOptionalParameter" | "expectedNewlineOrColon" | "functionNameCannotEndWithTypeDesignator" | "callableBlockMissingEndKeyword" | "mismatchedEndCallableKeyword" | "expectedParameterNameButFound" | "__unused2" | "cannotUseReservedWordAsIdentifier" | "expectedOperatorAfterIdentifier" | "expectedInlineIfStatement" | "expectedFinalNewline" | "couldNotFindMatchingEndKeyword" | "expectedCatchBlockInTryCatch" | "expectedEndForOrNextToTerminateForLoop" | "expectedInAfterForEach" | "expectedExpressionAfterForEachIn" | "unexpectedColonBeforeIfStatement" | "expectedStringLiteralAfterKeyword" | "keywordMustBeDeclaredAtRootLevel" | "__unused5" | "expectedEndIfElseIfOrElseToTerminateThenBlock" | "expectedEndTryToTerminateTryCatch" | "expectedEndIfToCloseIfStatement" | "expectedStatementToFollowConditionalCondition" | "expectedStatementToFollowElse" | "consecutiveIncrementDecrementOperatorsAreNotAllowed" | "incrementDecrementOperatorsAreNotAllowedAsResultOfFunctionCall" | "xmlUnexpectedTag" | "expectedStatementOrFunctionCallButReceivedExpression" | "xmlFunctionNotFound" | "xmlInvalidFieldType" | "xmlUnexpectedChildren" | "xmlTagMissingAttribute" | "expectedLabelIdentifierAfterGotoKeyword" | "expectedRightSquareBraceAfterArrayOrObjectIndex" | "expectedPropertyNameAfterPeriod" | "tooManyCallableArguments" | "expectedRightParenAfterFunctionCallArguments" | "unmatchedLeftParenAfterExpression" | "unmatchedLeftSquareBraceAfterArrayLiteral" | "unexpectedAAKey" | "expectedColonBetweenAAKeyAndvalue" | "unmatchedLeftCurlyAfterAALiteral" | "unexpectedToken" | "unexpectedCharacter" | "unterminatedStringAtEndOfLine" | "unterminatedStringAtEndOfFile" | "fractionalHexLiteralsAreNotSupported" | "unexpectedConditionalCompilationString" | "duplicateConstDeclaration" | "constAliasDoesNotExist" | "invalidHashConstValue" | "referencedConstDoesNotExist" | "invalidHashIfValue" | "hashError" | "expectedEqualAfterConstName" | "expectedHashEndIfToCloseHashIf" | "constNameCannotBeReservedWord" | "expectedIdentifier" | "expectedAttributeNameAfterAtSymbol" | "childFieldTypeNotAssignableToBaseProperty" | "classChildMemberDifferentMemberTypeThanAncestor" | "classConstructorMissingSuperCall" | "classConstructorIllegalUseOfMBeforeSuperCall" | "classFieldCannotBeOverridden" | "unusedAnnotation" | "localVarShadowedByScopedFunction" | "scopeFunctionShadowedByBuiltInFunction" | "localVarSameNameAsClass" | "unnecessaryCodebehindScriptImport" | "expectedOpenParenToFollowCallfuncIdentifier" | "expectedToken" | "__unused8" | "__unused9" | "unterminatedTemplateStringAtEndOfFile" | "unterminatedTemplateExpression" | "duplicateComponentName" | "__unused6" | "expectedExceptionVarToFollowCatch" | "missingExceptionExpressionAfterThrowKeyword" | "missingLeftSquareBracketAfterDimIdentifier" | "missingRightSquareBracketAfterDimIdentifier" | "missingExpressionsInDimStatement" | "mismatchedOverriddenMemberVisibility" | "__unused3" | "enumValueMustBeType" | "enumValueIsRequired" | "unknownEnumValue" | "__unused7" | "unknownRoSGNode" | "unknownBrightScriptComponent" | "mismatchCreateObjectArgumentCount" | "deprecatedBrightScriptComponent" | "circularReferenceDetected" | "unexpectedStatementOutsideFunction" | "detectedTooDeepFileSource" | "illegalContinueStatement" | "keywordMustBeDeclaredAtNamespaceLevel" | "itemCannotBeUsedAsVariable" | "callfuncHasToManyArgs" | "noOptionalChainingInLeftHandSideOfAssignment" | "cannotFindFunction" | "argumentTypeMismatch" | "returnTypeMismatch" | "assignmentTypeMismatch" | "operatorTypeMismatch" | "incompatibleSymbolDefinition" | "memberAccessibilityMismatch" | "typecastStatementMustBeDeclaredAtStart" | "invalidTypecastStatementApplication" | "itemCannotBeUsedAsType" | "expectedNewlineInConditionalCompile" | "expectedTerminatorOnConditionalCompileBlock" | "unsafeUnmatchedTerminatorInConditionalCompileBlock" | "cannotFindTypeInCommentDoc" | "expectedReturnStatement", number>;
820
- export declare let diagnosticCodes: number[];
967
+ 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" | "argumentTypeMismatch" | "returnTypeMismatch" | "assignmentTypeMismatch" | "operatorTypeMismatch" | "incompatibleSymbolDefinition" | "memberAccessibilityMismatch" | "invalidTypecastStatementApplication" | "itemCannotBeUsedAsType" | "unsafeUnmatchedTerminatorInConditionalCompileBlock" | "returnTypeCoercionMismatch" | "cannotFindCallFuncFunction", string>;
968
+ 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" | "argumentTypeMismatch" | "returnTypeMismatch" | "assignmentTypeMismatch" | "operatorTypeMismatch" | "incompatibleSymbolDefinition" | "memberAccessibilityMismatch" | "invalidTypecastStatementApplication" | "itemCannotBeUsedAsType" | "unsafeUnmatchedTerminatorInConditionalCompileBlock" | "returnTypeCoercionMismatch" | "cannotFindCallFuncFunction", number>;
969
+ export declare let diagnosticCodes: string[];
821
970
  export interface DiagnosticInfo {
822
971
  message: string;
823
- code: number;
972
+ legacyCode: number;
824
973
  severity: DiagnosticSeverity;
825
974
  }
826
975
  /**