brighterscript 1.0.0-alpha.14 → 1.0.0-alpha.17

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 (151) hide show
  1. package/CHANGELOG.md +83 -1
  2. package/README.md +28 -9
  3. package/dist/Cache.d.ts +2 -7
  4. package/dist/Cache.js +4 -13
  5. package/dist/Cache.js.map +1 -1
  6. package/dist/DependencyGraph.js +5 -4
  7. package/dist/DependencyGraph.js.map +1 -1
  8. package/dist/DiagnosticMessages.d.ts +21 -1
  9. package/dist/DiagnosticMessages.js +21 -1
  10. package/dist/DiagnosticMessages.js.map +1 -1
  11. package/dist/Logger.js +5 -5
  12. package/dist/Logger.js.map +1 -1
  13. package/dist/Program.d.ts +3 -3
  14. package/dist/Program.js +9 -7
  15. package/dist/Program.js.map +1 -1
  16. package/dist/ProgramBuilder.js +1 -1
  17. package/dist/ProgramBuilder.js.map +1 -1
  18. package/dist/Scope.d.ts +16 -11
  19. package/dist/Scope.js +42 -12
  20. package/dist/Scope.js.map +1 -1
  21. package/dist/XmlScope.d.ts +3 -3
  22. package/dist/XmlScope.js +1 -1
  23. package/dist/XmlScope.js.map +1 -1
  24. package/dist/astUtils/AstEditor.d.ts +6 -0
  25. package/dist/astUtils/AstEditor.js +10 -0
  26. package/dist/astUtils/AstEditor.js.map +1 -1
  27. package/dist/astUtils/AstEditor.spec.js +37 -0
  28. package/dist/astUtils/AstEditor.spec.js.map +1 -1
  29. package/dist/astUtils/creators.d.ts +10 -6
  30. package/dist/astUtils/creators.js +93 -12
  31. package/dist/astUtils/creators.js.map +1 -1
  32. package/dist/astUtils/creators.spec.js +10 -0
  33. package/dist/astUtils/creators.spec.js.map +1 -1
  34. package/dist/astUtils/reflection.d.ts +7 -2
  35. package/dist/astUtils/reflection.js +19 -3
  36. package/dist/astUtils/reflection.js.map +1 -1
  37. package/dist/astUtils/reflection.spec.js +5 -4
  38. package/dist/astUtils/reflection.spec.js.map +1 -1
  39. package/dist/astUtils/visitors.d.ts +3 -1
  40. package/dist/astUtils/visitors.js.map +1 -1
  41. package/dist/astUtils/visitors.spec.js +2 -0
  42. package/dist/astUtils/visitors.spec.js.map +1 -1
  43. package/dist/bscPlugin/BscPlugin.d.ts +4 -1
  44. package/dist/bscPlugin/BscPlugin.js +16 -0
  45. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  46. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +1 -0
  47. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +38 -2
  48. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  49. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +28 -0
  50. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
  51. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.d.ts +8 -0
  52. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +40 -0
  53. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -0
  54. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.d.ts +1 -0
  55. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +32 -0
  56. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +1 -0
  57. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +9 -0
  58. package/dist/bscPlugin/validation/BrsFileValidator.js +66 -0
  59. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -0
  60. package/dist/bscPlugin/validation/ScopeValidator.d.ts +11 -0
  61. package/dist/bscPlugin/validation/ScopeValidator.js +94 -0
  62. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -0
  63. package/dist/diagnosticUtils.js +3 -3
  64. package/dist/diagnosticUtils.js.map +1 -1
  65. package/dist/examples/plugins/removePrint.js +12 -14
  66. package/dist/examples/plugins/removePrint.js.map +1 -1
  67. package/dist/files/BrsFile.Class.spec.js +22 -23
  68. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  69. package/dist/files/BrsFile.d.ts +10 -3
  70. package/dist/files/BrsFile.js +133 -49
  71. package/dist/files/BrsFile.js.map +1 -1
  72. package/dist/files/BrsFile.spec.js +299 -123
  73. package/dist/files/BrsFile.spec.js.map +1 -1
  74. package/dist/files/XmlFile.d.ts +5 -5
  75. package/dist/files/XmlFile.js +3 -3
  76. package/dist/files/XmlFile.js.map +1 -1
  77. package/dist/files/XmlFile.spec.js +9 -9
  78. package/dist/files/XmlFile.spec.js.map +1 -1
  79. package/dist/interfaces.d.ts +29 -37
  80. package/dist/lexer/Lexer.spec.js +8 -0
  81. package/dist/lexer/Lexer.spec.js.map +1 -1
  82. package/dist/lexer/TokenKind.d.ts +2 -0
  83. package/dist/lexer/TokenKind.js +5 -0
  84. package/dist/lexer/TokenKind.js.map +1 -1
  85. package/dist/parser/Expression.d.ts +85 -21
  86. package/dist/parser/Expression.js +177 -53
  87. package/dist/parser/Expression.js.map +1 -1
  88. package/dist/parser/Parser.Class.spec.js +1 -1
  89. package/dist/parser/Parser.Class.spec.js.map +1 -1
  90. package/dist/parser/Parser.d.ts +12 -3
  91. package/dist/parser/Parser.js +156 -56
  92. package/dist/parser/Parser.js.map +1 -1
  93. package/dist/parser/Parser.spec.js +57 -2
  94. package/dist/parser/Parser.spec.js.map +1 -1
  95. package/dist/parser/Statement.d.ts +94 -30
  96. package/dist/parser/Statement.js +281 -106
  97. package/dist/parser/Statement.js.map +1 -1
  98. package/dist/parser/tests/statement/Enum.spec.d.ts +1 -0
  99. package/dist/parser/tests/statement/Enum.spec.js +774 -0
  100. package/dist/parser/tests/statement/Enum.spec.js.map +1 -0
  101. package/dist/parser/tests/statement/For.spec.d.ts +1 -0
  102. package/dist/parser/tests/statement/For.spec.js +46 -0
  103. package/dist/parser/tests/statement/For.spec.js.map +1 -0
  104. package/dist/parser/tests/statement/ForEach.spec.d.ts +1 -0
  105. package/dist/parser/tests/statement/ForEach.spec.js +37 -0
  106. package/dist/parser/tests/statement/ForEach.spec.js.map +1 -0
  107. package/dist/types/BooleanType.d.ts +4 -2
  108. package/dist/types/BooleanType.js +5 -1
  109. package/dist/types/BooleanType.js.map +1 -1
  110. package/dist/types/DoubleType.d.ts +2 -0
  111. package/dist/types/DoubleType.js +5 -1
  112. package/dist/types/DoubleType.js.map +1 -1
  113. package/dist/types/DynamicType.d.ts +2 -0
  114. package/dist/types/DynamicType.js +5 -1
  115. package/dist/types/DynamicType.js.map +1 -1
  116. package/dist/types/FloatType.d.ts +3 -1
  117. package/dist/types/FloatType.js +5 -1
  118. package/dist/types/FloatType.js.map +1 -1
  119. package/dist/types/FunctionType.d.ts +2 -1
  120. package/dist/types/FunctionType.js +11 -8
  121. package/dist/types/FunctionType.js.map +1 -1
  122. package/dist/types/FunctionType.spec.js +6 -0
  123. package/dist/types/FunctionType.spec.js.map +1 -1
  124. package/dist/types/IntegerType.d.ts +3 -1
  125. package/dist/types/IntegerType.js +5 -1
  126. package/dist/types/IntegerType.js.map +1 -1
  127. package/dist/types/InvalidType.d.ts +4 -2
  128. package/dist/types/InvalidType.js +5 -1
  129. package/dist/types/InvalidType.js.map +1 -1
  130. package/dist/types/LongIntegerType.d.ts +3 -1
  131. package/dist/types/LongIntegerType.js +5 -1
  132. package/dist/types/LongIntegerType.js.map +1 -1
  133. package/dist/types/ObjectType.d.ts +2 -1
  134. package/dist/types/ObjectType.js +4 -2
  135. package/dist/types/ObjectType.js.map +1 -1
  136. package/dist/types/StringType.d.ts +4 -2
  137. package/dist/types/StringType.js +5 -1
  138. package/dist/types/StringType.js.map +1 -1
  139. package/dist/types/UninitializedType.js.map +1 -1
  140. package/dist/types/UniversalFunctionType.d.ts +9 -0
  141. package/dist/types/UniversalFunctionType.js +25 -0
  142. package/dist/types/UniversalFunctionType.js.map +1 -0
  143. package/dist/types/VoidType.d.ts +4 -2
  144. package/dist/types/VoidType.js +5 -1
  145. package/dist/types/VoidType.js.map +1 -1
  146. package/dist/util.d.ts +12 -2
  147. package/dist/util.js +74 -44
  148. package/dist/util.js.map +1 -1
  149. package/dist/validators/ClassValidator.js +3 -3
  150. package/dist/validators/ClassValidator.js.map +1 -1
  151. package/package.json +2 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Enum.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/statement/Enum.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const util_1 = require("../../../util");
4
+ const Program_1 = require("../../../Program");
5
+ const sinon_1 = require("sinon");
6
+ const testHelpers_spec_1 = require("../../../testHelpers.spec");
7
+ const sinon = (0, sinon_1.createSandbox)();
8
+ describe('ForStatement', () => {
9
+ let rootDir = (0, util_1.standardizePath) `${process.cwd()}/.tmp/rootDir`;
10
+ let program;
11
+ let testTranspile = (0, testHelpers_spec_1.getTestTranspile)(() => [program, rootDir]);
12
+ beforeEach(() => {
13
+ program = new Program_1.Program({ rootDir: rootDir, sourceMap: true });
14
+ });
15
+ afterEach(() => {
16
+ sinon.restore();
17
+ program.dispose();
18
+ });
19
+ it('transpiles a simple loop', () => {
20
+ testTranspile(`
21
+ sub main()
22
+ for i = 0 to 10
23
+ print i
24
+ end for
25
+ end sub
26
+ `);
27
+ });
28
+ it('transpiles with a for loop with a step value', () => {
29
+ testTranspile(`
30
+ sub main()
31
+ for i = 0 to 10 step 2
32
+ print i
33
+ end for
34
+ end sub
35
+ `);
36
+ });
37
+ it('adds newline to end of empty loop declaration', () => {
38
+ testTranspile(`
39
+ sub main()
40
+ for i = 0 to 10
41
+ end for
42
+ end sub
43
+ `);
44
+ });
45
+ });
46
+ //# sourceMappingURL=For.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"For.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/statement/For.spec.ts"],"names":[],"mappings":";;AACA,wCAAqD;AACrD,8CAA2C;AAC3C,iCAAsC;AACtC,gEAA6D;AAE7D,MAAM,KAAK,GAAG,IAAA,qBAAa,GAAE,CAAC;AAE9B,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,IAAI,OAAO,GAAG,IAAA,sBAAC,EAAA,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;IAC/C,IAAI,OAAgB,CAAC;IACrB,IAAI,aAAa,GAAG,IAAA,mCAAgB,EAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/D,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACX,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAChC,aAAa,CAAC;;;;;;SAMb,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,aAAa,CAAC;;;;;;SAMb,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,aAAa,CAAC;;;;;SAKb,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const util_1 = require("../../../util");
4
+ const Program_1 = require("../../../Program");
5
+ const sinon_1 = require("sinon");
6
+ const testHelpers_spec_1 = require("../../../testHelpers.spec");
7
+ const sinon = (0, sinon_1.createSandbox)();
8
+ describe('ForEachStatement', () => {
9
+ let rootDir = (0, util_1.standardizePath) `${process.cwd()}/.tmp/rootDir`;
10
+ let program;
11
+ let testTranspile = (0, testHelpers_spec_1.getTestTranspile)(() => [program, rootDir]);
12
+ beforeEach(() => {
13
+ program = new Program_1.Program({ rootDir: rootDir, sourceMap: true });
14
+ });
15
+ afterEach(() => {
16
+ sinon.restore();
17
+ program.dispose();
18
+ });
19
+ it('transpiles a simple loop', () => {
20
+ testTranspile(`
21
+ sub doLoop(data)
22
+ for each i in data
23
+ print i
24
+ end for
25
+ end sub
26
+ `);
27
+ });
28
+ it('adds newline to end of empty loop declaration', () => {
29
+ testTranspile(`
30
+ sub doLoop(data)
31
+ for each i in data
32
+ end for
33
+ end sub
34
+ `);
35
+ });
36
+ });
37
+ //# sourceMappingURL=ForEach.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForEach.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/statement/ForEach.spec.ts"],"names":[],"mappings":";;AACA,wCAAqD;AACrD,8CAA2C;AAC3C,iCAAsC;AACtC,gEAA6D;AAE7D,MAAM,KAAK,GAAG,IAAA,qBAAa,GAAE,CAAC;AAE9B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,IAAI,OAAO,GAAG,IAAA,sBAAC,EAAA,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;IAC/C,IAAI,OAAgB,CAAC;IACrB,IAAI,aAAa,GAAG,IAAA,mCAAgB,EAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/D,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACX,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAChC,aAAa,CAAC;;;;;;SAMb,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,aAAa,CAAC;;;;;SAKb,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import type { BscType } from './BscType';
2
2
  export declare class BooleanType implements BscType {
3
- isAssignableTo(targetType: BscType): any;
4
- isConvertibleTo(targetType: BscType): any;
3
+ typeText?: string;
4
+ constructor(typeText?: string);
5
+ isAssignableTo(targetType: BscType): boolean;
6
+ isConvertibleTo(targetType: BscType): boolean;
5
7
  toString(): string;
6
8
  toTypeString(): string;
7
9
  equals(targetType: BscType): boolean;
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BooleanType = void 0;
4
4
  const reflection_1 = require("../astUtils/reflection");
5
5
  class BooleanType {
6
+ constructor(typeText) {
7
+ this.typeText = typeText;
8
+ }
6
9
  isAssignableTo(targetType) {
7
10
  return ((0, reflection_1.isBooleanType)(targetType) ||
8
11
  (0, reflection_1.isDynamicType)(targetType));
@@ -11,7 +14,8 @@ class BooleanType {
11
14
  return this.isAssignableTo(targetType);
12
15
  }
13
16
  toString() {
14
- return 'boolean';
17
+ var _a;
18
+ return (_a = this.typeText) !== null && _a !== void 0 ? _a : 'boolean';
15
19
  }
16
20
  toTypeString() {
17
21
  return this.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"BooleanType.js","sourceRoot":"","sources":["../../src/types/BooleanType.ts"],"names":[],"mappings":";;;AAAA,uDAAsE;AAGtE,MAAa,WAAW;IACb,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,QAAQ;QACX,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAA,0BAAa,EAAC,UAAU,CAAC,CAAC;IACrC,CAAC;CACJ;AAvBD,kCAuBC"}
1
+ {"version":3,"file":"BooleanType.js","sourceRoot":"","sources":["../../src/types/BooleanType.ts"],"names":[],"mappings":";;;AAAA,uDAAsE;AAGtE,MAAa,WAAW;IACpB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAEE,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,SAAS,CAAC;IACtC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAA,0BAAa,EAAC,UAAU,CAAC,CAAC;IACrC,CAAC;CACJ;AA3BD,kCA2BC"}
@@ -1,5 +1,7 @@
1
1
  import type { BscType } from './BscType';
2
2
  export declare class DoubleType implements BscType {
3
+ typeText?: string;
4
+ constructor(typeText?: string);
3
5
  isAssignableTo(targetType: BscType): boolean;
4
6
  isConvertibleTo(targetType: BscType): boolean;
5
7
  toString(): string;
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DoubleType = void 0;
4
4
  const reflection_1 = require("../astUtils/reflection");
5
5
  class DoubleType {
6
+ constructor(typeText) {
7
+ this.typeText = typeText;
8
+ }
6
9
  isAssignableTo(targetType) {
7
10
  return ((0, reflection_1.isDoubleType)(targetType) ||
8
11
  (0, reflection_1.isDynamicType)(targetType));
@@ -20,7 +23,8 @@ class DoubleType {
20
23
  }
21
24
  }
22
25
  toString() {
23
- return 'double';
26
+ var _a;
27
+ return (_a = this.typeText) !== null && _a !== void 0 ? _a : 'double';
24
28
  }
25
29
  toTypeString() {
26
30
  return this.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"DoubleType.js","sourceRoot":"","sources":["../../src/types/DoubleType.ts"],"names":[],"mappings":";;;AAAA,uDAAoH;AAGpH,MAAa,UAAU;IACZ,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,IACI,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,wBAAW,EAAC,UAAU,CAAC;YACvB,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,8BAAiB,EAAC,UAAU,CAAC,EAC/B;YACE,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IACM,QAAQ;QACX,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAK,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EAAE,CAAA,CAAC;IACtD,CAAC;CACJ;AAhCD,gCAgCC"}
1
+ {"version":3,"file":"DoubleType.js","sourceRoot":"","sources":["../../src/types/DoubleType.ts"],"names":[],"mappings":";;;AAAA,uDAAoH;AAGpH,MAAa,UAAU;IACnB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAEE,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,IACI,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,wBAAW,EAAC,UAAU,CAAC;YACvB,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,8BAAiB,EAAC,UAAU,CAAC,EAC/B;YACE,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IACM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,QAAQ,CAAC;IACrC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAK,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EAAE,CAAA,CAAC;IACtD,CAAC;CACJ;AApCD,gCAoCC"}
@@ -1,5 +1,7 @@
1
1
  import type { BscType } from './BscType';
2
2
  export declare class DynamicType implements BscType {
3
+ typeText?: string;
4
+ constructor(typeText?: string);
3
5
  isAssignableTo(targetType: BscType): boolean;
4
6
  /**
5
7
  * The dynamic type is convertible to everything.
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DynamicType = void 0;
4
4
  const reflection_1 = require("../astUtils/reflection");
5
5
  class DynamicType {
6
+ constructor(typeText) {
7
+ this.typeText = typeText;
8
+ }
6
9
  isAssignableTo(targetType) {
7
10
  //everything can be dynamic, so as long as a type is provided, this is true
8
11
  return !!targetType;
@@ -16,7 +19,8 @@ class DynamicType {
16
19
  return !!targetType;
17
20
  }
18
21
  toString() {
19
- return 'dynamic';
22
+ var _a;
23
+ return (_a = this.typeText) !== null && _a !== void 0 ? _a : 'dynamic';
20
24
  }
21
25
  toTypeString() {
22
26
  return this.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicType.js","sourceRoot":"","sources":["../../src/types/DynamicType.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AAGvD,MAAa,WAAW;IAEb,cAAc,CAAC,UAAmB;QACrC,2EAA2E;QAC3E,OAAO,CAAC,CAAC,UAAU,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,eAAe,CAAC,UAAmB;QACtC,2EAA2E;QAC3E,OAAO,CAAC,CAAC,UAAU,CAAC;IACxB,CAAC;IAEM,QAAQ;QACX,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAA,0BAAa,EAAC,UAAU,CAAC,CAAC;IACrC,CAAC;CACJ;AA3BD,kCA2BC"}
1
+ {"version":3,"file":"DynamicType.js","sourceRoot":"","sources":["../../src/types/DynamicType.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AAGvD,MAAa,WAAW;IACpB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAEE,cAAc,CAAC,UAAmB;QACrC,2EAA2E;QAC3E,OAAO,CAAC,CAAC,UAAU,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,eAAe,CAAC,UAAmB;QACtC,2EAA2E;QAC3E,OAAO,CAAC,CAAC,UAAU,CAAC;IACxB,CAAC;IAEM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,SAAS,CAAC;IACtC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAA,0BAAa,EAAC,UAAU,CAAC,CAAC;IACrC,CAAC;CACJ;AA9BD,kCA8BC"}
@@ -1,6 +1,8 @@
1
1
  import type { BscType } from './BscType';
2
2
  export declare class FloatType implements BscType {
3
- isAssignableTo(targetType: BscType): any;
3
+ typeText?: string;
4
+ constructor(typeText?: string);
5
+ isAssignableTo(targetType: BscType): boolean;
4
6
  isConvertibleTo(targetType: BscType): boolean;
5
7
  toString(): string;
6
8
  toTypeString(): string;
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FloatType = void 0;
4
4
  const reflection_1 = require("../astUtils/reflection");
5
5
  class FloatType {
6
+ constructor(typeText) {
7
+ this.typeText = typeText;
8
+ }
6
9
  isAssignableTo(targetType) {
7
10
  return ((0, reflection_1.isFloatType)(targetType) ||
8
11
  (0, reflection_1.isDynamicType)(targetType));
@@ -20,7 +23,8 @@ class FloatType {
20
23
  }
21
24
  }
22
25
  toString() {
23
- return 'float';
26
+ var _a;
27
+ return (_a = this.typeText) !== null && _a !== void 0 ? _a : 'float';
24
28
  }
25
29
  toTypeString() {
26
30
  return this.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"FloatType.js","sourceRoot":"","sources":["../../src/types/FloatType.ts"],"names":[],"mappings":";;;AAAA,uDAAoH;AAGpH,MAAa,SAAS;IACX,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,wBAAW,EAAC,UAAU,CAAC;YACvB,IAAA,0BAAa,EAAC,UAAU,CAAC,CAE5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,IACI,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,wBAAW,EAAC,UAAU,CAAC;YACvB,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,8BAAiB,EAAC,UAAU,CAAC,EAC/B;YACE,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAEM,QAAQ;QACX,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAK,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EAAE,CAAA,CAAC;IACtD,CAAC;CACJ;AAlCD,8BAkCC"}
1
+ {"version":3,"file":"FloatType.js","sourceRoot":"","sources":["../../src/types/FloatType.ts"],"names":[],"mappings":";;;AAAA,uDAAoH;AAGpH,MAAa,SAAS;IAClB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAEE,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,wBAAW,EAAC,UAAU,CAAC;YACvB,IAAA,0BAAa,EAAC,UAAU,CAAC,CAE5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,IACI,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,wBAAW,EAAC,UAAU,CAAC;YACvB,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,8BAAiB,EAAC,UAAU,CAAC,EAC/B;YACE,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAEM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,OAAO,CAAC;IACpC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAK,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EAAE,CAAA,CAAC;IACtD,CAAC;CACJ;AAtCD,8BAsCC"}
@@ -8,11 +8,12 @@ export declare class FunctionType implements BscType {
8
8
  isSub: boolean;
9
9
  params: CallableParam[];
10
10
  isNew: boolean;
11
+ isVariadic: boolean;
11
12
  constructor(returnType: BscType,
12
13
  /**
13
14
  * Determines if this is a sub or not
14
15
  */
15
- isSub?: boolean, params?: CallableParam[], isNew?: boolean);
16
+ isSub?: boolean, params?: CallableParam[], isNew?: boolean, isVariadic?: boolean);
16
17
  /**
17
18
  * The name of the function for this type. Can be null
18
19
  */
@@ -8,11 +8,12 @@ class FunctionType {
8
8
  /**
9
9
  * Determines if this is a sub or not
10
10
  */
11
- isSub = false, params = [], isNew = false) {
11
+ isSub = false, params = [], isNew = false, isVariadic = false) {
12
12
  this.returnType = returnType;
13
13
  this.isSub = isSub;
14
14
  this.params = params;
15
15
  this.isNew = isNew;
16
+ this.isVariadic = isVariadic;
16
17
  }
17
18
  setName(name) {
18
19
  this.name = name;
@@ -34,13 +35,15 @@ class FunctionType {
34
35
  }
35
36
  isAssignableTo(targetType, context) {
36
37
  if ((0, reflection_1.isFunctionType)(targetType)) {
37
- //compare all parameters
38
- let len = Math.max(this.params.length, targetType.params.length);
39
- for (let i = 0; i < len; i++) {
40
- let myParam = this.params[i];
41
- let targetParam = targetType.params[i];
42
- if (!myParam || !targetParam || !myParam.type.isAssignableTo(targetParam.type, context)) {
43
- return false;
38
+ if (!targetType.isVariadic) {
39
+ //compare all parameters
40
+ let len = Math.max(this.params.length, targetType.params.length);
41
+ for (let i = 0; i < len; i++) {
42
+ let myParam = this.params[i];
43
+ let targetParam = targetType.params[i];
44
+ if (!myParam || !targetParam || !myParam.type.isAssignableTo(targetParam.type, context)) {
45
+ return false;
46
+ }
44
47
  }
45
48
  }
46
49
  //compare return type
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionType.js","sourceRoot":"","sources":["../../src/types/FunctionType.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FunctionType.js","sourceRoot":"","sources":["../../src/types/FunctionType.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ const FloatType_1 = require("./FloatType");
6
6
  const FunctionType_1 = require("./FunctionType");
7
7
  const IntegerType_1 = require("./IntegerType");
8
8
  const StringType_1 = require("./StringType");
9
+ const UniversalFunctionType_1 = require("./UniversalFunctionType");
9
10
  const VoidType_1 = require("./VoidType");
10
11
  describe('FunctionType', () => {
11
12
  it('is equivalent to dynamic type', () => {
@@ -25,5 +26,10 @@ describe('FunctionType', () => {
25
26
  myFunc.addParameter({ name: 'c', type: new FloatType_1.FloatType(), isOptional: true });
26
27
  (0, chai_1.expect)(myFunc.params.length).to.equal(3);
27
28
  });
29
+ it('is assignable to a universal function', () => {
30
+ (0, chai_1.expect)(new FunctionType_1.FunctionType(new StringType_1.StringType()).setName('myFunc').addParameter('p1', new IntegerType_1.IntegerType()).isAssignableTo(new UniversalFunctionType_1.UniversalFunctionType()));
31
+ (0, chai_1.expect)(new FunctionType_1.FunctionType(new DynamicType_1.DynamicType()).isAssignableTo(new UniversalFunctionType_1.UniversalFunctionType()));
32
+ (0, chai_1.expect)(new FunctionType_1.FunctionType(new VoidType_1.VoidType()).isAssignableTo(new UniversalFunctionType_1.UniversalFunctionType()));
33
+ });
28
34
  });
29
35
  //# sourceMappingURL=FunctionType.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionType.spec.js","sourceRoot":"","sources":["../../src/types/FunctionType.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAE9B,+CAA4C;AAC5C,2CAAwC;AACxC,iDAA8C;AAC9C,+CAA4C;AAC5C,6CAA0C;AAC1C,yCAAsC;AAEtC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,IAAA,aAAM,EAAC,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,IAAA,aAAM,EAAC,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAErG,2BAA2B;QAC3B,IAAA,aAAM,EACF,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,yBAAW,EAAE,EAAE,KAAK,CAAC,CAAC,cAAc,CACvF,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CACnC,CACJ,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAEd,2BAA2B;QAC3B,IAAA,aAAM,EACF,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,yBAAW,EAAE,EAAE,KAAK,CAAC,CAAC,cAAc,CACvF,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,uBAAU,EAAE,EAAE,KAAK,CAAC,CAC9E,CACJ,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAEd,uBAAuB;QACvB,IAAA,aAAM,EACF,IAAI,2BAAY,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,cAAc,CAC3C,IAAI,2BAAY,CAAC,IAAI,yBAAW,EAAE,CAAC,CACtC,CACJ,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,MAAM,MAAM,GAAG,IAAI,2BAAY,CAAC,IAAI,yBAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,uBAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,yBAAW,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAChL,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,qBAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"FunctionType.spec.js","sourceRoot":"","sources":["../../src/types/FunctionType.spec.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import type { BscType } from './BscType';
2
2
  export declare class IntegerType implements BscType {
3
- isAssignableTo(targetType: BscType): any;
3
+ typeText?: string;
4
+ constructor(typeText?: string);
5
+ isAssignableTo(targetType: BscType): boolean;
4
6
  isConvertibleTo(targetType: BscType): boolean;
5
7
  toString(): string;
6
8
  toTypeString(): string;
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IntegerType = void 0;
4
4
  const reflection_1 = require("../astUtils/reflection");
5
5
  class IntegerType {
6
+ constructor(typeText) {
7
+ this.typeText = typeText;
8
+ }
6
9
  isAssignableTo(targetType) {
7
10
  return ((0, reflection_1.isIntegerType)(targetType) ||
8
11
  (0, reflection_1.isDynamicType)(targetType));
@@ -20,7 +23,8 @@ class IntegerType {
20
23
  }
21
24
  }
22
25
  toString() {
23
- return 'integer';
26
+ var _a;
27
+ return (_a = this.typeText) !== null && _a !== void 0 ? _a : 'integer';
24
28
  }
25
29
  toTypeString() {
26
30
  return this.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"IntegerType.js","sourceRoot":"","sources":["../../src/types/IntegerType.ts"],"names":[],"mappings":";;;AAAA,uDAAoH;AAIpH,MAAa,WAAW;IACb,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,IACI,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,wBAAW,EAAC,UAAU,CAAC;YACvB,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,8BAAiB,EAAC,UAAU,CAAC,EAC/B;YACE,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAEM,QAAQ;QACX,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAK,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EAAE,CAAA,CAAC;IACtD,CAAC;CACJ;AAjCD,kCAiCC"}
1
+ {"version":3,"file":"IntegerType.js","sourceRoot":"","sources":["../../src/types/IntegerType.ts"],"names":[],"mappings":";;;AAAA,uDAAoH;AAIpH,MAAa,WAAW;IACpB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAEE,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,IACI,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,wBAAW,EAAC,UAAU,CAAC;YACvB,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,8BAAiB,EAAC,UAAU,CAAC,EAC/B;YACE,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAEM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,SAAS,CAAC;IACtC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAK,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EAAE,CAAA,CAAC;IACtD,CAAC;CACJ;AArCD,kCAqCC"}
@@ -1,7 +1,9 @@
1
1
  import type { BscType } from './BscType';
2
2
  export declare class InvalidType implements BscType {
3
- isAssignableTo(targetType: BscType): any;
4
- isConvertibleTo(targetType: BscType): any;
3
+ typeText?: string;
4
+ constructor(typeText?: string);
5
+ isAssignableTo(targetType: BscType): boolean;
6
+ isConvertibleTo(targetType: BscType): boolean;
5
7
  toString(): string;
6
8
  toTypeString(): string;
7
9
  equals(targetType: BscType): boolean;
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InvalidType = void 0;
4
4
  const reflection_1 = require("../astUtils/reflection");
5
5
  class InvalidType {
6
+ constructor(typeText) {
7
+ this.typeText = typeText;
8
+ }
6
9
  isAssignableTo(targetType) {
7
10
  return ((0, reflection_1.isInvalidType)(targetType) ||
8
11
  (0, reflection_1.isDynamicType)(targetType));
@@ -11,7 +14,8 @@ class InvalidType {
11
14
  return this.isAssignableTo(targetType) || (0, reflection_1.isCustomType)(targetType) || (0, reflection_1.isObjectType)(targetType);
12
15
  }
13
16
  toString() {
14
- return 'invalid';
17
+ var _a;
18
+ return (_a = this.typeText) !== null && _a !== void 0 ? _a : 'invalid';
15
19
  }
16
20
  toTypeString() {
17
21
  return this.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"InvalidType.js","sourceRoot":"","sources":["../../src/types/InvalidType.ts"],"names":[],"mappings":";;;AAAA,uDAAkG;AAGlG,MAAa,WAAW;IACb,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,IAAA,yBAAY,EAAC,UAAU,CAAC,IAAI,IAAA,yBAAY,EAAC,UAAU,CAAC,CAAC;IACnG,CAAC;IAEM,QAAQ;QACX,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAA,0BAAa,EAAC,UAAU,CAAC,CAAC;IACrC,CAAC;CACJ;AAvBD,kCAuBC"}
1
+ {"version":3,"file":"InvalidType.js","sourceRoot":"","sources":["../../src/types/InvalidType.ts"],"names":[],"mappings":";;;AAAA,uDAAkG;AAGlG,MAAa,WAAW;IACpB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAEE,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,IAAA,yBAAY,EAAC,UAAU,CAAC,IAAI,IAAA,yBAAY,EAAC,UAAU,CAAC,CAAC;IACnG,CAAC;IAEM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,SAAS,CAAC;IACtC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAA,0BAAa,EAAC,UAAU,CAAC,CAAC;IACrC,CAAC;CACJ;AA3BD,kCA2BC"}
@@ -1,6 +1,8 @@
1
1
  import type { BscType } from './BscType';
2
2
  export declare class LongIntegerType implements BscType {
3
- isAssignableTo(targetType: BscType): any;
3
+ typeText?: string;
4
+ constructor(typeText?: string);
5
+ isAssignableTo(targetType: BscType): boolean;
4
6
  isConvertibleTo(targetType: BscType): boolean;
5
7
  toString(): string;
6
8
  toTypeString(): string;
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LongIntegerType = void 0;
4
4
  const reflection_1 = require("../astUtils/reflection");
5
5
  class LongIntegerType {
6
+ constructor(typeText) {
7
+ this.typeText = typeText;
8
+ }
6
9
  isAssignableTo(targetType) {
7
10
  return ((0, reflection_1.isLongIntegerType)(targetType) ||
8
11
  (0, reflection_1.isDynamicType)(targetType));
@@ -20,7 +23,8 @@ class LongIntegerType {
20
23
  }
21
24
  }
22
25
  toString() {
23
- return 'longinteger';
26
+ var _a;
27
+ return (_a = this.typeText) !== null && _a !== void 0 ? _a : 'longinteger';
24
28
  }
25
29
  toTypeString() {
26
30
  return this.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"LongIntegerType.js","sourceRoot":"","sources":["../../src/types/LongIntegerType.ts"],"names":[],"mappings":";;;AAAA,uDAAoH;AAIpH,MAAa,eAAe;IACjB,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,8BAAiB,EAAC,UAAU,CAAC;YAC7B,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,IACI,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,wBAAW,EAAC,UAAU,CAAC;YACvB,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,8BAAiB,EAAC,UAAU,CAAC,EAC/B;YACE,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAEM,QAAQ;QACX,OAAO,aAAa,CAAC;IACzB,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAA,8BAAiB,EAAC,UAAU,CAAC,CAAC;IACzC,CAAC;CACJ;AAjCD,0CAiCC"}
1
+ {"version":3,"file":"LongIntegerType.js","sourceRoot":"","sources":["../../src/types/LongIntegerType.ts"],"names":[],"mappings":";;;AAAA,uDAAoH;AAIpH,MAAa,eAAe;IACxB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAEE,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,8BAAiB,EAAC,UAAU,CAAC;YAC7B,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,IACI,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,wBAAW,EAAC,UAAU,CAAC;YACvB,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,8BAAiB,EAAC,UAAU,CAAC,EAC/B;YACE,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAEM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,aAAa,CAAC;IAC1C,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAA,8BAAiB,EAAC,UAAU,CAAC,CAAC;IACzC,CAAC;CACJ;AArCD,0CAqCC"}
@@ -1,8 +1,9 @@
1
1
  import type { SymbolTable } from '../SymbolTable';
2
2
  import type { BscType, SymbolContainer } from './BscType';
3
3
  export declare class ObjectType implements BscType, SymbolContainer {
4
+ typeText?: string;
4
5
  memberTable: SymbolTable;
5
- constructor(memberTable?: SymbolTable);
6
+ constructor(typeText?: string, memberTable?: SymbolTable);
6
7
  isAssignableTo(targetType: BscType): boolean;
7
8
  isConvertibleTo(targetType: BscType): boolean;
8
9
  toString(): string;
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ObjectType = void 0;
4
4
  const reflection_1 = require("../astUtils/reflection");
5
5
  class ObjectType {
6
- constructor(memberTable = null) {
6
+ constructor(typeText, memberTable = null) {
7
+ this.typeText = typeText;
7
8
  this.memberTable = memberTable;
8
9
  }
9
10
  isAssignableTo(targetType) {
@@ -14,7 +15,8 @@ class ObjectType {
14
15
  return this.isAssignableTo(targetType);
15
16
  }
16
17
  toString() {
17
- return 'object';
18
+ var _a;
19
+ return (_a = this.typeText) !== null && _a !== void 0 ? _a : 'object';
18
20
  }
19
21
  toTypeString() {
20
22
  return this.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectType.js","sourceRoot":"","sources":["../../src/types/ObjectType.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAIrE,MAAa,UAAU;IAGnB,YAAmB,cAA2B,IAAI;QAA/B,gBAAW,GAAX,WAAW,CAAoB;IAClD,CAAC;IAEM,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,QAAQ;QACX,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAA,yBAAY,EAAC,UAAU,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;CACJ;AA5BD,gCA4BC"}
1
+ {"version":3,"file":"ObjectType.js","sourceRoot":"","sources":["../../src/types/ObjectType.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAIrE,MAAa,UAAU;IACnB,YACW,QAAiB,EACjB,cAA2B,IAAI;QAD/B,aAAQ,GAAR,QAAQ,CAAS;QACjB,gBAAW,GAAX,WAAW,CAAoB;IAE1C,CAAC;IAEM,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,QAAQ,CAAC;IACrC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAA,yBAAY,EAAC,UAAU,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;CACJ;AA7BD,gCA6BC"}
@@ -1,7 +1,9 @@
1
1
  import type { BscType } from './BscType';
2
2
  export declare class StringType implements BscType {
3
- isAssignableTo(targetType: BscType): any;
4
- isConvertibleTo(targetType: BscType): any;
3
+ typeText?: string;
4
+ constructor(typeText?: string);
5
+ isAssignableTo(targetType: BscType): boolean;
6
+ isConvertibleTo(targetType: BscType): boolean;
5
7
  toString(): string;
6
8
  toTypeString(): string;
7
9
  equals(targetType: BscType): boolean;
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StringType = void 0;
4
4
  const reflection_1 = require("../astUtils/reflection");
5
5
  class StringType {
6
+ constructor(typeText) {
7
+ this.typeText = typeText;
8
+ }
6
9
  isAssignableTo(targetType) {
7
10
  return ((0, reflection_1.isStringType)(targetType) ||
8
11
  (0, reflection_1.isDynamicType)(targetType));
@@ -11,7 +14,8 @@ class StringType {
11
14
  return this.isAssignableTo(targetType);
12
15
  }
13
16
  toString() {
14
- return 'string';
17
+ var _a;
18
+ return (_a = this.typeText) !== null && _a !== void 0 ? _a : 'string';
15
19
  }
16
20
  toTypeString() {
17
21
  return this.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"StringType.js","sourceRoot":"","sources":["../../src/types/StringType.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAGrE,MAAa,UAAU;IACZ,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,QAAQ;QACX,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAA,yBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,CAAC;CACJ;AAvBD,gCAuBC"}
1
+ {"version":3,"file":"StringType.js","sourceRoot":"","sources":["../../src/types/StringType.ts"],"names":[],"mappings":";;;AAAA,uDAAqE;AAGrE,MAAa,UAAU;IACnB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAEE,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,QAAQ,CAAC;IACrC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAA,yBAAY,EAAC,UAAU,CAAC,CAAC;IACpC,CAAC;CACJ;AA3BD,gCA2BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UninitializedType.js","sourceRoot":"","sources":["../../src/types/UninitializedType.ts"],"names":[],"mappings":";;;AAAA,uDAA4E;AAG5E,MAAa,iBAAiB;IAE1B,qEAAqE;IACrE,gBAAgB,CAAC;IAEV,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,gCAAmB,EAAC,UAAU,CAAC;YAC/B,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,QAAQ;QACX,OAAO,eAAe,CAAC;IAC3B,CAAC;IAGM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAA,gCAAmB,EAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;CACJ;AA5BD,8CA4BC"}
1
+ {"version":3,"file":"UninitializedType.js","sourceRoot":"","sources":["../../src/types/UninitializedType.ts"],"names":[],"mappings":";;;AAAA,uDAA4E;AAG5E,MAAa,iBAAiB;IAE1B,qEAAqE;IACrE,gBAAgB,CAAC;IAEV,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,IAAA,gCAAmB,EAAC,UAAU,CAAC;YAC/B,IAAA,0BAAa,EAAC,UAAU,CAAC,CAC5B,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,QAAQ;QACX,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,OAAO,IAAA,gCAAmB,EAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;CACJ;AA3BD,8CA2BC"}
@@ -0,0 +1,9 @@
1
+ import type { CallableParam } from '../interfaces';
2
+ import type { BscType, TypeContext } from './BscType';
3
+ import { FunctionType } from './FunctionType';
4
+ export declare class UniversalFunctionType extends FunctionType implements BscType {
5
+ constructor();
6
+ setName(name: string): this;
7
+ addParameter(paramOrName: CallableParam | string, type?: BscType, isOptional?: boolean): this;
8
+ equals(targetType: BscType, context?: TypeContext): boolean;
9
+ }