brighterscript 1.0.0-alpha.25 → 1.0.0-alpha.26

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 (120) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/bsconfig.schema.json +5 -0
  3. package/dist/AstValidationSegmenter.js +4 -4
  4. package/dist/AstValidationSegmenter.js.map +1 -1
  5. package/dist/BsConfig.d.ts +1 -0
  6. package/dist/Program.d.ts +1 -1
  7. package/dist/Program.js +18 -19
  8. package/dist/Program.js.map +1 -1
  9. package/dist/Scope.d.ts +0 -5
  10. package/dist/Scope.js +8 -14
  11. package/dist/Scope.js.map +1 -1
  12. package/dist/XmlScope.d.ts +0 -5
  13. package/dist/XmlScope.js +3 -21
  14. package/dist/XmlScope.js.map +1 -1
  15. package/dist/astUtils/CachedLookups.js +3 -3
  16. package/dist/astUtils/CachedLookups.js.map +1 -1
  17. package/dist/astUtils/Editor.spec.js +1 -1
  18. package/dist/astUtils/Editor.spec.js.map +1 -1
  19. package/dist/astUtils/creators.js +32 -12
  20. package/dist/astUtils/creators.js.map +1 -1
  21. package/dist/astUtils/creators.spec.js +4 -4
  22. package/dist/astUtils/creators.spec.js.map +1 -1
  23. package/dist/astUtils/reflection.d.ts +1 -1
  24. package/dist/astUtils/reflection.js +1 -1
  25. package/dist/astUtils/reflection.js.map +1 -1
  26. package/dist/astUtils/reflection.spec.js +59 -42
  27. package/dist/astUtils/reflection.spec.js.map +1 -1
  28. package/dist/astUtils/visitors.spec.js +30 -19
  29. package/dist/astUtils/visitors.spec.js.map +1 -1
  30. package/dist/bscPlugin/BscPlugin.d.ts +2 -1
  31. package/dist/bscPlugin/BscPlugin.js +7 -3
  32. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  33. package/dist/bscPlugin/CallExpressionInfo.js +7 -7
  34. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  35. package/dist/bscPlugin/SignatureHelpUtil.js +5 -4
  36. package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -1
  37. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +2 -2
  38. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  39. package/dist/bscPlugin/completions/CompletionsProcessor.js +3 -3
  40. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  41. package/dist/bscPlugin/definition/DefinitionProvider.d.ts +13 -0
  42. package/dist/bscPlugin/definition/DefinitionProvider.js +210 -0
  43. package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -0
  44. package/dist/bscPlugin/definition/DefinitionProvider.spec.d.ts +1 -0
  45. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +88 -0
  46. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +1 -0
  47. package/dist/bscPlugin/hover/HoverProcessor.js +2 -2
  48. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  49. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +0 -2
  50. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  51. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +8 -6
  52. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
  53. package/dist/bscPlugin/validation/BrsFileValidator.js +28 -28
  54. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  55. package/dist/bscPlugin/validation/ScopeValidator.d.ts +4 -0
  56. package/dist/bscPlugin/validation/ScopeValidator.js +51 -20
  57. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  58. package/dist/bscPlugin/validation/ScopeValidator.spec.js +73 -0
  59. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
  60. package/dist/files/BrsFile.Class.spec.js +3 -3
  61. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  62. package/dist/files/BrsFile.d.ts +4 -11
  63. package/dist/files/BrsFile.js +39 -206
  64. package/dist/files/BrsFile.js.map +1 -1
  65. package/dist/files/BrsFile.spec.js +56 -2
  66. package/dist/files/BrsFile.spec.js.map +1 -1
  67. package/dist/interfaces.d.ts +32 -1
  68. package/dist/interfaces.js.map +1 -1
  69. package/dist/parser/AstNode.spec.js +6 -6
  70. package/dist/parser/AstNode.spec.js.map +1 -1
  71. package/dist/parser/Expression.d.ts +288 -145
  72. package/dist/parser/Expression.js +310 -271
  73. package/dist/parser/Expression.js.map +1 -1
  74. package/dist/parser/Parser.Class.spec.js +11 -11
  75. package/dist/parser/Parser.Class.spec.js.map +1 -1
  76. package/dist/parser/Parser.d.ts +5 -0
  77. package/dist/parser/Parser.js +315 -120
  78. package/dist/parser/Parser.js.map +1 -1
  79. package/dist/parser/Parser.spec.js +42 -185
  80. package/dist/parser/Parser.spec.js.map +1 -1
  81. package/dist/parser/Statement.d.ts +332 -188
  82. package/dist/parser/Statement.js +475 -364
  83. package/dist/parser/Statement.js.map +1 -1
  84. package/dist/parser/Statement.spec.js +2 -2
  85. package/dist/parser/Statement.spec.js.map +1 -1
  86. package/dist/parser/tests/controlFlow/For.spec.js +1 -1
  87. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  88. package/dist/parser/tests/controlFlow/ForEach.spec.js +2 -2
  89. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  90. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +1 -1
  91. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
  92. package/dist/parser/tests/expression/Call.spec.js +11 -11
  93. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  94. package/dist/parser/tests/expression/Indexing.spec.js +30 -5
  95. package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
  96. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +2 -2
  97. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  98. package/dist/parser/tests/expression/TernaryExpression.spec.js +2 -2
  99. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  100. package/dist/parser/tests/statement/ConstStatement.spec.js +1 -1
  101. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
  102. package/dist/parser/tests/statement/Dim.spec.js +8 -8
  103. package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
  104. package/dist/parser/tests/statement/Enum.spec.js +2 -2
  105. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  106. package/dist/parser/tests/statement/LibraryStatement.spec.js +2 -2
  107. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
  108. package/dist/parser/tests/statement/Misc.spec.js +2 -2
  109. package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
  110. package/dist/parser/tests/statement/PrintStatement.spec.js +1 -1
  111. package/dist/parser/tests/statement/TryCatch.spec.js +1 -1
  112. package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
  113. package/dist/types/BuiltInInterfaceAdder.js +11 -4
  114. package/dist/types/BuiltInInterfaceAdder.js.map +1 -1
  115. package/dist/util.d.ts +17 -8
  116. package/dist/util.js +96 -51
  117. package/dist/util.js.map +1 -1
  118. package/dist/validators/ClassValidator.js +6 -6
  119. package/dist/validators/ClassValidator.js.map +1 -1
  120. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TryCatch.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/statement/TryCatch.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TryCatch.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/statement/TryCatch.spec.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ const util_1 = require("../util");
9
9
  // eslint-disable-next-line @typescript-eslint/no-extraneous-class
10
10
  class BuiltInInterfaceAdder {
11
11
  static addBuiltInInterfacesToType(thisType, overrides) {
12
- var _a, _b, _c, _d, _e, _f;
12
+ var _a, _b, _c, _d, _e, _f, _g;
13
13
  const builtInMemberTable = thisType.getBuiltInMemberTable();
14
14
  if (!builtInMemberTable) {
15
15
  // no memberTable to add to
@@ -32,13 +32,20 @@ class BuiltInInterfaceAdder {
32
32
  for (const iface of interfacesToLoop) {
33
33
  const lowerIfaceName = iface.name.toLowerCase();
34
34
  const ifaceData = ((_b = roku_types_1.interfaces[lowerIfaceName]) !== null && _b !== void 0 ? _b : roku_types_1.events[lowerIfaceName]);
35
- for (const method of (_c = ifaceData.methods) !== null && _c !== void 0 ? _c : []) {
35
+ if (builtInComponent.interfaces) {
36
+ // this type has interfaces - add them directly as members
37
+ const ifaceType = (_c = this.getLookupTable()) === null || _c === void 0 ? void 0 : _c.getSymbolType(iface.name, { flags: SymbolTable_1.SymbolTypeFlag.typetime });
38
+ if (ifaceType) {
39
+ builtInMemberTable.addSymbol(iface.name, { completionPriority: 1 }, ifaceType, SymbolTable_1.SymbolTypeFlag.runtime);
40
+ }
41
+ }
42
+ for (const method of (_d = ifaceData.methods) !== null && _d !== void 0 ? _d : []) {
36
43
  const methodFuncType = this.buildMethodFromDocData(method, overrides, thisType);
37
44
  builtInMemberTable.addSymbol(method.name, { description: method.description, completionPriority: 1 }, methodFuncType, SymbolTable_1.SymbolTypeFlag.runtime);
38
45
  }
39
- for (const property of (_d = ifaceData.properties) !== null && _d !== void 0 ? _d : []) {
46
+ for (const property of (_e = ifaceData.properties) !== null && _e !== void 0 ? _e : []) {
40
47
  const override = overrides === null || overrides === void 0 ? void 0 : overrides.get(property.name.toLowerCase());
41
- builtInMemberTable.addSymbol(property.name, { description: property.description, completionPriority: 1 }, (_f = (_e = override === null || override === void 0 ? void 0 : override.type) !== null && _e !== void 0 ? _e : this.getPrimitiveType(property.type)) !== null && _f !== void 0 ? _f : this.getPrimitiveType('dynamic'), SymbolTable_1.SymbolTypeFlag.runtime);
48
+ builtInMemberTable.addSymbol(property.name, { description: property.description, completionPriority: 1 }, (_g = (_f = override === null || override === void 0 ? void 0 : override.type) !== null && _f !== void 0 ? _f : this.getPrimitiveType(property.type)) !== null && _g !== void 0 ? _g : this.getPrimitiveType('dynamic'), SymbolTable_1.SymbolTypeFlag.runtime);
42
49
  }
43
50
  }
44
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BuiltInInterfaceAdder.js","sourceRoot":"","sources":["../../src/types/BuiltInInterfaceAdder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BuiltInInterfaceAdder.js","sourceRoot":"","sources":["../../src/types/BuiltInInterfaceAdder.ts"],"names":[],"mappings":"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"}
package/dist/util.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { type Diagnostic, type Position, type Range, type Location } from 'vscode-languageserver';
1
+ import { type Diagnostic, type Position, type Location } from 'vscode-languageserver';
2
+ import { Range } from 'vscode-languageserver';
2
3
  import type { BsConfig, FinalizedBsConfig } from './BsConfig';
3
4
  import type { CallableContainer, BsDiagnostic, FileReference, CallableContainerMap, CompilerPlugin, ExpressionInfo, TypeChainEntry, TypeChainProcessResult } from './interfaces';
4
5
  import { BooleanType } from './types/BooleanType';
@@ -16,12 +17,11 @@ import type { Identifier, Locatable, Token } from './lexer/Token';
16
17
  import { SourceNode } from 'source-map';
17
18
  import type { BrsFile } from './files/BrsFile';
18
19
  import type { XmlFile } from './files/XmlFile';
19
- import type { AstNode } from './parser/AstNode';
20
- import { type Expression, type Statement } from './parser/AstNode';
21
- import type { BscType } from './types/BscType';
22
- import { FunctionType } from './types/FunctionType';
23
- import type { SymbolTable } from './SymbolTable';
20
+ import { type AstNode, type Expression, type Statement } from './parser/AstNode';
24
21
  import type { UnresolvedSymbol } from './AstValidationSegmenter';
22
+ import type { SymbolTable } from './SymbolTable';
23
+ import type { BscType } from './types';
24
+ import { FunctionType } from './types/FunctionType';
25
25
  export declare class Util {
26
26
  clearConsole(): void;
27
27
  /**
@@ -151,6 +151,7 @@ export declare class Util {
151
151
  */
152
152
  rangeContains(range: Range | undefined, position: Position | undefined): boolean;
153
153
  comparePositionToRange(position: Position | undefined, range: Range | undefined): 1 | -1 | 0;
154
+ comparePosition(a: Position | undefined, b: Position): 1 | -1 | 0;
154
155
  /**
155
156
  * Combine all the documentation found before a token (i.e. comment tokens)
156
157
  */
@@ -292,11 +293,19 @@ export declare class Util {
292
293
  */
293
294
  createRangeFromPositions(startPosition: Position, endPosition: Position): Range;
294
295
  /**
295
- * Given a list of ranges, create a range that starts with the first non-null lefthand range, and ends with the first non-null
296
- * righthand range. Returns undefined if none of the items have a range.
296
+ * Gets the bounding range of a bunch of ranges or objects that have ranges
297
+ * TODO: this does a full iteration of the args. If the args were guaranteed to be in range order, we could optimize this
297
298
  */
298
299
  createBoundingRange(...locatables: Array<{
299
300
  range?: Range;
301
+ } | Range>): Range | undefined;
302
+ /**
303
+ * Gets the bounding range of an object that contains a bunch of tokens
304
+ * @param tokens Object with tokens in it
305
+ * @returns Range containing all the tokens
306
+ */
307
+ createBoundingRangeFromTokens(tokens: Record<string, {
308
+ range?: Range;
300
309
  }>): Range | undefined;
301
310
  /**
302
311
  * A cache of `Position` objects. The key is a 26bit integer created from line and character and leveraging bitshifting
package/dist/util.js CHANGED
@@ -6,6 +6,7 @@ const fsExtra = require("fs-extra");
6
6
  const jsonc_parser_1 = require("jsonc-parser");
7
7
  const path = require("path");
8
8
  const roku_deploy_1 = require("roku-deploy");
9
+ const vscode_languageserver_1 = require("vscode-languageserver");
9
10
  const vscode_uri_1 = require("vscode-uri");
10
11
  const xml2js = require("xml2js");
11
12
  const DiagnosticMessages_1 = require("./DiagnosticMessages");
@@ -26,15 +27,13 @@ const visitors_1 = require("./astUtils/visitors");
26
27
  const source_map_1 = require("source-map");
27
28
  const requireRelative = require("require-relative");
28
29
  const AstNode_1 = require("./parser/AstNode");
29
- const creators_1 = require("./astUtils/creators");
30
- const FunctionType_1 = require("./types/FunctionType");
31
- const ArrayType_1 = require("./types/ArrayType");
32
30
  const SymbolTable_1 = require("./SymbolTable");
31
+ const creators_1 = require("./astUtils/creators");
32
+ const diagnosticUtils_1 = require("./diagnosticUtils");
33
+ const types_1 = require("./types");
33
34
  const AssociativeArrayType_1 = require("./types/AssociativeArrayType");
34
35
  const ComponentType_1 = require("./types/ComponentType");
35
- const diagnosticUtils_1 = require("./diagnosticUtils");
36
- const ReferenceType_1 = require("./types/ReferenceType");
37
- const UnionType_1 = require("./types/UnionType");
36
+ const FunctionType_1 = require("./types/FunctionType");
38
37
  class Util {
39
38
  constructor() {
40
39
  /**
@@ -350,7 +349,8 @@ class Util {
350
349
  emitDefinitions: config.emitDefinitions === true ? true : false,
351
350
  removeParameterTypes: config.removeParameterTypes === true ? true : false,
352
351
  logLevel: logLevel,
353
- bslibDestinationDir: bslibDestinationDir
352
+ bslibDestinationDir: bslibDestinationDir,
353
+ legacyCallfuncHandling: config.legacyCallfuncHandling === true ? true : false
354
354
  };
355
355
  //mutate `config` in case anyone is holding a reference to the incomplete one
356
356
  const merged = Object.assign(config, configWithDefaults);
@@ -549,14 +549,27 @@ class Util {
549
549
  return this.comparePositionToRange(position, range) === 0;
550
550
  }
551
551
  comparePositionToRange(position, range) {
552
- //stop if the either range is misisng
552
+ //stop if the either range is missng
553
553
  if (!position || !range) {
554
554
  return 0;
555
555
  }
556
- if (position.line < range.start.line || (position.line === range.start.line && position.character < range.start.character)) {
556
+ if (this.comparePosition(position, range.start) < 0) {
557
+ return -1;
558
+ }
559
+ if (this.comparePosition(position, range.end) > 0) {
560
+ return 1;
561
+ }
562
+ return 0;
563
+ }
564
+ comparePosition(a, b) {
565
+ //stop if the either position is missing
566
+ if (!a || !b) {
567
+ return 0;
568
+ }
569
+ if (a.line < b.line || (a.line === b.line && a.character < b.character)) {
557
570
  return -1;
558
571
  }
559
- if (position.line > range.end.line || (position.line === range.end.line && position.character > range.end.character)) {
572
+ if (a.line > b.line || (a.line === b.line && a.character > b.character)) {
560
573
  return 1;
561
574
  }
562
575
  return 0;
@@ -969,35 +982,67 @@ class Util {
969
982
  return this.createRange(startPosition.line, startPosition.character, endPosition.line, endPosition.character);
970
983
  }
971
984
  /**
972
- * Given a list of ranges, create a range that starts with the first non-null lefthand range, and ends with the first non-null
973
- * righthand range. Returns undefined if none of the items have a range.
985
+ * Gets the bounding range of a bunch of ranges or objects that have ranges
986
+ * TODO: this does a full iteration of the args. If the args were guaranteed to be in range order, we could optimize this
974
987
  */
975
988
  createBoundingRange(...locatables) {
976
- let leftmostRange;
977
- let rightmostRange;
978
- for (let i = 0; i < locatables.length; i++) {
979
- //set the leftmost non-null-range item
980
- const left = locatables[i];
989
+ let startPosition;
990
+ let endPosition;
991
+ for (let locatable of locatables) {
981
992
  //the range might be a getter, so access it exactly once
982
- const leftRange = left === null || left === void 0 ? void 0 : left.range;
983
- if (!leftmostRange && leftRange) {
984
- leftmostRange = leftRange;
993
+ const locatableRange = vscode_languageserver_1.Range.is(locatable) ? locatable : locatable === null || locatable === void 0 ? void 0 : locatable.range;
994
+ if (!locatableRange) {
995
+ continue;
985
996
  }
986
- //set the rightmost non-null-range item
987
- const right = locatables[locatables.length - 1 - i];
988
- //the range might be a getter, so access it exactly once
989
- const rightRange = right === null || right === void 0 ? void 0 : right.range;
990
- if (!rightmostRange && rightRange) {
991
- rightmostRange = rightRange;
997
+ if (!startPosition) {
998
+ startPosition = locatableRange.start;
992
999
  }
993
- //if we have both sides, quit
994
- if (leftmostRange && rightmostRange) {
995
- break;
1000
+ else if (this.comparePosition(locatableRange.start, startPosition) < 0) {
1001
+ startPosition = locatableRange.start;
1002
+ }
1003
+ if (!endPosition) {
1004
+ endPosition = locatableRange.end;
1005
+ }
1006
+ else if (this.comparePosition(locatableRange.end, endPosition) > 0) {
1007
+ endPosition = locatableRange.end;
1008
+ }
1009
+ }
1010
+ if (startPosition && endPosition) {
1011
+ return this.createRangeFromPositions(startPosition, endPosition);
1012
+ }
1013
+ else {
1014
+ return undefined;
1015
+ }
1016
+ }
1017
+ /**
1018
+ * Gets the bounding range of an object that contains a bunch of tokens
1019
+ * @param tokens Object with tokens in it
1020
+ * @returns Range containing all the tokens
1021
+ */
1022
+ createBoundingRangeFromTokens(tokens) {
1023
+ var _a;
1024
+ let startPosition;
1025
+ let endPosition;
1026
+ for (let key in tokens) {
1027
+ let locatableRange = (_a = tokens === null || tokens === void 0 ? void 0 : tokens[key]) === null || _a === void 0 ? void 0 : _a.range;
1028
+ if (!locatableRange) {
1029
+ continue;
1030
+ }
1031
+ if (!startPosition) {
1032
+ startPosition = locatableRange.start;
1033
+ }
1034
+ else if (this.comparePosition(locatableRange.start, startPosition) < 0) {
1035
+ startPosition = locatableRange.start;
1036
+ }
1037
+ if (!endPosition) {
1038
+ endPosition = locatableRange.end;
1039
+ }
1040
+ else if (this.comparePosition(locatableRange.end, endPosition) > 0) {
1041
+ endPosition = locatableRange.end;
996
1042
  }
997
1043
  }
998
- if (leftmostRange) {
999
- //if we don't have a rightmost range, use the leftmost range for both the start and end
1000
- return this.createRangeFromPositions(leftmostRange.start, rightmostRange ? rightmostRange.end : leftmostRange.end);
1044
+ if (startPosition && endPosition) {
1045
+ return this.createRangeFromPositions(startPosition, endPosition);
1001
1046
  }
1002
1047
  else {
1003
1048
  return undefined;
@@ -1122,7 +1167,7 @@ class Util {
1122
1167
  return rect2dType;
1123
1168
  }
1124
1169
  function getColorType() {
1125
- return (0, UnionType_1.unionTypeFactory)([IntegerType_1.IntegerType.instance, StringType_1.StringType.instance]);
1170
+ return (0, types_1.unionTypeFactory)([IntegerType_1.IntegerType.instance, StringType_1.StringType.instance]);
1126
1171
  }
1127
1172
  if (typeDescriptorLower.startsWith('array of ')) {
1128
1173
  let arrayOfTypeName = typeDescriptorLower.substring(9); //cut off beginning 'array of'
@@ -1135,7 +1180,7 @@ class Util {
1135
1180
  arrayOfTypeName = arrayOfTypeName.substring(0, arrayOfTypeName.length - 1);
1136
1181
  }
1137
1182
  let arrayType = this.getNodeFieldType(arrayOfTypeName, lookupTable);
1138
- return new ArrayType_1.ArrayType(arrayType);
1183
+ return new types_1.ArrayType(arrayType);
1139
1184
  }
1140
1185
  else if (typeDescriptorLower.startsWith('option ')) {
1141
1186
  const actualTypeName = typeDescriptorLower.substring('option '.length); //cut off beginning 'option '
@@ -1152,22 +1197,22 @@ class Util {
1152
1197
  return getColorType();
1153
1198
  }
1154
1199
  else if (typeDescriptorLower === 'vector2d' || typeDescriptorLower === 'floatarray') {
1155
- return new ArrayType_1.ArrayType(FloatType_1.FloatType.instance);
1200
+ return new types_1.ArrayType(FloatType_1.FloatType.instance);
1156
1201
  }
1157
1202
  else if (typeDescriptorLower === 'vector2darray') {
1158
- return new ArrayType_1.ArrayType(new ArrayType_1.ArrayType(FloatType_1.FloatType.instance));
1203
+ return new types_1.ArrayType(new types_1.ArrayType(FloatType_1.FloatType.instance));
1159
1204
  }
1160
1205
  else if (typeDescriptorLower === 'intarray') {
1161
- return new ArrayType_1.ArrayType(IntegerType_1.IntegerType.instance);
1206
+ return new types_1.ArrayType(IntegerType_1.IntegerType.instance);
1162
1207
  }
1163
1208
  else if (typeDescriptorLower === 'colorarray') {
1164
- return new ArrayType_1.ArrayType(getColorType());
1209
+ return new types_1.ArrayType(getColorType());
1165
1210
  }
1166
1211
  else if (typeDescriptorLower === 'boolarray') {
1167
- return new ArrayType_1.ArrayType(BooleanType_1.BooleanType.instance);
1212
+ return new types_1.ArrayType(BooleanType_1.BooleanType.instance);
1168
1213
  }
1169
1214
  else if (typeDescriptorLower === 'stringarray' || typeDescriptorLower === 'strarray') {
1170
- return new ArrayType_1.ArrayType(StringType_1.StringType.instance);
1215
+ return new types_1.ArrayType(StringType_1.StringType.instance);
1171
1216
  }
1172
1217
  else if (typeDescriptorLower === 'int') {
1173
1218
  return IntegerType_1.IntegerType.instance;
@@ -1182,7 +1227,7 @@ class Util {
1182
1227
  return BooleanType_1.BooleanType.instance;
1183
1228
  }
1184
1229
  else if (typeDescriptorLower === 'array') {
1185
- return new ArrayType_1.ArrayType();
1230
+ return new types_1.ArrayType();
1186
1231
  }
1187
1232
  else if (typeDescriptorLower === 'assocarray' || typeDescriptorLower === 'associative array' || typeDescriptorLower === 'associativearray') {
1188
1233
  return new AssociativeArrayType_1.AssociativeArrayType();
@@ -1191,13 +1236,13 @@ class Util {
1191
1236
  return ComponentType_1.ComponentType.instance;
1192
1237
  }
1193
1238
  else if (typeDescriptorLower === 'nodearray') {
1194
- return new ArrayType_1.ArrayType(ComponentType_1.ComponentType.instance);
1239
+ return new types_1.ArrayType(ComponentType_1.ComponentType.instance);
1195
1240
  }
1196
1241
  else if (typeDescriptorLower === 'rect2d') {
1197
1242
  return getRect2dType();
1198
1243
  }
1199
1244
  else if (typeDescriptorLower === 'rect2darray') {
1200
- return new ArrayType_1.ArrayType(getRect2dType());
1245
+ return new types_1.ArrayType(getRect2dType());
1201
1246
  }
1202
1247
  else if (lookupTable) {
1203
1248
  //try doing a lookup
@@ -1213,7 +1258,7 @@ class Util {
1213
1258
  binaryOperatorResultType(leftType, operator, rightType) {
1214
1259
  if (((0, reflection_1.isAnyReferenceType)(leftType) && !leftType.isResolvable()) ||
1215
1260
  ((0, reflection_1.isAnyReferenceType)(rightType) && !rightType.isResolvable())) {
1216
- return new ReferenceType_1.BinaryOperatorReferenceType(leftType, operator, rightType, (lhs, op, rhs) => {
1261
+ return new types_1.BinaryOperatorReferenceType(leftType, operator, rightType, (lhs, op, rhs) => {
1217
1262
  return this.binaryOperatorResultType(lhs, op, rhs);
1218
1263
  });
1219
1264
  }
@@ -1433,7 +1478,7 @@ class Util {
1433
1478
  }
1434
1479
  if ((0, reflection_1.isVariableExpression)(expression)) {
1435
1480
  variableExpressions.push(expression);
1436
- uniqueVarNames.add(expression.name.text);
1481
+ uniqueVarNames.add(expression.tokens.name.text);
1437
1482
  }
1438
1483
  }
1439
1484
  // Collect all expressions. Most of these expressions are fairly small so this should be quick!
@@ -1596,9 +1641,9 @@ class Util {
1596
1641
  loop: while (nextPart) {
1597
1642
  switch (nextPart === null || nextPart === void 0 ? void 0 : nextPart.kind) {
1598
1643
  case AstNode_1.AstNodeKind.AssignmentStatement:
1599
- return [node.name];
1644
+ return [node.tokens.name];
1600
1645
  case AstNode_1.AstNodeKind.DottedGetExpression:
1601
- parts.push(nextPart === null || nextPart === void 0 ? void 0 : nextPart.name);
1646
+ parts.push(nextPart === null || nextPart === void 0 ? void 0 : nextPart.tokens.name);
1602
1647
  nextPart = nextPart.obj;
1603
1648
  continue;
1604
1649
  case AstNode_1.AstNodeKind.CallExpression:
@@ -1608,16 +1653,16 @@ class Util {
1608
1653
  nextPart = nextPart.expression;
1609
1654
  continue;
1610
1655
  case AstNode_1.AstNodeKind.VariableExpression:
1611
- parts.push(nextPart === null || nextPart === void 0 ? void 0 : nextPart.name);
1656
+ parts.push(nextPart === null || nextPart === void 0 ? void 0 : nextPart.tokens.name);
1612
1657
  break loop;
1613
1658
  case AstNode_1.AstNodeKind.LiteralExpression:
1614
- parts.push(nextPart === null || nextPart === void 0 ? void 0 : nextPart.token);
1659
+ parts.push(nextPart === null || nextPart === void 0 ? void 0 : nextPart.tokens.value);
1615
1660
  break loop;
1616
1661
  case AstNode_1.AstNodeKind.IndexedGetExpression:
1617
1662
  nextPart = nextPart.obj;
1618
1663
  continue;
1619
1664
  case AstNode_1.AstNodeKind.FunctionParameterExpression:
1620
- return [nextPart.name];
1665
+ return [nextPart.tokens.name];
1621
1666
  case AstNode_1.AstNodeKind.GroupingExpression:
1622
1667
  parts.push((0, creators_1.createIdentifier)('()', nextPart.range));
1623
1668
  break loop;
@@ -1806,7 +1851,7 @@ class Util {
1806
1851
  }
1807
1852
  if ((0, reflection_1.isBinaryExpression)(expression.parent)) {
1808
1853
  let currentExpr = expression.parent;
1809
- while ((0, reflection_1.isBinaryExpression)(currentExpr) && currentExpr.operator.kind === TokenKind_1.TokenKind.Or) {
1854
+ while ((0, reflection_1.isBinaryExpression)(currentExpr) && currentExpr.tokens.operator.kind === TokenKind_1.TokenKind.Or) {
1810
1855
  currentExpr = currentExpr.parent;
1811
1856
  }
1812
1857
  return (0, reflection_1.isTypeExpression)(currentExpr) || (0, reflection_1.isTypedArrayExpression)(currentExpr);