brighterscript 0.66.0-alpha.2 → 0.66.0-alpha.4

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 (138) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/README.md +0 -6
  3. package/dist/BsConfig.d.ts +0 -5
  4. package/dist/BusyStatusTracker.d.ts +31 -0
  5. package/dist/BusyStatusTracker.js +83 -0
  6. package/dist/BusyStatusTracker.js.map +1 -0
  7. package/dist/Cache.js +3 -3
  8. package/dist/Cache.js.map +1 -1
  9. package/dist/CodeActionUtil.d.ts +2 -2
  10. package/dist/DiagnosticCollection.js +8 -5
  11. package/dist/DiagnosticCollection.js.map +1 -1
  12. package/dist/DiagnosticMessages.d.ts +6 -1
  13. package/dist/DiagnosticMessages.js +5 -0
  14. package/dist/DiagnosticMessages.js.map +1 -1
  15. package/dist/FunctionScope.d.ts +1 -1
  16. package/dist/LanguageServer.d.ts +22 -1
  17. package/dist/LanguageServer.js +124 -51
  18. package/dist/LanguageServer.js.map +1 -1
  19. package/dist/Logger.d.ts +3 -2
  20. package/dist/Logger.js +10 -2
  21. package/dist/Logger.js.map +1 -1
  22. package/dist/Program.d.ts +1 -3
  23. package/dist/Program.js +14 -16
  24. package/dist/Program.js.map +1 -1
  25. package/dist/ProgramBuilder.js +1 -1
  26. package/dist/ProgramBuilder.js.map +1 -1
  27. package/dist/Scope.d.ts +11 -6
  28. package/dist/Scope.js +77 -93
  29. package/dist/Scope.js.map +1 -1
  30. package/dist/SymbolTable.d.ts +11 -5
  31. package/dist/SymbolTable.js +21 -8
  32. package/dist/SymbolTable.js.map +1 -1
  33. package/dist/Throttler.d.ts +12 -0
  34. package/dist/Throttler.js +39 -0
  35. package/dist/Throttler.js.map +1 -1
  36. package/dist/astUtils/reflection.d.ts +4 -0
  37. package/dist/astUtils/reflection.js +9 -1
  38. package/dist/astUtils/reflection.js.map +1 -1
  39. package/dist/bscPlugin/hover/HoverProcessor.d.ts +5 -0
  40. package/dist/bscPlugin/hover/HoverProcessor.js +108 -77
  41. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  42. package/dist/bscPlugin/hover/HoverProcessor.spec.js +83 -29
  43. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
  44. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +0 -4
  45. package/dist/bscPlugin/validation/BrsFileValidator.js +10 -16
  46. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  47. package/dist/bscPlugin/validation/ScopeValidator.d.ts +4 -0
  48. package/dist/bscPlugin/validation/ScopeValidator.js +77 -42
  49. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  50. package/dist/bscPlugin/validation/ScopeValidator.spec.js +715 -0
  51. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -0
  52. package/dist/cli.js +103 -13
  53. package/dist/cli.js.map +1 -1
  54. package/dist/deferred.d.ts +1 -1
  55. package/dist/deferred.js.map +1 -1
  56. package/dist/files/BrsFile.Class.spec.js +5 -0
  57. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  58. package/dist/files/BrsFile.d.ts +1 -11
  59. package/dist/files/BrsFile.js +9 -101
  60. package/dist/files/BrsFile.js.map +1 -1
  61. package/dist/files/BrsFile.spec.js +3 -267
  62. package/dist/files/BrsFile.spec.js.map +1 -1
  63. package/dist/globalCallables.js +87 -79
  64. package/dist/globalCallables.js.map +1 -1
  65. package/dist/index.d.ts +3 -0
  66. package/dist/index.js +3 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/interfaces.d.ts +11 -5
  69. package/dist/interfaces.js.map +1 -1
  70. package/dist/parser/Expression.d.ts +4 -3
  71. package/dist/parser/Expression.js +32 -9
  72. package/dist/parser/Expression.js.map +1 -1
  73. package/dist/parser/SGParser.d.ts +2 -2
  74. package/dist/parser/Statement.d.ts +11 -6
  75. package/dist/parser/Statement.js +54 -21
  76. package/dist/parser/Statement.js.map +1 -1
  77. package/dist/parser/tests/expression/TernaryExpression.spec.js +2 -2
  78. package/dist/types/BaseFunctionType.d.ts +8 -0
  79. package/dist/types/BaseFunctionType.js +25 -0
  80. package/dist/types/BaseFunctionType.js.map +1 -0
  81. package/dist/types/BooleanType.d.ts +3 -0
  82. package/dist/types/BooleanType.js +7 -1
  83. package/dist/types/BooleanType.js.map +1 -1
  84. package/dist/types/BscTypeKind.d.ts +1 -0
  85. package/dist/types/BscTypeKind.js +1 -0
  86. package/dist/types/BscTypeKind.js.map +1 -1
  87. package/dist/types/ClassType.js +1 -1
  88. package/dist/types/ClassType.js.map +1 -1
  89. package/dist/types/DoubleType.d.ts +3 -0
  90. package/dist/types/DoubleType.js +6 -0
  91. package/dist/types/DoubleType.js.map +1 -1
  92. package/dist/types/EnumType.d.ts +23 -4
  93. package/dist/types/EnumType.js +18 -2
  94. package/dist/types/EnumType.js.map +1 -1
  95. package/dist/types/FloatType.d.ts +3 -0
  96. package/dist/types/FloatType.js +6 -0
  97. package/dist/types/FloatType.js.map +1 -1
  98. package/dist/types/FunctionType.d.ts +6 -19
  99. package/dist/types/FunctionType.js +12 -44
  100. package/dist/types/FunctionType.js.map +1 -1
  101. package/dist/types/IntegerType.d.ts +3 -0
  102. package/dist/types/IntegerType.js +6 -0
  103. package/dist/types/IntegerType.js.map +1 -1
  104. package/dist/types/InterfaceType.js +3 -3
  105. package/dist/types/InterfaceType.js.map +1 -1
  106. package/dist/types/InvalidType.d.ts +1 -0
  107. package/dist/types/InvalidType.js +3 -1
  108. package/dist/types/InvalidType.js.map +1 -1
  109. package/dist/types/LongIntegerType.d.ts +3 -0
  110. package/dist/types/LongIntegerType.js +6 -0
  111. package/dist/types/LongIntegerType.js.map +1 -1
  112. package/dist/types/ObjectType.js +2 -9
  113. package/dist/types/ObjectType.js.map +1 -1
  114. package/dist/types/ReferenceType.spec.js +6 -6
  115. package/dist/types/ReferenceType.spec.js.map +1 -1
  116. package/dist/types/StringType.d.ts +3 -0
  117. package/dist/types/StringType.js +9 -1
  118. package/dist/types/StringType.js.map +1 -1
  119. package/dist/types/TypedFunctionType.d.ts +27 -0
  120. package/dist/types/TypedFunctionType.js +69 -0
  121. package/dist/types/TypedFunctionType.js.map +1 -0
  122. package/dist/types/TypedFunctionType.spec.d.ts +1 -0
  123. package/dist/types/TypedFunctionType.spec.js +23 -0
  124. package/dist/types/TypedFunctionType.spec.js.map +1 -0
  125. package/dist/types/UnionType.js +1 -1
  126. package/dist/types/UnionType.js.map +1 -1
  127. package/dist/types/VoidType.js +2 -1
  128. package/dist/types/VoidType.js.map +1 -1
  129. package/dist/types/index.d.ts +1 -1
  130. package/dist/types/index.js +1 -1
  131. package/dist/types/index.js.map +1 -1
  132. package/dist/util.d.ts +22 -6
  133. package/dist/util.js +248 -82
  134. package/dist/util.js.map +1 -1
  135. package/package.json +4 -2
  136. package/dist/types/FunctionType.spec.js +0 -23
  137. package/dist/types/FunctionType.spec.js.map +0 -1
  138. /package/dist/{types/FunctionType.spec.d.ts → bscPlugin/validation/ScopeValidator.spec.d.ts} +0 -0
@@ -7,18 +7,19 @@ const ArrayType_1 = require("./types/ArrayType");
7
7
  const BooleanType_1 = require("./types/BooleanType");
8
8
  const DynamicType_1 = require("./types/DynamicType");
9
9
  const FloatType_1 = require("./types/FloatType");
10
- const FunctionType_1 = require("./types/FunctionType");
10
+ const TypedFunctionType_1 = require("./types/TypedFunctionType");
11
11
  const IntegerType_1 = require("./types/IntegerType");
12
12
  const ObjectType_1 = require("./types/ObjectType");
13
13
  const StringType_1 = require("./types/StringType");
14
14
  const VoidType_1 = require("./types/VoidType");
15
15
  const util_1 = require("./util");
16
+ const UnionType_1 = require("./types/UnionType");
16
17
  exports.globalFile = new BrsFile_1.BrsFile('global', 'global', null);
17
18
  exports.globalFile.parse('');
18
19
  let mathFunctions = [{
19
20
  name: 'Abs',
20
21
  shortDescription: 'Returns the absolute value of the argument.',
21
- type: new FunctionType_1.FunctionType(new FloatType_1.FloatType()),
22
+ type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
22
23
  file: exports.globalFile,
23
24
  params: [{
24
25
  name: 'x',
@@ -29,7 +30,7 @@ let mathFunctions = [{
29
30
  name: 'Atn',
30
31
  shortDescription: 'Returns the arctangent (in radians) of the argument.',
31
32
  documentation: '`ATN(X)` returns "the angle whose tangent is X". To get arctangent in degrees, multiply `ATN(X)` by `57.29578`.',
32
- type: new FunctionType_1.FunctionType(new FloatType_1.FloatType()),
33
+ type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
33
34
  file: exports.globalFile,
34
35
  params: [{
35
36
  name: 'x',
@@ -39,7 +40,7 @@ let mathFunctions = [{
39
40
  }, {
40
41
  name: 'Cdbl',
41
42
  shortDescription: 'Returns a single precision float representation of the argument. Someday may return double.',
42
- type: new FunctionType_1.FunctionType(new FloatType_1.FloatType()),
43
+ type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
43
44
  file: exports.globalFile,
44
45
  params: [{
45
46
  name: 'x',
@@ -49,7 +50,7 @@ let mathFunctions = [{
49
50
  }, {
50
51
  name: 'Cint',
51
52
  shortDescription: 'Returns an integer representation of the argument, rounding up from midpoints. CINT(2.1) returns 2; CINT(2.5) returns 3; CINT(-2.2) returns -2; CINT(-2.5) returns -2; CINT(-2.6) returns -3.',
52
- type: new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()),
53
+ type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
53
54
  file: exports.globalFile,
54
55
  params: [{
55
56
  name: 'x',
@@ -59,7 +60,7 @@ let mathFunctions = [{
59
60
  }, {
60
61
  name: 'Cos',
61
62
  shortDescription: 'Returns the cosine of the argument (argument must be in radians). To obtain the cosine of X when X is in degrees, use CGS(X*.01745329).',
62
- type: new FunctionType_1.FunctionType(new FloatType_1.FloatType()),
63
+ type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
63
64
  file: exports.globalFile,
64
65
  params: [{
65
66
  name: 'x',
@@ -69,7 +70,7 @@ let mathFunctions = [{
69
70
  }, {
70
71
  name: 'Csng',
71
72
  shortDescription: 'Returns a single-precision float representation of the argument.',
72
- type: new FunctionType_1.FunctionType(new FloatType_1.FloatType()),
73
+ type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
73
74
  file: exports.globalFile,
74
75
  params: [{
75
76
  name: 'x',
@@ -79,7 +80,7 @@ let mathFunctions = [{
79
80
  }, {
80
81
  name: 'Exp',
81
82
  shortDescription: 'Returns the "natural exponential" of X, that is, ex. This is the inverse of the LOG function, so X=EXP(LOG(X)).',
82
- type: new FunctionType_1.FunctionType(new FloatType_1.FloatType()),
83
+ type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
83
84
  file: exports.globalFile,
84
85
  params: [{
85
86
  name: 'x',
@@ -89,7 +90,7 @@ let mathFunctions = [{
89
90
  }, {
90
91
  name: 'Fix',
91
92
  shortDescription: 'Returns a truncated representation of the argument. All digits to the right of the decimal point are simply chopped off, so the resultant value is an integer. For non-negative X, FIX(X)=lNT(X). For negative values of X, FIX(X)=INT(X)+1. For example, FIX(2.2) returns 2, and FIX(-2.2) returns -2.',
92
- type: new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()),
93
+ type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
93
94
  file: exports.globalFile,
94
95
  params: [{
95
96
  name: 'x',
@@ -99,7 +100,7 @@ let mathFunctions = [{
99
100
  }, {
100
101
  name: 'Int',
101
102
  shortDescription: 'Returns an integer representation of the argument, using the largest whole number that is not greater than the argument.. INT(2.5) returns 2; INT(-2.5) returns -3; and INT(1000101.23) returns 10000101.',
102
- type: new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()),
103
+ type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
103
104
  file: exports.globalFile,
104
105
  params: [{
105
106
  name: 'x',
@@ -109,7 +110,7 @@ let mathFunctions = [{
109
110
  }, {
110
111
  name: 'Log',
111
112
  shortDescription: 'Returns the natural logarithm of the argument, that is, loge(x) or ln(x). This is the inverse of the EXP function, so LOG(EXP(X)) = X. To find the logarithm of a number to another base b, use the formula logb(X) = loge(X) / loge(b). For example, LOG(32767) / LOG(2) returns the logarithm to base 2 of 32767.',
112
- type: new FunctionType_1.FunctionType(new FloatType_1.FloatType()),
113
+ type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
113
114
  file: exports.globalFile,
114
115
  params: [{
115
116
  name: 'x',
@@ -119,7 +120,7 @@ let mathFunctions = [{
119
120
  }, {
120
121
  name: 'Rnd',
121
122
  shortDescription: 'Generates a pseudo-random number using the current pseudo-random "seed number" (generated internally and not accessible to user).returns an integer between 1 and integer inclusive . For example, RND(55) returns a pseudo-random integer greater than zero and less than 56.',
122
- type: new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()),
123
+ type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
123
124
  file: exports.globalFile,
124
125
  params: [{
125
126
  name: 'range',
@@ -129,7 +130,7 @@ let mathFunctions = [{
129
130
  }, {
130
131
  name: 'Rnd',
131
132
  shortDescription: 'Generates a pseudo-random number using the current pseudo-random "seed number" (generated internally and not accessible to user). Returns a float value between 0 and 1.',
132
- type: new FunctionType_1.FunctionType(new FloatType_1.FloatType()),
133
+ type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
133
134
  file: exports.globalFile,
134
135
  params: [{
135
136
  name: '0',
@@ -139,7 +140,7 @@ let mathFunctions = [{
139
140
  }, {
140
141
  name: 'Sgn',
141
142
  shortDescription: 'The "sign" function: returns -1 for X negative, 0 for X zero, and +1 for X positive.',
142
- type: new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()),
143
+ type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
143
144
  file: exports.globalFile,
144
145
  params: [{
145
146
  name: 'x',
@@ -149,7 +150,7 @@ let mathFunctions = [{
149
150
  }, {
150
151
  name: 'Sgn',
151
152
  shortDescription: 'The "sign" function: returns -1 for X negative, 0 for X zero, and +1 for X positive.',
152
- type: new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()),
153
+ type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
153
154
  file: exports.globalFile,
154
155
  params: [{
155
156
  name: 'x',
@@ -159,7 +160,7 @@ let mathFunctions = [{
159
160
  }, {
160
161
  name: 'Sin',
161
162
  shortDescription: 'Returns the sine of the argument (argument must be in radians). To obtain the sine of X when X is in degrees, use SIN(X*.01745329).',
162
- type: new FunctionType_1.FunctionType(new FloatType_1.FloatType()),
163
+ type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
163
164
  file: exports.globalFile,
164
165
  params: [{
165
166
  name: 'x',
@@ -169,7 +170,7 @@ let mathFunctions = [{
169
170
  }, {
170
171
  name: 'Sqr',
171
172
  shortDescription: 'Returns the square root of the argument. SQR(X) is the same as X ^ (1/2), only faster.',
172
- type: new FunctionType_1.FunctionType(new FloatType_1.FloatType()),
173
+ type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
173
174
  file: exports.globalFile,
174
175
  params: [{
175
176
  name: 'x',
@@ -179,7 +180,7 @@ let mathFunctions = [{
179
180
  }, {
180
181
  name: 'Tan',
181
182
  shortDescription: 'Returns the tangent of the argument (argument must be in radians). To obtain the tangent of X when X is in degrees, use TAN(X*.01745329).',
182
- type: new FunctionType_1.FunctionType(new FloatType_1.FloatType()),
183
+ type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
183
184
  file: exports.globalFile,
184
185
  params: [{
185
186
  name: 'x',
@@ -190,7 +191,7 @@ let mathFunctions = [{
190
191
  let runtimeFunctions = [{
191
192
  name: 'CreateObject',
192
193
  shortDescription: 'Creates a BrightScript Component of class classname specified. Return invalid if the object creation fails. Some Objects have optional parameters in their constructor that are passed after name.',
193
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
194
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
194
195
  file: exports.globalFile,
195
196
  params: [{
196
197
  name: 'name',
@@ -220,7 +221,7 @@ let runtimeFunctions = [{
220
221
  }, {
221
222
  name: 'Type',
222
223
  shortDescription: 'Returns the type of a variable and/or object. See the BrightScript Component specification for a list of types.',
223
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
224
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
224
225
  file: exports.globalFile,
225
226
  params: [{
226
227
  name: 'variable',
@@ -234,13 +235,13 @@ let runtimeFunctions = [{
234
235
  }, {
235
236
  name: 'GetGlobalAA',
236
237
  shortDescription: 'Each script has a global Associative Array. It can be fetched with this function. ',
237
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
238
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
238
239
  file: exports.globalFile,
239
240
  params: []
240
241
  }, {
241
242
  name: 'Box',
242
243
  shortDescription: 'Box() will return an object version of an intrinsic type, or pass through an object if given one.',
243
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
244
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
244
245
  file: exports.globalFile,
245
246
  params: [{
246
247
  name: 'x',
@@ -250,7 +251,7 @@ let runtimeFunctions = [{
250
251
  }, {
251
252
  name: 'Run',
252
253
  shortDescription: `The Run function can be used to compile and run a script dynamically.\nThe file specified by that path is compiled and run.\nArguments may be passed to the script's Main function, and that script may return a result value.'`,
253
- type: new FunctionType_1.FunctionType(new DynamicType_1.DynamicType()),
254
+ type: new TypedFunctionType_1.TypedFunctionType(new DynamicType_1.DynamicType()),
254
255
  file: exports.globalFile,
255
256
  params: [{
256
257
  name: 'filename',
@@ -265,7 +266,7 @@ let runtimeFunctions = [{
265
266
  }, {
266
267
  name: 'Run',
267
268
  shortDescription: `The Run function can be used to compile and run a script dynamically.\nAll files specified are compiled together, then run.\nArguments may be passed to the script's Main function, and that script may return a result value.'`,
268
- type: new FunctionType_1.FunctionType(new DynamicType_1.DynamicType()),
269
+ type: new TypedFunctionType_1.TypedFunctionType(new DynamicType_1.DynamicType()),
269
270
  file: exports.globalFile,
270
271
  params: [{
271
272
  name: 'filename',
@@ -280,7 +281,7 @@ let runtimeFunctions = [{
280
281
  }, {
281
282
  name: 'Eval',
282
283
  shortDescription: `Eval can be used to run a code snippet in the context of the current function. It performs a compile, and then the bytecode execution.\nIf a compilation error occurs, no bytecode execution is performed, and Eval returns an roList with one or more compile errors. Each list entry is an roAssociativeArray with ERRNO and ERRSTR keys describing the error.\nIf compilation succeeds, bytecode execution is performed and the integer runtime error code is returned. These are the same error codes as returned by GetLastRunRuntimeError().\nEval() can be usefully in two cases. The first is when you need to dynamically generate code at runtime.\nThe other is if you need to execute a statement that could result in a runtime error, but you don't want code execution to stop. '`,
283
- type: new FunctionType_1.FunctionType(new DynamicType_1.DynamicType()),
284
+ type: new TypedFunctionType_1.TypedFunctionType(new DynamicType_1.DynamicType()),
284
285
  file: exports.globalFile,
285
286
  isDeprecated: true,
286
287
  params: [{
@@ -291,13 +292,13 @@ let runtimeFunctions = [{
291
292
  }, {
292
293
  name: 'GetLastRunCompileError',
293
294
  shortDescription: 'Returns an roList of compile errors, or invalid if no errors. Each list entry is an roAssociativeArray with the keys: ERRNO, ERRSTR, FILESPEC, and LINENO.',
294
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
295
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
295
296
  file: exports.globalFile,
296
297
  params: []
297
298
  }, {
298
299
  name: 'GetLastRunRuntimeError',
299
300
  shortDescription: 'Returns an error code result after the last script Run().These are normal:\\,&hFF==ERR_OKAY\\n&hFC==ERR_NORMAL_END\\n&hE2==ERR_VALUE_RETURN',
300
- type: new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()),
301
+ type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
301
302
  file: exports.globalFile,
302
303
  params: []
303
304
  }];
@@ -305,7 +306,7 @@ let globalUtilityFunctions = [
305
306
  {
306
307
  name: 'Sleep',
307
308
  shortDescription: 'This function causes the script to pause for the specified time, without wasting CPU cycles. There are 1000 milliseconds in one second.',
308
- type: new FunctionType_1.FunctionType(new VoidType_1.VoidType()),
309
+ type: new TypedFunctionType_1.TypedFunctionType(new VoidType_1.VoidType()),
309
310
  file: exports.globalFile,
310
311
  params: [{
311
312
  name: 'milliseconds',
@@ -315,7 +316,7 @@ let globalUtilityFunctions = [
315
316
  }, {
316
317
  name: 'Wait',
317
318
  shortDescription: 'This function waits on objects that are "waitable" (those that have a MessagePort interface). Wait() returns the event object that was posted to the message port. If timeout is zero, "wait" will wait for ever. Otherwise, Wait will return after timeout milliseconds if no messages are received. In this case, Wait returns a type "invalid".',
318
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
319
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
319
320
  file: exports.globalFile,
320
321
  params: [{
321
322
  name: 'timeout',
@@ -329,7 +330,7 @@ let globalUtilityFunctions = [
329
330
  }, {
330
331
  name: 'GetInterface',
331
332
  shortDescription: 'Each BrightScript Component has one or more interfaces. This function returns a value of type "Interface". \nNote that generally BrightScript Components allow you to skip the interface specification. In which case, the appropriate interface within the object is used. This works as long as the function names within the interfaces are unique.',
332
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
333
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
333
334
  file: exports.globalFile,
334
335
  params: [{
335
336
  name: 'object',
@@ -343,7 +344,7 @@ let globalUtilityFunctions = [
343
344
  }, {
344
345
  name: 'FindMemberFunction',
345
346
  shortDescription: 'Returns the interface from the object that provides the specified function, or invalid if not found.',
346
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
347
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
347
348
  file: exports.globalFile,
348
349
  params: [{
349
350
  name: 'object',
@@ -357,7 +358,7 @@ let globalUtilityFunctions = [
357
358
  }, {
358
359
  name: 'UpTime',
359
360
  shortDescription: 'Returns the uptime of the system since the last reboot in seconds.',
360
- type: new FunctionType_1.FunctionType(new FloatType_1.FloatType()),
361
+ type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
361
362
  file: exports.globalFile,
362
363
  params: [{
363
364
  name: 'dummy',
@@ -367,13 +368,13 @@ let globalUtilityFunctions = [
367
368
  }, {
368
369
  name: 'RebootSystem',
369
370
  shortDescription: 'Requests the system to perform a soft reboot. The Roku platform has disabled this feature.',
370
- type: new FunctionType_1.FunctionType(new VoidType_1.VoidType()),
371
+ type: new TypedFunctionType_1.TypedFunctionType(new VoidType_1.VoidType()),
371
372
  file: exports.globalFile,
372
373
  params: []
373
374
  }, {
374
375
  name: 'ListDir',
375
376
  shortDescription: 'Returns a List object containing the contents of the directory path specified.',
376
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
377
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
377
378
  file: exports.globalFile,
378
379
  params: [{
379
380
  name: 'path',
@@ -383,7 +384,7 @@ let globalUtilityFunctions = [
383
384
  }, {
384
385
  name: 'ReadAsciiFile',
385
386
  shortDescription: 'This function reads the specified file and returns the data as a string.\nThe file can be encoded as either UTF-8 (which includes the 7-bit ASCII subset) or UTF-16.\nAn empty string is returned if the file can not be read.',
386
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
387
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
387
388
  file: exports.globalFile,
388
389
  params: [{
389
390
  name: 'filePath',
@@ -393,7 +394,7 @@ let globalUtilityFunctions = [
393
394
  }, {
394
395
  name: 'WriteAsciiFile',
395
396
  shortDescription: 'This function writes the specified string data to a file at the specified location.\nThe string data is written as UTF-8 encoded (which includes the 7-bit ASCII subset).\nThe function returns true if the file was successfully written.',
396
- type: new FunctionType_1.FunctionType(new BooleanType_1.BooleanType()),
397
+ type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
397
398
  file: exports.globalFile,
398
399
  params: [{
399
400
  name: 'filePath',
@@ -407,7 +408,7 @@ let globalUtilityFunctions = [
407
408
  }, {
408
409
  name: 'CopyFile',
409
410
  shortDescription: 'Make a copy of a file.',
410
- type: new FunctionType_1.FunctionType(new BooleanType_1.BooleanType()),
411
+ type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
411
412
  file: exports.globalFile,
412
413
  params: [{
413
414
  name: 'source',
@@ -421,7 +422,7 @@ let globalUtilityFunctions = [
421
422
  }, {
422
423
  name: 'MoveFile',
423
424
  shortDescription: 'Rename a file.',
424
- type: new FunctionType_1.FunctionType(new BooleanType_1.BooleanType()),
425
+ type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
425
426
  file: exports.globalFile,
426
427
  params: [{
427
428
  name: 'source',
@@ -445,7 +446,7 @@ A '*' matches zero or more arbitrary characters.
445
446
  The character class '[...]' matches any single character specified within the brackets. The closing bracket is treated as a member of the character class if it immediately follows the opening bracket. i.e. '[]]' matches a single close bracket. Within the class '-' can be used to specify a range unless it is the first or last character. e.g. '[A-Cf-h]' is equivalent to '[ABCfgh]'.
446
447
  A character class can be negated by specifying '^' as the first character. To match a literal '^' place it elsewhere within the class.
447
448
  The characters '?', '*' and '[' lose their special meaning if preceded by a single '\\'. A single '\\' can be matched as '\\\\'.`,
448
- type: new FunctionType_1.FunctionType(new ArrayType_1.ArrayType(new StringType_1.StringType())),
449
+ type: new TypedFunctionType_1.TypedFunctionType(new ArrayType_1.ArrayType(new StringType_1.StringType())),
449
450
  file: exports.globalFile,
450
451
  params: [{
451
452
  name: 'path',
@@ -459,7 +460,7 @@ The characters '?', '*' and '[' lose their special meaning if preceded by a sing
459
460
  }, {
460
461
  name: 'DeleteFile',
461
462
  shortDescription: 'Delete the specified file.',
462
- type: new FunctionType_1.FunctionType(new BooleanType_1.BooleanType()),
463
+ type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
463
464
  file: exports.globalFile,
464
465
  params: [{
465
466
  name: 'file',
@@ -469,7 +470,7 @@ The characters '?', '*' and '[' lose their special meaning if preceded by a sing
469
470
  }, {
470
471
  name: 'DeleteDirectory',
471
472
  shortDescription: 'Deletes the specified directory. It is only possible to delete an empty directory.',
472
- type: new FunctionType_1.FunctionType(new BooleanType_1.BooleanType()),
473
+ type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
473
474
  file: exports.globalFile,
474
475
  params: [{
475
476
  name: 'dir',
@@ -479,7 +480,7 @@ The characters '?', '*' and '[' lose their special meaning if preceded by a sing
479
480
  }, {
480
481
  name: 'CreateDirectory',
481
482
  shortDescription: 'Creates the specified Directory. Only one directory can be created at a time',
482
- type: new FunctionType_1.FunctionType(new BooleanType_1.BooleanType()),
483
+ type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
483
484
  file: exports.globalFile,
484
485
  params: [{
485
486
  name: 'dir',
@@ -489,7 +490,7 @@ The characters '?', '*' and '[' lose their special meaning if preceded by a sing
489
490
  }, {
490
491
  name: 'FormatDrive',
491
492
  shortDescription: 'Formats a specified drive using the specified filesystem.',
492
- type: new FunctionType_1.FunctionType(new BooleanType_1.BooleanType()),
493
+ type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
493
494
  file: exports.globalFile,
494
495
  params: [{
495
496
  name: 'drive',
@@ -503,7 +504,7 @@ The characters '?', '*' and '[' lose their special meaning if preceded by a sing
503
504
  }, {
504
505
  name: 'StrToI',
505
506
  shortDescription: 'Return the integer value of the string, or 0 if nothing is parsed.',
506
- type: new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()),
507
+ type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
507
508
  file: exports.globalFile,
508
509
  params: [{
509
510
  name: 'str',
@@ -513,7 +514,7 @@ The characters '?', '*' and '[' lose their special meaning if preceded by a sing
513
514
  }, {
514
515
  name: 'RunGarbageCollector',
515
516
  shortDescription: `This function runs the garbage collector. It returns and Associative Array with some statistics regarding the garbage collection. \nSee the Garbage Collection section of the manual for more detail. You don't normally need to call this function.`,
516
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
517
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
517
518
  file: exports.globalFile,
518
519
  params: []
519
520
  }, {
@@ -523,7 +524,7 @@ The characters '?', '*' and '[' lose their special meaning if preceded by a sing
523
524
  Any roAssociativeArray objects in the returned objects will be case sensitive. As of Roku OS 9.4, to return a case-insensitive structure, set the flags parameter to "i".
524
525
  If the "i" option is used, and the jsonString includes multiple keys that match case-insensitively, duplicates are overwritten and only the last matching values are preserved.
525
526
  An error will be returned if arrays/associative arrays are nested more than 256 levels deep.`,
526
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
527
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
527
528
  file: exports.globalFile,
528
529
  params: [{
529
530
  name: 'jsonString',
@@ -546,7 +547,7 @@ An error will be returned if arrays/associative arrays are nested more than 256
546
547
  If an error occurs an empty string will be returned.
547
548
 
548
549
  Normally non-ASCII characters are escaped in the output string as "\\uXXXX" where XXXX is the hexadecimal representation of the Unicode character value. If flags=1, non-ASCII characters are not escaped.`,
549
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
550
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
550
551
  file: exports.globalFile,
551
552
  params: [{
552
553
  name: 'object',
@@ -554,7 +555,7 @@ Normally non-ASCII characters are escaped in the output string as "\\uXXXX" wher
554
555
  isOptional: false
555
556
  }, {
556
557
  name: 'flags',
557
- type: new StringType_1.StringType(),
558
+ type: new UnionType_1.UnionType([IntegerType_1.IntegerType.instance, StringType_1.StringType.instance]),
558
559
  isOptional: true
559
560
  }]
560
561
  }, {
@@ -563,7 +564,7 @@ Normally non-ASCII characters are escaped in the output string as "\\uXXXX" wher
563
564
 
564
565
  In some cases you may want to include a placeholder marker in a localizable string that gets dynamically substituted with a value at runtime.
565
566
  One way to accomplish that is to use the Replace method on the string value returned from the Tr() lookup.`,
566
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
567
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
567
568
  file: exports.globalFile,
568
569
  params: [{
569
570
  name: 'source',
@@ -576,7 +577,7 @@ let globalStringFunctions = [
576
577
  {
577
578
  name: 'UCase',
578
579
  shortDescription: 'Converts the string to all upper case.',
579
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
580
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
580
581
  file: exports.globalFile,
581
582
  params: [{
582
583
  name: 's',
@@ -586,7 +587,7 @@ let globalStringFunctions = [
586
587
  }, {
587
588
  name: 'LCase',
588
589
  shortDescription: 'Converts the string to all lower case.',
589
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
590
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
590
591
  file: exports.globalFile,
591
592
  params: [{
592
593
  name: 's',
@@ -596,7 +597,7 @@ let globalStringFunctions = [
596
597
  }, {
597
598
  name: 'Asc',
598
599
  shortDescription: 'Returns the Unicode ("ASCII") value for the first character of the specified string\n An empty string argument will return 0.',
599
- type: new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()),
600
+ type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
600
601
  file: exports.globalFile,
601
602
  params: [{
602
603
  name: 'letter',
@@ -612,7 +613,7 @@ let globalStringFunctions = [
612
613
  By using Chr, you can create strings containing characters which cannot be contained in quotes, such as newline or the quote character itself.
613
614
 
614
615
  print (Chr(34) + "hello" + Chr(34)) ' prints: "hello"`,
615
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
616
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
616
617
  file: exports.globalFile,
617
618
  params: [{
618
619
  name: 'ch',
@@ -622,7 +623,7 @@ By using Chr, you can create strings containing characters which cannot be conta
622
623
  }, {
623
624
  name: 'Instr',
624
625
  shortDescription: 'Returns the position of the first instances of substring within text, starting at the specified start position.\nReturns 0 if the substring is not found. Unlike the ifString.Instr() method, the first position is 1.',
625
- type: new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()),
626
+ type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
626
627
  file: exports.globalFile,
627
628
  params: [{
628
629
  name: 'start',
@@ -640,7 +641,7 @@ By using Chr, you can create strings containing characters which cannot be conta
640
641
  }, {
641
642
  name: 'Left',
642
643
  shortDescription: 'Returns the first n characters of s. ',
643
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
644
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
644
645
  file: exports.globalFile,
645
646
  params: [{
646
647
  name: 's',
@@ -654,7 +655,7 @@ By using Chr, you can create strings containing characters which cannot be conta
654
655
  }, {
655
656
  name: 'Len',
656
657
  shortDescription: 'Returns the number of characters in the specified string.',
657
- type: new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()),
658
+ type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
658
659
  file: exports.globalFile,
659
660
  params: [{
660
661
  name: 's',
@@ -664,7 +665,7 @@ By using Chr, you can create strings containing characters which cannot be conta
664
665
  }, {
665
666
  name: 'Mid',
666
667
  shortDescription: 'Returns a substring of s with length n and starting at position p.\nn may be omitted, in which case the string starting at p and ending at the end of the string is returned.\nUnlike the ifString.Mid() method, the first character in the string is position 1.',
667
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
668
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
668
669
  file: exports.globalFile,
669
670
  params: [{
670
671
  name: 's',
@@ -683,7 +684,7 @@ By using Chr, you can create strings containing characters which cannot be conta
683
684
  }, {
684
685
  name: 'Right',
685
686
  shortDescription: 'Returns the last n characters of s.',
686
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
687
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
687
688
  file: exports.globalFile,
688
689
  params: [{
689
690
  name: 's',
@@ -697,7 +698,7 @@ By using Chr, you can create strings containing characters which cannot be conta
697
698
  }, {
698
699
  name: 'Str',
699
700
  shortDescription: 'Converts a value to a string. Str(A), for example, returns a string equal to the decimal representation of the numeric value of A.\nNote: for non-negative numbers, a leading blank is inserted before the value string as a sign placeholder.',
700
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
701
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
701
702
  file: exports.globalFile,
702
703
  params: [{
703
704
  name: 'value',
@@ -707,7 +708,7 @@ By using Chr, you can create strings containing characters which cannot be conta
707
708
  }, {
708
709
  name: 'StrI',
709
710
  shortDescription: 'Converts a value to a string. Str(A), for example, returns a string equal to the decimal representation of the numeric value of A.\nNote: for non-negative numbers, a leading blank is inserted before the value string as a sign placeholder.. If the radix parameter is provided, then converts the integer value into a string representation using the given radix.\nIf radix is not 2 .. 36 then an empty string is returned.\nNote that the returned string does not include a base prefix and uses lowercase letters to represent those digits in bases greater than 10.',
710
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
711
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
711
712
  file: exports.globalFile,
712
713
  params: [{
713
714
  name: 'value',
@@ -721,7 +722,7 @@ By using Chr, you can create strings containing characters which cannot be conta
721
722
  }, {
722
723
  name: 'string',
723
724
  shortDescription: 'Returns a string composed of n copies of the second argument concatenated together.',
724
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
725
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
725
726
  file: exports.globalFile,
726
727
  params: [{
727
728
  name: 'n',
@@ -735,7 +736,7 @@ By using Chr, you can create strings containing characters which cannot be conta
735
736
  }, {
736
737
  name: 'StringI',
737
738
  shortDescription: 'Returns a string composed of n copies of the character whose Unicode value is the second argument.',
738
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
739
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
739
740
  file: exports.globalFile,
740
741
  params: [{
741
742
  name: 'n',
@@ -749,7 +750,7 @@ By using Chr, you can create strings containing characters which cannot be conta
749
750
  }, {
750
751
  name: 'Val',
751
752
  shortDescription: 'Performs the inverse of the STR function: returns the number represented by the characters in a string argument.\nFor example, if A$="12" and B$="34" then VAL(A$+ "."+B$) returns the number 12.34. If radix is provided as the second parameter, it returns the integer value from parsing the string with the specified radix.\nRadix should be 2 .. 36 or the special value 0 (which automatically identified hexadecimal or octal numbers based on 0x or 0 prefixes respectively).\nLeading whitespace is ignored then as much of the rest of the string will be parsed as valid.',
752
- type: new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()),
753
+ type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
753
754
  file: exports.globalFile,
754
755
  params: [{
755
756
  name: 'str',
@@ -763,7 +764,7 @@ By using Chr, you can create strings containing characters which cannot be conta
763
764
  }, {
764
765
  name: 'Substitute',
765
766
  shortDescription: 'Replaces all instances of {0} or ^0 in str with arg0. Similarly, replaces all instances of {1} or ^1 with arg1, {2} or ^2 with arg2, and {3} or ^3 with arg3.',
766
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
767
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
767
768
  file: exports.globalFile,
768
769
  params: [{
769
770
  name: 'str',
@@ -792,7 +793,7 @@ let programStatementFunctions = [
792
793
  {
793
794
  name: 'Tab',
794
795
  shortDescription: 'Moves the cursor to the specified position on the current line (modulo the width of your console if you specify TAB positions greater than the console width). TAB may be used several times in a PRINT list. No punctuation is required after a TAB modifier. Numerical expressions may be used to specify a TAB position. TAB cannot be used to move the cursor to the left. If the cursor is beyond the specified position, the TAB is ignored.',
795
- type: new FunctionType_1.FunctionType(new VoidType_1.VoidType()),
796
+ type: new TypedFunctionType_1.TypedFunctionType(new VoidType_1.VoidType()),
796
797
  file: exports.globalFile,
797
798
  params: [{
798
799
  name: 'expression',
@@ -802,7 +803,7 @@ let programStatementFunctions = [
802
803
  }, {
803
804
  name: 'Pos',
804
805
  shortDescription: 'Returns a number from 0 to window width, indicating the current cursor position on the cursor. Requires a "dummy argument" (any numeric expression).',
805
- type: new FunctionType_1.FunctionType(new VoidType_1.VoidType()),
806
+ type: new TypedFunctionType_1.TypedFunctionType(new VoidType_1.VoidType()),
806
807
  file: exports.globalFile,
807
808
  params: [{
808
809
  name: 'x',
@@ -813,32 +814,39 @@ let programStatementFunctions = [
813
814
  }, {
814
815
  name: 'Roku_Ads',
815
816
  shortDescription: 'The main entry point for instantiating the ad interface. This object manages ad server requests, parses ad structure, schedules and renders ads, and triggers tracking beacons.\n\nThe Roku ad parser/renderer object returned has global scope because it is meant to represent interaction with external resources (the ad server and any tracking services) that have persistence and state independent of the ad rendering within a client application.',
816
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
817
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
818
+ file: exports.globalFile,
819
+ params: []
820
+ //TODO this is a temporary fix for library imported files. Eventually this should be moved into `Roku_Event_Dispatcher.brs` and handled by the `Library` statement
821
+ }, {
822
+ name: 'Roku_Event_Dispatcher',
823
+ shortDescription: 'Use the Roku Event Dispatcher in your channel\'s authentication workflow to send authentication events. See: https://developer.roku.com/docs/developer-program/discovery/search/prioritizing-authenticated-channels-in-roku-search.md',
824
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
817
825
  file: exports.globalFile,
818
826
  params: []
819
827
  }, {
820
828
  name: 'bslBrightScriptErrorCodes',
821
829
  shortDescription: 'Returns an roAssociativeArray with name value pairs of the error name and corresponding integer value, for example ERR_OKAY = &hFF.',
822
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
830
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
823
831
  file: exports.globalFile,
824
832
  params: []
825
833
  }, {
826
834
  name: 'bslGeneralConstants',
827
835
  shortDescription: 'Returns an roAssociativeArray with name value pairs of system constants, for example MAX_INT = 2147483647.',
828
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
836
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
829
837
  file: exports.globalFile,
830
838
  params: []
831
839
  }, {
832
840
  name: 'bslUniversalControlEventCodes',
833
841
  shortDescription: 'Returns an roAssociativeArray with name value pairs of the remote key code (buttons) constants, for example BUTTON_SELECT_PRESSED = 6.',
834
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
842
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
835
843
  file: exports.globalFile,
836
844
  params: []
837
845
  },
838
846
  {
839
847
  name: 'AsciiToHex',
840
848
  shortDescription: 'Returns the hex encoded string, for example AsciiToHex("Hi!") = "486921".',
841
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
849
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
842
850
  file: exports.globalFile,
843
851
  params: [{
844
852
  name: 'ascii',
@@ -848,7 +856,7 @@ let programStatementFunctions = [
848
856
  }, {
849
857
  name: 'HexToAscii',
850
858
  shortDescription: 'Returns a string that is the hex decoded string, for example HexToAscii("486921") = "Hi!".',
851
- type: new FunctionType_1.FunctionType(new StringType_1.StringType()),
859
+ type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
852
860
  file: exports.globalFile,
853
861
  params: [{
854
862
  name: 'hex',
@@ -859,7 +867,7 @@ let programStatementFunctions = [
859
867
  {
860
868
  name: 'HexToInteger',
861
869
  shortDescription: 'Returns the integer value of the passed in hex string.',
862
- type: new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()),
870
+ type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
863
871
  file: exports.globalFile,
864
872
  params: [{
865
873
  name: 'hex',
@@ -869,7 +877,7 @@ let programStatementFunctions = [
869
877
  }, {
870
878
  name: 'HexToInteger',
871
879
  shortDescription: 'Returns a string that is the hex decoded string, for example HexToAscii("486921") = "Hi!".',
872
- type: new FunctionType_1.FunctionType(new IntegerType_1.IntegerType()),
880
+ type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
873
881
  file: exports.globalFile,
874
882
  params: [{
875
883
  name: 'hex',
@@ -885,7 +893,7 @@ ExtraInfo: roAssociativeArray
885
893
  Regions: roAssociativeArray of name, roRegions pairs
886
894
  Animations: roAssociativeArray of name, roArray of roRegion pairs.
887
895
  Backgrounds: roAssociativeArray of name, path pairs.`,
888
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
896
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
889
897
  file: exports.globalFile,
890
898
  params: [{
891
899
  name: 'filename',
@@ -895,7 +903,7 @@ Backgrounds: roAssociativeArray of name, path pairs.`,
895
903
  }, {
896
904
  name: 'dfDrawMessage',
897
905
  shortDescription: 'dest is an roScreen/roBitmap/roRegion and region is an roRegion.\nGreys the entire dest region and draws it the region centered on the drawable dest.',
898
- type: new FunctionType_1.FunctionType(new VoidType_1.VoidType()),
906
+ type: new TypedFunctionType_1.TypedFunctionType(new VoidType_1.VoidType()),
899
907
  file: exports.globalFile,
900
908
  params: [{
901
909
  name: 'dest',
@@ -909,7 +917,7 @@ Backgrounds: roAssociativeArray of name, path pairs.`,
909
917
  }, {
910
918
  name: 'dfDrawImage',
911
919
  shortDescription: 'Returns True if successful.\nCreates a bitmap out of the image stored in the filename "path" and draws it at position (x,y) of the drawable dest.',
912
- type: new FunctionType_1.FunctionType(new BooleanType_1.BooleanType()),
920
+ type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
913
921
  file: exports.globalFile,
914
922
  params: [{
915
923
  name: 'dest',
@@ -942,7 +950,7 @@ Right: right region if there is a pillar box area on the right
942
950
  Upper: upper region if there is a letterbox area at thetop
943
951
  Lower: lower region if there is a letterbox area at the bottom
944
952
  When using these regions as drawables, your graphics will be translated and clipped to these regions.`,
945
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
953
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
946
954
  file: exports.globalFile,
947
955
  params: [{
948
956
  name: 'screen',
@@ -971,7 +979,7 @@ When using these regions as drawables, your graphics will be translated and clip
971
979
  backgroundName is a key for the Backgrounds roAssociative array of backgrounds.
972
980
  Backgrounds is an roAssociative array of background name keys and file path string values
973
981
  This function creates an roBitmap out of the background image file and returns a region the size of the entire roBitmap.`,
974
- type: new FunctionType_1.FunctionType(new ObjectType_1.ObjectType()),
982
+ type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
975
983
  file: exports.globalFile,
976
984
  params: [{
977
985
  name: 'backgroundName',