brighterscript 1.0.0-alpha.44 → 1.0.0-alpha.46

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 (229) hide show
  1. package/bsconfig.schema.json +6 -1
  2. package/dist/AstValidationSegmenter.js +6 -1
  3. package/dist/AstValidationSegmenter.js.map +1 -1
  4. package/dist/BsConfig.d.ts +4 -0
  5. package/dist/BusyStatusTracker.d.ts +37 -7
  6. package/dist/BusyStatusTracker.js +73 -8
  7. package/dist/BusyStatusTracker.js.map +1 -1
  8. package/dist/Cache.d.ts +0 -4
  9. package/dist/Cache.js +0 -6
  10. package/dist/Cache.js.map +1 -1
  11. package/dist/CodeActionUtil.d.ts +6 -1
  12. package/dist/CodeActionUtil.js +3 -0
  13. package/dist/CodeActionUtil.js.map +1 -1
  14. package/dist/CrossScopeValidator.d.ts +1 -1
  15. package/dist/CrossScopeValidator.js +8 -7
  16. package/dist/CrossScopeValidator.js.map +1 -1
  17. package/dist/DiagnosticCollection.d.ts +19 -5
  18. package/dist/DiagnosticCollection.js +71 -23
  19. package/dist/DiagnosticCollection.js.map +1 -1
  20. package/dist/DiagnosticFilterer.d.ts +14 -1
  21. package/dist/DiagnosticFilterer.js +130 -12
  22. package/dist/DiagnosticFilterer.js.map +1 -1
  23. package/dist/DiagnosticManager.d.ts +11 -1
  24. package/dist/DiagnosticManager.js +192 -35
  25. package/dist/DiagnosticManager.js.map +1 -1
  26. package/dist/DiagnosticMessages.d.ts +19 -7
  27. package/dist/DiagnosticMessages.js +21 -9
  28. package/dist/DiagnosticMessages.js.map +1 -1
  29. package/dist/LanguageServer.d.ts +82 -139
  30. package/dist/LanguageServer.js +402 -980
  31. package/dist/LanguageServer.js.map +1 -1
  32. package/dist/Logger.d.ts +9 -4
  33. package/dist/Logger.js +30 -6
  34. package/dist/Logger.js.map +1 -1
  35. package/dist/PluginInterface.d.ts +8 -8
  36. package/dist/PluginInterface.js.map +1 -1
  37. package/dist/Program.d.ts +23 -4
  38. package/dist/Program.js +294 -194
  39. package/dist/Program.js.map +1 -1
  40. package/dist/ProgramBuilder.d.ts +22 -7
  41. package/dist/ProgramBuilder.js +44 -21
  42. package/dist/ProgramBuilder.js.map +1 -1
  43. package/dist/Scope.d.ts +11 -6
  44. package/dist/Scope.js +60 -36
  45. package/dist/Scope.js.map +1 -1
  46. package/dist/SemanticTokenUtils.js +1 -1
  47. package/dist/SemanticTokenUtils.js.map +1 -1
  48. package/dist/astUtils/CachedLookups.js +0 -1
  49. package/dist/astUtils/CachedLookups.js.map +1 -1
  50. package/dist/astUtils/reflection.d.ts +4 -4
  51. package/dist/astUtils/reflection.js +12 -10
  52. package/dist/astUtils/reflection.js.map +1 -1
  53. package/dist/bscPlugin/BscPlugin.d.ts +3 -3
  54. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  55. package/dist/bscPlugin/CallExpressionInfo.js +4 -2
  56. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  57. package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +2 -0
  58. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +147 -0
  59. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  60. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +44 -0
  61. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  62. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +1 -1
  63. package/dist/bscPlugin/completions/CompletionsProcessor.js +15 -15
  64. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  65. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +82 -5
  66. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -1
  67. package/dist/bscPlugin/hover/HoverProcessor.js +3 -0
  68. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  69. package/dist/bscPlugin/hover/HoverProcessor.spec.js +44 -0
  70. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
  71. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +4 -0
  72. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  73. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +17 -0
  74. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
  75. package/dist/bscPlugin/validation/BrsFileValidator.js +21 -0
  76. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  77. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +161 -7
  78. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
  79. package/dist/bscPlugin/validation/ScopeValidator.d.ts +4 -1
  80. package/dist/bscPlugin/validation/ScopeValidator.js +166 -63
  81. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  82. package/dist/bscPlugin/validation/ScopeValidator.spec.js +21 -9
  83. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
  84. package/dist/common/Sequencer.d.ts +53 -0
  85. package/dist/common/Sequencer.js +233 -0
  86. package/dist/common/Sequencer.js.map +1 -0
  87. package/dist/common/Sequencer.spec.d.ts +1 -0
  88. package/dist/common/Sequencer.spec.js +75 -0
  89. package/dist/common/Sequencer.spec.js.map +1 -0
  90. package/dist/deferred.d.ts +2 -0
  91. package/dist/deferred.js +10 -0
  92. package/dist/deferred.js.map +1 -1
  93. package/dist/examples/plugins/removePrint.d.ts +2 -2
  94. package/dist/examples/plugins/removePrint.js.map +1 -1
  95. package/dist/files/BrsFile.d.ts +1 -1
  96. package/dist/files/BrsFile.js +22 -42
  97. package/dist/files/BrsFile.js.map +1 -1
  98. package/dist/files/BrsFile.spec.js +155 -4
  99. package/dist/files/BrsFile.spec.js.map +1 -1
  100. package/dist/files/BscFile.d.ts +1 -0
  101. package/dist/files/LazyFileData.d.ts +1 -0
  102. package/dist/files/XmlFile.spec.js +1 -1
  103. package/dist/files/XmlFile.spec.js.map +1 -1
  104. package/dist/globalCallables.js +189 -189
  105. package/dist/globalCallables.js.map +1 -1
  106. package/dist/interfaces.d.ts +56 -13
  107. package/dist/interfaces.js.map +1 -1
  108. package/dist/lexer/Lexer.js +1 -1
  109. package/dist/lexer/Lexer.js.map +1 -1
  110. package/dist/logging.d.ts +6 -1
  111. package/dist/logging.js +14 -1
  112. package/dist/logging.js.map +1 -1
  113. package/dist/lsp/ActionQueue.d.ts +35 -0
  114. package/dist/lsp/ActionQueue.js +115 -0
  115. package/dist/lsp/ActionQueue.js.map +1 -0
  116. package/dist/lsp/ActionQueue.spec.d.ts +1 -0
  117. package/dist/lsp/ActionQueue.spec.js +80 -0
  118. package/dist/lsp/ActionQueue.spec.js.map +1 -0
  119. package/dist/lsp/DocumentManager.d.ts +63 -0
  120. package/dist/lsp/DocumentManager.js +122 -0
  121. package/dist/lsp/DocumentManager.js.map +1 -0
  122. package/dist/lsp/DocumentManager.spec.d.ts +1 -0
  123. package/dist/lsp/DocumentManager.spec.js +103 -0
  124. package/dist/lsp/DocumentManager.spec.js.map +1 -0
  125. package/dist/lsp/LspProject.d.ts +231 -0
  126. package/dist/lsp/LspProject.js +3 -0
  127. package/dist/lsp/LspProject.js.map +1 -0
  128. package/dist/lsp/PathFilterer.d.ts +75 -0
  129. package/dist/lsp/PathFilterer.js +196 -0
  130. package/dist/lsp/PathFilterer.js.map +1 -0
  131. package/dist/lsp/PathFilterer.spec.d.ts +1 -0
  132. package/dist/lsp/PathFilterer.spec.js +182 -0
  133. package/dist/lsp/PathFilterer.spec.js.map +1 -0
  134. package/dist/lsp/Project.d.ts +167 -0
  135. package/dist/lsp/Project.js +432 -0
  136. package/dist/lsp/Project.js.map +1 -0
  137. package/dist/lsp/Project.spec.d.ts +1 -0
  138. package/dist/lsp/Project.spec.js +220 -0
  139. package/dist/lsp/Project.spec.js.map +1 -0
  140. package/dist/lsp/ProjectManager.d.ts +221 -0
  141. package/dist/lsp/ProjectManager.js +754 -0
  142. package/dist/lsp/ProjectManager.js.map +1 -0
  143. package/dist/lsp/ProjectManager.spec.d.ts +1 -0
  144. package/dist/lsp/ProjectManager.spec.js +783 -0
  145. package/dist/lsp/ProjectManager.spec.js.map +1 -0
  146. package/dist/lsp/ReaderWriterManager.d.ts +21 -0
  147. package/dist/lsp/ReaderWriterManager.js +60 -0
  148. package/dist/lsp/ReaderWriterManager.js.map +1 -0
  149. package/dist/lsp/worker/MessageHandler.d.ts +99 -0
  150. package/dist/lsp/worker/MessageHandler.js +138 -0
  151. package/dist/lsp/worker/MessageHandler.js.map +1 -0
  152. package/dist/lsp/worker/MessageHandler.spec.d.ts +1 -0
  153. package/dist/lsp/worker/MessageHandler.spec.js +64 -0
  154. package/dist/lsp/worker/MessageHandler.spec.js.map +1 -0
  155. package/dist/lsp/worker/WorkerPool.d.ts +38 -0
  156. package/dist/lsp/worker/WorkerPool.js +78 -0
  157. package/dist/lsp/worker/WorkerPool.js.map +1 -0
  158. package/dist/lsp/worker/WorkerPool.spec.d.ts +1 -0
  159. package/dist/lsp/worker/WorkerPool.spec.js +59 -0
  160. package/dist/lsp/worker/WorkerPool.spec.js.map +1 -0
  161. package/dist/lsp/worker/WorkerThreadProject.d.ts +144 -0
  162. package/dist/lsp/worker/WorkerThreadProject.js +183 -0
  163. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -0
  164. package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +2 -0
  165. package/dist/lsp/worker/WorkerThreadProject.spec.js +68 -0
  166. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +1 -0
  167. package/dist/lsp/worker/WorkerThreadProjectRunner.d.ts +15 -0
  168. package/dist/lsp/worker/WorkerThreadProjectRunner.js +58 -0
  169. package/dist/lsp/worker/WorkerThreadProjectRunner.js.map +1 -0
  170. package/dist/parser/Expression.d.ts +1 -0
  171. package/dist/parser/Expression.js +65 -3
  172. package/dist/parser/Expression.js.map +1 -1
  173. package/dist/parser/Parser.spec.js +12 -0
  174. package/dist/parser/Parser.spec.js.map +1 -1
  175. package/dist/parser/Statement.js +2 -2
  176. package/dist/parser/Statement.js.map +1 -1
  177. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +47 -0
  178. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  179. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +51 -5
  180. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  181. package/dist/parser/tests/expression/TernaryExpression.spec.js +44 -0
  182. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  183. package/dist/roku-types/data.json +880 -756
  184. package/dist/roku-types/index.d.ts +17 -0
  185. package/dist/types/BooleanType.d.ts +0 -2
  186. package/dist/types/BooleanType.js +4 -6
  187. package/dist/types/BooleanType.js.map +1 -1
  188. package/dist/types/BscType.js +5 -0
  189. package/dist/types/BscType.js.map +1 -1
  190. package/dist/types/BuiltInInterfaceAdder.d.ts +1 -0
  191. package/dist/types/BuiltInInterfaceAdder.js +24 -17
  192. package/dist/types/BuiltInInterfaceAdder.js.map +1 -1
  193. package/dist/types/DoubleType.d.ts +0 -2
  194. package/dist/types/DoubleType.js +4 -6
  195. package/dist/types/DoubleType.js.map +1 -1
  196. package/dist/types/DynamicType.d.ts +0 -2
  197. package/dist/types/DynamicType.js +3 -5
  198. package/dist/types/DynamicType.js.map +1 -1
  199. package/dist/types/FloatType.d.ts +0 -2
  200. package/dist/types/FloatType.js +4 -6
  201. package/dist/types/FloatType.js.map +1 -1
  202. package/dist/types/FunctionType.d.ts +0 -2
  203. package/dist/types/FunctionType.js +5 -7
  204. package/dist/types/FunctionType.js.map +1 -1
  205. package/dist/types/IntegerType.d.ts +0 -2
  206. package/dist/types/IntegerType.js +4 -6
  207. package/dist/types/IntegerType.js.map +1 -1
  208. package/dist/types/LongIntegerType.d.ts +0 -2
  209. package/dist/types/LongIntegerType.js +4 -6
  210. package/dist/types/LongIntegerType.js.map +1 -1
  211. package/dist/types/ObjectType.d.ts +3 -3
  212. package/dist/types/ObjectType.js +6 -8
  213. package/dist/types/ObjectType.js.map +1 -1
  214. package/dist/types/StringType.d.ts +0 -2
  215. package/dist/types/StringType.js +4 -6
  216. package/dist/types/StringType.js.map +1 -1
  217. package/dist/types/VoidType.d.ts +0 -2
  218. package/dist/types/VoidType.js +4 -6
  219. package/dist/types/VoidType.js.map +1 -1
  220. package/dist/types/helpers.d.ts +4 -0
  221. package/dist/types/helpers.js +5 -1
  222. package/dist/types/helpers.js.map +1 -1
  223. package/dist/util.d.ts +48 -16
  224. package/dist/util.js +203 -70
  225. package/dist/util.js.map +1 -1
  226. package/dist/validators/ClassValidator.js +2 -2
  227. package/dist/validators/ClassValidator.js.map +1 -1
  228. package/package.json +15 -5
  229. package/CHANGELOG.md +0 -2352
@@ -18,286 +18,286 @@ exports.globalFile.parse('');
18
18
  let mathFunctions = [{
19
19
  name: 'Abs',
20
20
  shortDescription: 'Returns the absolute value of the argument.',
21
- type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
21
+ type: new TypedFunctionType_1.TypedFunctionType(FloatType_1.FloatType.instance),
22
22
  file: exports.globalFile,
23
23
  params: [{
24
24
  name: 'x',
25
- type: new FloatType_1.FloatType(),
25
+ type: FloatType_1.FloatType.instance,
26
26
  isOptional: false
27
27
  }]
28
28
  }, {
29
29
  name: 'Atn',
30
30
  shortDescription: 'Returns the arctangent (in radians) of the argument.',
31
31
  documentation: '`ATN(X)` returns "the angle whose tangent is X". To get arctangent in degrees, multiply `ATN(X)` by `57.29578`.',
32
- type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
32
+ type: new TypedFunctionType_1.TypedFunctionType(FloatType_1.FloatType.instance),
33
33
  file: exports.globalFile,
34
34
  params: [{
35
35
  name: 'x',
36
- type: new FloatType_1.FloatType(),
36
+ type: FloatType_1.FloatType.instance,
37
37
  isOptional: false
38
38
  }]
39
39
  }, {
40
40
  name: 'Cdbl',
41
41
  shortDescription: 'Returns a single precision float representation of the argument. Someday may return double.',
42
- type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
42
+ type: new TypedFunctionType_1.TypedFunctionType(FloatType_1.FloatType.instance),
43
43
  file: exports.globalFile,
44
44
  params: [{
45
45
  name: 'x',
46
- type: new IntegerType_1.IntegerType(),
46
+ type: IntegerType_1.IntegerType.instance,
47
47
  isOptional: false
48
48
  }]
49
49
  }, {
50
50
  name: 'Cint',
51
51
  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 TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
52
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
53
53
  file: exports.globalFile,
54
54
  params: [{
55
55
  name: 'x',
56
- type: new FloatType_1.FloatType(),
56
+ type: FloatType_1.FloatType.instance,
57
57
  isOptional: false
58
58
  }]
59
59
  }, {
60
60
  name: 'Cos',
61
61
  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 TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
62
+ type: new TypedFunctionType_1.TypedFunctionType(FloatType_1.FloatType.instance),
63
63
  file: exports.globalFile,
64
64
  params: [{
65
65
  name: 'x',
66
- type: new FloatType_1.FloatType(),
66
+ type: FloatType_1.FloatType.instance,
67
67
  isOptional: false
68
68
  }]
69
69
  }, {
70
70
  name: 'Csng',
71
71
  shortDescription: 'Returns a single-precision float representation of the argument.',
72
- type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
72
+ type: new TypedFunctionType_1.TypedFunctionType(FloatType_1.FloatType.instance),
73
73
  file: exports.globalFile,
74
74
  params: [{
75
75
  name: 'x',
76
- type: new IntegerType_1.IntegerType(),
76
+ type: IntegerType_1.IntegerType.instance,
77
77
  isOptional: false
78
78
  }]
79
79
  }, {
80
80
  name: 'Exp',
81
81
  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 TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
82
+ type: new TypedFunctionType_1.TypedFunctionType(FloatType_1.FloatType.instance),
83
83
  file: exports.globalFile,
84
84
  params: [{
85
85
  name: 'x',
86
- type: new FloatType_1.FloatType(),
86
+ type: FloatType_1.FloatType.instance,
87
87
  isOptional: false
88
88
  }]
89
89
  }, {
90
90
  name: 'Fix',
91
91
  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 TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
92
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
93
93
  file: exports.globalFile,
94
94
  params: [{
95
95
  name: 'x',
96
- type: new FloatType_1.FloatType(),
96
+ type: FloatType_1.FloatType.instance,
97
97
  isOptional: false
98
98
  }]
99
99
  }, {
100
100
  name: 'Int',
101
101
  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 TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
102
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
103
103
  file: exports.globalFile,
104
104
  params: [{
105
105
  name: 'x',
106
- type: new FloatType_1.FloatType(),
106
+ type: FloatType_1.FloatType.instance,
107
107
  isOptional: false
108
108
  }]
109
109
  }, {
110
110
  name: 'Log',
111
111
  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 TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
112
+ type: new TypedFunctionType_1.TypedFunctionType(FloatType_1.FloatType.instance),
113
113
  file: exports.globalFile,
114
114
  params: [{
115
115
  name: 'x',
116
- type: new FloatType_1.FloatType(),
116
+ type: FloatType_1.FloatType.instance,
117
117
  isOptional: false
118
118
  }]
119
119
  }, {
120
120
  name: 'Rnd',
121
121
  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 TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
122
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
123
123
  file: exports.globalFile,
124
124
  params: [{
125
125
  name: 'range',
126
- type: new IntegerType_1.IntegerType(),
126
+ type: IntegerType_1.IntegerType.instance,
127
127
  isOptional: false
128
128
  }]
129
129
  }, {
130
130
  name: 'Rnd',
131
131
  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 TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
132
+ type: new TypedFunctionType_1.TypedFunctionType(FloatType_1.FloatType.instance),
133
133
  file: exports.globalFile,
134
134
  params: [{
135
135
  name: '0',
136
- type: new IntegerType_1.IntegerType(),
136
+ type: IntegerType_1.IntegerType.instance,
137
137
  isOptional: false
138
138
  }]
139
139
  }, {
140
140
  name: 'Sgn',
141
141
  shortDescription: 'The "sign" function: returns -1 for X negative, 0 for X zero, and +1 for X positive.',
142
- type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
142
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
143
143
  file: exports.globalFile,
144
144
  params: [{
145
145
  name: 'x',
146
- type: new FloatType_1.FloatType(),
146
+ type: FloatType_1.FloatType.instance,
147
147
  isOptional: false
148
148
  }]
149
149
  }, {
150
150
  name: 'Sgn',
151
151
  shortDescription: 'The "sign" function: returns -1 for X negative, 0 for X zero, and +1 for X positive.',
152
- type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
152
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
153
153
  file: exports.globalFile,
154
154
  params: [{
155
155
  name: 'x',
156
- type: new IntegerType_1.IntegerType(),
156
+ type: IntegerType_1.IntegerType.instance,
157
157
  isOptional: false
158
158
  }]
159
159
  }, {
160
160
  name: 'Sin',
161
161
  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 TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
162
+ type: new TypedFunctionType_1.TypedFunctionType(FloatType_1.FloatType.instance),
163
163
  file: exports.globalFile,
164
164
  params: [{
165
165
  name: 'x',
166
- type: new FloatType_1.FloatType(),
166
+ type: FloatType_1.FloatType.instance,
167
167
  isOptional: false
168
168
  }]
169
169
  }, {
170
170
  name: 'Sqr',
171
171
  shortDescription: 'Returns the square root of the argument. SQR(X) is the same as X ^ (1/2), only faster.',
172
- type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
172
+ type: new TypedFunctionType_1.TypedFunctionType(FloatType_1.FloatType.instance),
173
173
  file: exports.globalFile,
174
174
  params: [{
175
175
  name: 'x',
176
- type: new FloatType_1.FloatType(),
176
+ type: FloatType_1.FloatType.instance,
177
177
  isOptional: false
178
178
  }]
179
179
  }, {
180
180
  name: 'Tan',
181
181
  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 TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
182
+ type: new TypedFunctionType_1.TypedFunctionType(FloatType_1.FloatType.instance),
183
183
  file: exports.globalFile,
184
184
  params: [{
185
185
  name: 'x',
186
- type: new FloatType_1.FloatType(),
186
+ type: FloatType_1.FloatType.instance,
187
187
  isOptional: false
188
188
  }]
189
189
  }];
190
190
  let runtimeFunctions = [{
191
191
  name: 'CreateObject',
192
192
  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 TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
193
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
194
194
  file: exports.globalFile,
195
195
  params: [{
196
196
  name: 'name',
197
- type: new StringType_1.StringType(),
197
+ type: StringType_1.StringType.instance,
198
198
  isOptional: false
199
199
  }, {
200
200
  name: 'param2',
201
- type: new DynamicType_1.DynamicType(),
201
+ type: DynamicType_1.DynamicType.instance,
202
202
  isOptional: true
203
203
  }, {
204
204
  name: 'param3',
205
- type: new DynamicType_1.DynamicType(),
205
+ type: DynamicType_1.DynamicType.instance,
206
206
  isOptional: true
207
207
  }, {
208
208
  name: 'param4',
209
- type: new DynamicType_1.DynamicType(),
209
+ type: DynamicType_1.DynamicType.instance,
210
210
  isOptional: true
211
211
  }, {
212
212
  name: 'param5',
213
- type: new DynamicType_1.DynamicType(),
213
+ type: DynamicType_1.DynamicType.instance,
214
214
  isOptional: true
215
215
  }, {
216
216
  name: 'param6',
217
- type: new DynamicType_1.DynamicType(),
217
+ type: DynamicType_1.DynamicType.instance,
218
218
  isOptional: true
219
219
  }]
220
220
  }, {
221
221
  name: 'Type',
222
222
  shortDescription: 'Returns the type of a variable and/or object. See the BrightScript Component specification for a list of types.',
223
- type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
223
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
224
224
  file: exports.globalFile,
225
225
  params: [{
226
226
  name: 'variable',
227
- type: new ObjectType_1.ObjectType(),
227
+ type: ObjectType_1.ObjectType.instance,
228
228
  isOptional: false
229
229
  }, {
230
230
  name: 'version',
231
- type: new StringType_1.StringType(),
231
+ type: IntegerType_1.IntegerType.instance,
232
232
  isOptional: true
233
233
  }]
234
234
  }, {
235
235
  name: 'GetGlobalAA',
236
236
  shortDescription: 'Each script has a global Associative Array. It can be fetched with this function. ',
237
- type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
237
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
238
238
  file: exports.globalFile,
239
239
  params: []
240
240
  }, {
241
241
  name: 'Box',
242
242
  shortDescription: 'Box() will return an object version of an intrinsic type, or pass through an object if given one.',
243
- type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
243
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
244
244
  file: exports.globalFile,
245
245
  params: [{
246
246
  name: 'x',
247
- type: new DynamicType_1.DynamicType(),
247
+ type: DynamicType_1.DynamicType.instance,
248
248
  isOptional: false
249
249
  }]
250
250
  }, {
251
251
  name: 'Run',
252
252
  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 TypedFunctionType_1.TypedFunctionType(new DynamicType_1.DynamicType()),
253
+ type: new TypedFunctionType_1.TypedFunctionType(DynamicType_1.DynamicType.instance),
254
254
  file: exports.globalFile,
255
255
  params: [{
256
256
  name: 'filename',
257
- type: new StringType_1.StringType(),
257
+ type: StringType_1.StringType.instance,
258
258
  isOptional: false
259
259
  }, {
260
260
  name: 'arg',
261
- type: new DynamicType_1.DynamicType(),
261
+ type: DynamicType_1.DynamicType.instance,
262
262
  isRestArgument: true,
263
263
  isOptional: false
264
264
  }]
265
265
  }, {
266
266
  name: 'Run',
267
267
  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 TypedFunctionType_1.TypedFunctionType(new DynamicType_1.DynamicType()),
268
+ type: new TypedFunctionType_1.TypedFunctionType(DynamicType_1.DynamicType.instance),
269
269
  file: exports.globalFile,
270
270
  params: [{
271
271
  name: 'filename',
272
- type: new ArrayType_1.ArrayType(new StringType_1.StringType()),
272
+ type: new ArrayType_1.ArrayType(StringType_1.StringType.instance),
273
273
  isOptional: false
274
274
  }, {
275
275
  name: 'arg',
276
- type: new DynamicType_1.DynamicType(),
276
+ type: DynamicType_1.DynamicType.instance,
277
277
  isRestArgument: true,
278
278
  isOptional: true
279
279
  }]
280
280
  }, {
281
281
  name: 'Eval',
282
282
  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 TypedFunctionType_1.TypedFunctionType(new DynamicType_1.DynamicType()),
283
+ type: new TypedFunctionType_1.TypedFunctionType(DynamicType_1.DynamicType.instance),
284
284
  file: exports.globalFile,
285
285
  isDeprecated: true,
286
286
  params: [{
287
287
  name: 'code',
288
- type: new StringType_1.StringType(),
288
+ type: StringType_1.StringType.instance,
289
289
  isOptional: false
290
290
  }]
291
291
  }, {
292
292
  name: 'GetLastRunCompileError',
293
293
  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 TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
294
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
295
295
  file: exports.globalFile,
296
296
  params: []
297
297
  }, {
298
298
  name: 'GetLastRunRuntimeError',
299
299
  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 TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
300
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
301
301
  file: exports.globalFile,
302
302
  params: []
303
303
  }];
@@ -305,131 +305,131 @@ let globalUtilityFunctions = [
305
305
  {
306
306
  name: 'Sleep',
307
307
  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 TypedFunctionType_1.TypedFunctionType(new VoidType_1.VoidType()),
308
+ type: new TypedFunctionType_1.TypedFunctionType(VoidType_1.VoidType.instance),
309
309
  file: exports.globalFile,
310
310
  params: [{
311
311
  name: 'milliseconds',
312
- type: new IntegerType_1.IntegerType(),
312
+ type: IntegerType_1.IntegerType.instance,
313
313
  isOptional: false
314
314
  }]
315
315
  }, {
316
316
  name: 'Wait',
317
317
  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 TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
318
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
319
319
  file: exports.globalFile,
320
320
  params: [{
321
321
  name: 'timeout',
322
- type: new IntegerType_1.IntegerType(),
322
+ type: IntegerType_1.IntegerType.instance,
323
323
  isOptional: false
324
324
  }, {
325
325
  name: 'port',
326
- type: new ObjectType_1.ObjectType(),
326
+ type: ObjectType_1.ObjectType.instance,
327
327
  isOptional: false
328
328
  }]
329
329
  }, {
330
330
  name: 'GetInterface',
331
331
  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 TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
332
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
333
333
  file: exports.globalFile,
334
334
  params: [{
335
335
  name: 'object',
336
- type: new ObjectType_1.ObjectType(),
336
+ type: ObjectType_1.ObjectType.instance,
337
337
  isOptional: false
338
338
  }, {
339
339
  name: 'ifname',
340
- type: new StringType_1.StringType(),
340
+ type: StringType_1.StringType.instance,
341
341
  isOptional: false
342
342
  }]
343
343
  }, {
344
344
  name: 'FindMemberFunction',
345
345
  shortDescription: 'Returns the interface from the object that provides the specified function, or invalid if not found.',
346
- type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
346
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
347
347
  file: exports.globalFile,
348
348
  params: [{
349
349
  name: 'object',
350
- type: new ObjectType_1.ObjectType(),
350
+ type: ObjectType_1.ObjectType.instance,
351
351
  isOptional: false
352
352
  }, {
353
353
  name: 'functionName',
354
- type: new StringType_1.StringType(),
354
+ type: StringType_1.StringType.instance,
355
355
  isOptional: false
356
356
  }]
357
357
  }, {
358
358
  name: 'UpTime',
359
359
  shortDescription: 'Returns the uptime of the system since the last reboot in seconds.',
360
- type: new TypedFunctionType_1.TypedFunctionType(new FloatType_1.FloatType()),
360
+ type: new TypedFunctionType_1.TypedFunctionType(FloatType_1.FloatType.instance),
361
361
  file: exports.globalFile,
362
362
  params: [{
363
363
  name: 'dummy',
364
- type: new IntegerType_1.IntegerType(),
364
+ type: IntegerType_1.IntegerType.instance,
365
365
  isOptional: false
366
366
  }]
367
367
  }, {
368
368
  name: 'RebootSystem',
369
369
  shortDescription: 'Requests the system to perform a soft reboot. The Roku platform has disabled this feature.',
370
- type: new TypedFunctionType_1.TypedFunctionType(new VoidType_1.VoidType()),
370
+ type: new TypedFunctionType_1.TypedFunctionType(VoidType_1.VoidType.instance),
371
371
  file: exports.globalFile,
372
372
  params: []
373
373
  }, {
374
374
  name: 'ListDir',
375
375
  shortDescription: 'Returns a List object containing the contents of the directory path specified.',
376
- type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
376
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
377
377
  file: exports.globalFile,
378
378
  params: [{
379
379
  name: 'path',
380
- type: new StringType_1.StringType(),
380
+ type: StringType_1.StringType.instance,
381
381
  isOptional: false
382
382
  }]
383
383
  }, {
384
384
  name: 'ReadAsciiFile',
385
385
  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 TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
386
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
387
387
  file: exports.globalFile,
388
388
  params: [{
389
389
  name: 'filePath',
390
- type: new StringType_1.StringType(),
390
+ type: StringType_1.StringType.instance,
391
391
  isOptional: false
392
392
  }]
393
393
  }, {
394
394
  name: 'WriteAsciiFile',
395
395
  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 TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
396
+ type: new TypedFunctionType_1.TypedFunctionType(BooleanType_1.BooleanType.instance),
397
397
  file: exports.globalFile,
398
398
  params: [{
399
399
  name: 'filePath',
400
- type: new StringType_1.StringType(),
400
+ type: StringType_1.StringType.instance,
401
401
  isOptional: false
402
402
  }, {
403
403
  name: 'text',
404
- type: new StringType_1.StringType(),
404
+ type: StringType_1.StringType.instance,
405
405
  isOptional: false
406
406
  }]
407
407
  }, {
408
408
  name: 'CopyFile',
409
409
  shortDescription: 'Make a copy of a file.',
410
- type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
410
+ type: new TypedFunctionType_1.TypedFunctionType(BooleanType_1.BooleanType.instance),
411
411
  file: exports.globalFile,
412
412
  params: [{
413
413
  name: 'source',
414
- type: new StringType_1.StringType(),
414
+ type: StringType_1.StringType.instance,
415
415
  isOptional: false
416
416
  }, {
417
417
  name: 'destination',
418
- type: new StringType_1.StringType(),
418
+ type: StringType_1.StringType.instance,
419
419
  isOptional: false
420
420
  }]
421
421
  }, {
422
422
  name: 'MoveFile',
423
423
  shortDescription: 'Rename a file.',
424
- type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
424
+ type: new TypedFunctionType_1.TypedFunctionType(BooleanType_1.BooleanType.instance),
425
425
  file: exports.globalFile,
426
426
  params: [{
427
427
  name: 'source',
428
- type: new StringType_1.StringType(),
428
+ type: StringType_1.StringType.instance,
429
429
  isOptional: false
430
430
  }, {
431
431
  name: 'destination',
432
- type: new StringType_1.StringType(),
432
+ type: StringType_1.StringType.instance,
433
433
  isOptional: false
434
434
  }]
435
435
  }, {
@@ -445,75 +445,75 @@ A '*' matches zero or more arbitrary characters.
445
445
  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
446
  A character class can be negated by specifying '^' as the first character. To match a literal '^' place it elsewhere within the class.
447
447
  The characters '?', '*' and '[' lose their special meaning if preceded by a single '\\'. A single '\\' can be matched as '\\\\'.`,
448
- type: new TypedFunctionType_1.TypedFunctionType(new ArrayType_1.ArrayType(new StringType_1.StringType())),
448
+ type: new TypedFunctionType_1.TypedFunctionType(new ArrayType_1.ArrayType(StringType_1.StringType.instance)),
449
449
  file: exports.globalFile,
450
450
  params: [{
451
451
  name: 'path',
452
- type: new StringType_1.StringType(),
452
+ type: StringType_1.StringType.instance,
453
453
  isOptional: false
454
454
  }, {
455
455
  name: 'pattern_in',
456
- type: new StringType_1.StringType(),
456
+ type: StringType_1.StringType.instance,
457
457
  isOptional: false
458
458
  }]
459
459
  }, {
460
460
  name: 'DeleteFile',
461
461
  shortDescription: 'Delete the specified file.',
462
- type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
462
+ type: new TypedFunctionType_1.TypedFunctionType(BooleanType_1.BooleanType.instance),
463
463
  file: exports.globalFile,
464
464
  params: [{
465
465
  name: 'file',
466
- type: new StringType_1.StringType(),
466
+ type: StringType_1.StringType.instance,
467
467
  isOptional: false
468
468
  }]
469
469
  }, {
470
470
  name: 'DeleteDirectory',
471
471
  shortDescription: 'Deletes the specified directory. It is only possible to delete an empty directory.',
472
- type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
472
+ type: new TypedFunctionType_1.TypedFunctionType(BooleanType_1.BooleanType.instance),
473
473
  file: exports.globalFile,
474
474
  params: [{
475
475
  name: 'dir',
476
- type: new StringType_1.StringType(),
476
+ type: StringType_1.StringType.instance,
477
477
  isOptional: false
478
478
  }]
479
479
  }, {
480
480
  name: 'CreateDirectory',
481
481
  shortDescription: 'Creates the specified Directory. Only one directory can be created at a time',
482
- type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
482
+ type: new TypedFunctionType_1.TypedFunctionType(BooleanType_1.BooleanType.instance),
483
483
  file: exports.globalFile,
484
484
  params: [{
485
485
  name: 'dir',
486
- type: new StringType_1.StringType(),
486
+ type: StringType_1.StringType.instance,
487
487
  isOptional: false
488
488
  }]
489
489
  }, {
490
490
  name: 'FormatDrive',
491
491
  shortDescription: 'Formats a specified drive using the specified filesystem.',
492
- type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
492
+ type: new TypedFunctionType_1.TypedFunctionType(BooleanType_1.BooleanType.instance),
493
493
  file: exports.globalFile,
494
494
  params: [{
495
495
  name: 'drive',
496
- type: new StringType_1.StringType(),
496
+ type: StringType_1.StringType.instance,
497
497
  isOptional: false
498
498
  }, {
499
499
  name: 'fs_type',
500
- type: new StringType_1.StringType(),
500
+ type: StringType_1.StringType.instance,
501
501
  isOptional: false
502
502
  }]
503
503
  }, {
504
504
  name: 'StrToI',
505
505
  shortDescription: 'Return the integer value of the string, or 0 if nothing is parsed.',
506
- type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
506
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
507
507
  file: exports.globalFile,
508
508
  params: [{
509
509
  name: 'str',
510
- type: new StringType_1.StringType(),
510
+ type: StringType_1.StringType.instance,
511
511
  isOptional: false
512
512
  }]
513
513
  }, {
514
514
  name: 'RunGarbageCollector',
515
515
  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 TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
516
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
517
517
  file: exports.globalFile,
518
518
  params: []
519
519
  }, {
@@ -523,16 +523,16 @@ The characters '?', '*' and '[' lose their special meaning if preceded by a sing
523
523
  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
524
  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
525
  An error will be returned if arrays/associative arrays are nested more than 256 levels deep.`,
526
- type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
526
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
527
527
  file: exports.globalFile,
528
528
  params: [{
529
529
  name: 'jsonString',
530
- type: new StringType_1.StringType(),
530
+ type: StringType_1.StringType.instance,
531
531
  isOptional: false
532
532
  },
533
533
  {
534
534
  name: 'flags',
535
- type: new StringType_1.StringType(),
535
+ type: StringType_1.StringType.instance,
536
536
  isOptional: true
537
537
  }]
538
538
  }, {
@@ -546,11 +546,11 @@ An error will be returned if arrays/associative arrays are nested more than 256
546
546
  If an error occurs an empty string will be returned.
547
547
 
548
548
  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 TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
549
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
550
550
  file: exports.globalFile,
551
551
  params: [{
552
552
  name: 'object',
553
- type: new ObjectType_1.ObjectType(),
553
+ type: ObjectType_1.ObjectType.instance,
554
554
  isOptional: false
555
555
  }, {
556
556
  name: 'flags',
@@ -563,11 +563,11 @@ Normally non-ASCII characters are escaped in the output string as "\\uXXXX" wher
563
563
 
564
564
  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
565
  One way to accomplish that is to use the Replace method on the string value returned from the Tr() lookup.`,
566
- type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
566
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
567
567
  file: exports.globalFile,
568
568
  params: [{
569
569
  name: 'source',
570
- type: new StringType_1.StringType(),
570
+ type: StringType_1.StringType.instance,
571
571
  isOptional: false
572
572
  }]
573
573
  }
@@ -576,31 +576,31 @@ let globalStringFunctions = [
576
576
  {
577
577
  name: 'UCase',
578
578
  shortDescription: 'Converts the string to all upper case.',
579
- type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
579
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
580
580
  file: exports.globalFile,
581
581
  params: [{
582
582
  name: 's',
583
- type: new StringType_1.StringType(),
583
+ type: StringType_1.StringType.instance,
584
584
  isOptional: false
585
585
  }]
586
586
  }, {
587
587
  name: 'LCase',
588
588
  shortDescription: 'Converts the string to all lower case.',
589
- type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
589
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
590
590
  file: exports.globalFile,
591
591
  params: [{
592
592
  name: 's',
593
- type: new StringType_1.StringType(),
593
+ type: StringType_1.StringType.instance,
594
594
  isOptional: false
595
595
  }]
596
596
  }, {
597
597
  name: 'Asc',
598
598
  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 TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
599
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
600
600
  file: exports.globalFile,
601
601
  params: [{
602
602
  name: 'letter',
603
- type: new StringType_1.StringType(),
603
+ type: StringType_1.StringType.instance,
604
604
  isOptional: false
605
605
  }]
606
606
  }, {
@@ -612,178 +612,178 @@ let globalStringFunctions = [
612
612
  By using Chr, you can create strings containing characters which cannot be contained in quotes, such as newline or the quote character itself.
613
613
 
614
614
  print (Chr(34) + "hello" + Chr(34)) ' prints: "hello"`,
615
- type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
615
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
616
616
  file: exports.globalFile,
617
617
  params: [{
618
618
  name: 'ch',
619
- type: new IntegerType_1.IntegerType(),
619
+ type: IntegerType_1.IntegerType.instance,
620
620
  isOptional: false
621
621
  }]
622
622
  }, {
623
623
  name: 'Instr',
624
624
  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 TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
625
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
626
626
  file: exports.globalFile,
627
627
  params: [{
628
- name: 'start',
629
- type: new IntegerType_1.IntegerType(),
628
+ name: 'startOrText',
629
+ type: (0, UnionType_1.unionTypeFactory)([IntegerType_1.IntegerType.instance, StringType_1.StringType.instance]),
630
630
  isOptional: false
631
631
  }, {
632
- name: 'text',
633
- type: new StringType_1.StringType(),
632
+ name: 'textOrSubstring',
633
+ type: StringType_1.StringType.instance,
634
634
  isOptional: false
635
635
  }, {
636
636
  name: 'substring',
637
- type: new StringType_1.StringType(),
638
- isOptional: false
637
+ type: StringType_1.StringType.instance,
638
+ isOptional: true
639
639
  }]
640
640
  }, {
641
641
  name: 'Left',
642
642
  shortDescription: 'Returns the first n characters of s. ',
643
- type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
643
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
644
644
  file: exports.globalFile,
645
645
  params: [{
646
646
  name: 's',
647
- type: new StringType_1.StringType(),
647
+ type: StringType_1.StringType.instance,
648
648
  isOptional: false
649
649
  }, {
650
650
  name: 'n',
651
- type: new IntegerType_1.IntegerType(),
651
+ type: IntegerType_1.IntegerType.instance,
652
652
  isOptional: false
653
653
  }]
654
654
  }, {
655
655
  name: 'Len',
656
656
  shortDescription: 'Returns the number of characters in the specified string.',
657
- type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
657
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
658
658
  file: exports.globalFile,
659
659
  params: [{
660
660
  name: 's',
661
- type: new StringType_1.StringType(),
661
+ type: StringType_1.StringType.instance,
662
662
  isOptional: false
663
663
  }]
664
664
  }, {
665
665
  name: 'Mid',
666
666
  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 TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
667
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
668
668
  file: exports.globalFile,
669
669
  params: [{
670
670
  name: 's',
671
- type: new StringType_1.StringType(),
671
+ type: StringType_1.StringType.instance,
672
672
  isOptional: false
673
673
  }, {
674
674
  name: 'p',
675
675
  //description: '1-based position',
676
676
  isOptional: false,
677
- type: new IntegerType_1.IntegerType()
677
+ type: IntegerType_1.IntegerType.instance
678
678
  }, {
679
679
  name: 'n',
680
- type: new IntegerType_1.IntegerType(),
680
+ type: IntegerType_1.IntegerType.instance,
681
681
  isOptional: true
682
682
  }]
683
683
  }, {
684
684
  name: 'Right',
685
685
  shortDescription: 'Returns the last n characters of s.',
686
- type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
686
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
687
687
  file: exports.globalFile,
688
688
  params: [{
689
689
  name: 's',
690
- type: new StringType_1.StringType(),
690
+ type: StringType_1.StringType.instance,
691
691
  isOptional: false
692
692
  }, {
693
693
  name: 'n',
694
- type: new IntegerType_1.IntegerType(),
694
+ type: IntegerType_1.IntegerType.instance,
695
695
  isOptional: false
696
696
  }]
697
697
  }, {
698
698
  name: 'Str',
699
699
  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 TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
700
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
701
701
  file: exports.globalFile,
702
702
  params: [{
703
703
  name: 'value',
704
- type: new FloatType_1.FloatType(),
704
+ type: FloatType_1.FloatType.instance,
705
705
  isOptional: false
706
706
  }]
707
707
  }, {
708
708
  name: 'StrI',
709
709
  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 TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
710
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
711
711
  file: exports.globalFile,
712
712
  params: [{
713
713
  name: 'value',
714
- type: new IntegerType_1.IntegerType(),
714
+ type: IntegerType_1.IntegerType.instance,
715
715
  isOptional: false
716
716
  }, {
717
717
  name: 'radix',
718
- type: new IntegerType_1.IntegerType(),
718
+ type: IntegerType_1.IntegerType.instance,
719
719
  isOptional: true
720
720
  }]
721
721
  }, {
722
722
  name: 'string',
723
723
  shortDescription: 'Returns a string composed of n copies of the second argument concatenated together.',
724
- type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
724
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
725
725
  file: exports.globalFile,
726
726
  params: [{
727
727
  name: 'n',
728
- type: new IntegerType_1.IntegerType(),
728
+ type: IntegerType_1.IntegerType.instance,
729
729
  isOptional: false
730
730
  }, {
731
731
  name: 'str',
732
- type: new StringType_1.StringType(),
732
+ type: StringType_1.StringType.instance,
733
733
  isOptional: false
734
734
  }]
735
735
  }, {
736
736
  name: 'StringI',
737
737
  shortDescription: 'Returns a string composed of n copies of the character whose Unicode value is the second argument.',
738
- type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
738
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
739
739
  file: exports.globalFile,
740
740
  params: [{
741
741
  name: 'n',
742
- type: new IntegerType_1.IntegerType(),
742
+ type: IntegerType_1.IntegerType.instance,
743
743
  isOptional: false
744
744
  }, {
745
745
  name: 'ch',
746
- type: new IntegerType_1.IntegerType(),
746
+ type: IntegerType_1.IntegerType.instance,
747
747
  isOptional: false
748
748
  }]
749
749
  }, {
750
750
  name: 'Val',
751
751
  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 TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
752
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
753
753
  file: exports.globalFile,
754
754
  params: [{
755
755
  name: 'str',
756
- type: new StringType_1.StringType(),
756
+ type: StringType_1.StringType.instance,
757
757
  isOptional: false
758
758
  }, {
759
759
  name: 'radix',
760
- type: new IntegerType_1.IntegerType(),
760
+ type: IntegerType_1.IntegerType.instance,
761
761
  isOptional: true
762
762
  }]
763
763
  }, {
764
764
  name: 'Substitute',
765
765
  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 TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
766
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
767
767
  file: exports.globalFile,
768
768
  params: [{
769
769
  name: 'str',
770
- type: new StringType_1.StringType(),
770
+ type: StringType_1.StringType.instance,
771
771
  isOptional: false
772
772
  }, {
773
773
  name: 'arg0',
774
- type: new StringType_1.StringType(),
774
+ type: StringType_1.StringType.instance,
775
775
  isOptional: false
776
776
  }, {
777
777
  name: 'arg1',
778
- type: new StringType_1.StringType(),
778
+ type: StringType_1.StringType.instance,
779
779
  isOptional: true
780
780
  }, {
781
781
  name: 'arg2',
782
- type: new StringType_1.StringType(),
782
+ type: StringType_1.StringType.instance,
783
783
  isOptional: true
784
784
  }, {
785
785
  name: 'arg3',
786
- type: new StringType_1.StringType(),
786
+ type: StringType_1.StringType.instance,
787
787
  isOptional: true
788
788
  }]
789
789
  }
@@ -792,95 +792,95 @@ let programStatementFunctions = [
792
792
  {
793
793
  name: 'Tab',
794
794
  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 TypedFunctionType_1.TypedFunctionType(new VoidType_1.VoidType()),
795
+ type: new TypedFunctionType_1.TypedFunctionType(VoidType_1.VoidType.instance),
796
796
  file: exports.globalFile,
797
797
  params: [{
798
798
  name: 'expression',
799
- type: new IntegerType_1.IntegerType(),
799
+ type: IntegerType_1.IntegerType.instance,
800
800
  isOptional: false
801
801
  }]
802
802
  }, {
803
803
  name: 'Pos',
804
804
  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 TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
805
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
806
806
  file: exports.globalFile,
807
807
  params: [{
808
808
  name: 'x',
809
- type: new IntegerType_1.IntegerType(),
809
+ type: IntegerType_1.IntegerType.instance,
810
810
  isOptional: false
811
811
  }]
812
812
  //TODO this is a temporary fix for library imported files. Eventually this should be moved into `Roku_Ads.brs` and handled by the `Library` statement
813
813
  }, {
814
814
  name: 'Roku_Ads',
815
815
  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 TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
816
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
817
817
  file: exports.globalFile,
818
818
  params: []
819
819
  //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
820
820
  }, {
821
821
  name: 'Roku_Event_Dispatcher',
822
822
  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',
823
- type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
823
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
824
824
  file: exports.globalFile,
825
825
  params: []
826
826
  }, {
827
827
  name: 'bslBrightScriptErrorCodes',
828
828
  shortDescription: 'Returns an roAssociativeArray with name value pairs of the error name and corresponding integer value, for example ERR_OKAY = &hFF.',
829
- type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
829
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
830
830
  file: exports.globalFile,
831
831
  params: []
832
832
  }, {
833
833
  name: 'bslGeneralConstants',
834
834
  shortDescription: 'Returns an roAssociativeArray with name value pairs of system constants, for example MAX_INT = 2147483647.',
835
- type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
835
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
836
836
  file: exports.globalFile,
837
837
  params: []
838
838
  }, {
839
839
  name: 'bslUniversalControlEventCodes',
840
840
  shortDescription: 'Returns an roAssociativeArray with name value pairs of the remote key code (buttons) constants, for example BUTTON_SELECT_PRESSED = 6.',
841
- type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
841
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
842
842
  file: exports.globalFile,
843
843
  params: []
844
844
  },
845
845
  {
846
846
  name: 'AsciiToHex',
847
847
  shortDescription: 'Returns the hex encoded string, for example AsciiToHex("Hi!") = "486921".',
848
- type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
848
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
849
849
  file: exports.globalFile,
850
850
  params: [{
851
851
  name: 'ascii',
852
- type: new StringType_1.StringType(),
852
+ type: StringType_1.StringType.instance,
853
853
  isOptional: false
854
854
  }]
855
855
  }, {
856
856
  name: 'HexToAscii',
857
857
  shortDescription: 'Returns a string that is the hex decoded string, for example HexToAscii("486921") = "Hi!".',
858
- type: new TypedFunctionType_1.TypedFunctionType(new StringType_1.StringType()),
858
+ type: new TypedFunctionType_1.TypedFunctionType(StringType_1.StringType.instance),
859
859
  file: exports.globalFile,
860
860
  params: [{
861
861
  name: 'hex',
862
- type: new StringType_1.StringType(),
862
+ type: StringType_1.StringType.instance,
863
863
  isOptional: false
864
864
  }]
865
865
  },
866
866
  {
867
867
  name: 'HexToInteger',
868
868
  shortDescription: 'Returns the integer value of the passed in hex string.',
869
- type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
869
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
870
870
  file: exports.globalFile,
871
871
  params: [{
872
872
  name: 'hex',
873
- type: new StringType_1.StringType(),
873
+ type: StringType_1.StringType.instance,
874
874
  isOptional: false
875
875
  }]
876
876
  }, {
877
877
  name: 'HexToInteger',
878
878
  shortDescription: 'Returns a string that is the hex decoded string, for example HexToAscii("486921") = "Hi!".',
879
- type: new TypedFunctionType_1.TypedFunctionType(new IntegerType_1.IntegerType()),
879
+ type: new TypedFunctionType_1.TypedFunctionType(IntegerType_1.IntegerType.instance),
880
880
  file: exports.globalFile,
881
881
  params: [{
882
882
  name: 'hex',
883
- type: new StringType_1.StringType(),
883
+ type: StringType_1.StringType.instance,
884
884
  isOptional: false
885
885
  }]
886
886
  }, {
@@ -892,47 +892,47 @@ ExtraInfo: roAssociativeArray
892
892
  Regions: roAssociativeArray of name, roRegions pairs
893
893
  Animations: roAssociativeArray of name, roArray of roRegion pairs.
894
894
  Backgrounds: roAssociativeArray of name, path pairs.`,
895
- type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
895
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
896
896
  file: exports.globalFile,
897
897
  params: [{
898
898
  name: 'filename',
899
- type: new StringType_1.StringType(),
899
+ type: StringType_1.StringType.instance,
900
900
  isOptional: false
901
901
  }]
902
902
  }, {
903
903
  name: 'dfDrawMessage',
904
904
  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.',
905
- type: new TypedFunctionType_1.TypedFunctionType(new VoidType_1.VoidType()),
905
+ type: new TypedFunctionType_1.TypedFunctionType(VoidType_1.VoidType.instance),
906
906
  file: exports.globalFile,
907
907
  params: [{
908
908
  name: 'dest',
909
- type: new ObjectType_1.ObjectType(),
909
+ type: ObjectType_1.ObjectType.instance,
910
910
  isOptional: false
911
911
  }, {
912
912
  name: 'region',
913
- type: new ObjectType_1.ObjectType(),
913
+ type: ObjectType_1.ObjectType.instance,
914
914
  isOptional: false
915
915
  }]
916
916
  }, {
917
917
  name: 'dfDrawImage',
918
918
  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.',
919
- type: new TypedFunctionType_1.TypedFunctionType(new BooleanType_1.BooleanType()),
919
+ type: new TypedFunctionType_1.TypedFunctionType(BooleanType_1.BooleanType.instance),
920
920
  file: exports.globalFile,
921
921
  params: [{
922
922
  name: 'dest',
923
- type: new ObjectType_1.ObjectType(),
923
+ type: ObjectType_1.ObjectType.instance,
924
924
  isOptional: false
925
925
  }, {
926
926
  name: 'path',
927
- type: new StringType_1.StringType(),
927
+ type: StringType_1.StringType.instance,
928
928
  isOptional: false
929
929
  }, {
930
930
  name: 'x',
931
- type: new IntegerType_1.IntegerType(),
931
+ type: IntegerType_1.IntegerType.instance,
932
932
  isOptional: false
933
933
  }, {
934
934
  name: 'y',
935
- type: new IntegerType_1.IntegerType(),
935
+ type: IntegerType_1.IntegerType.instance,
936
936
  isOptional: false
937
937
  }]
938
938
  }, {
@@ -949,27 +949,27 @@ Right: right region if there is a pillar box area on the right
949
949
  Upper: upper region if there is a letterbox area at thetop
950
950
  Lower: lower region if there is a letterbox area at the bottom
951
951
  When using these regions as drawables, your graphics will be translated and clipped to these regions.`,
952
- type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
952
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
953
953
  file: exports.globalFile,
954
954
  params: [{
955
955
  name: 'screen',
956
- type: new ObjectType_1.ObjectType(),
956
+ type: ObjectType_1.ObjectType.instance,
957
957
  isOptional: false
958
958
  }, {
959
959
  name: 'topx',
960
- type: new IntegerType_1.IntegerType(),
960
+ type: IntegerType_1.IntegerType.instance,
961
961
  isOptional: false
962
962
  }, {
963
963
  name: 'topy',
964
- type: new IntegerType_1.IntegerType(),
964
+ type: IntegerType_1.IntegerType.instance,
965
965
  isOptional: false
966
966
  }, {
967
967
  name: 'width',
968
- type: new IntegerType_1.IntegerType(),
968
+ type: IntegerType_1.IntegerType.instance,
969
969
  isOptional: false
970
970
  }, {
971
971
  name: 'height',
972
- type: new IntegerType_1.IntegerType(),
972
+ type: IntegerType_1.IntegerType.instance,
973
973
  isOptional: false
974
974
  }]
975
975
  }, {
@@ -978,15 +978,15 @@ When using these regions as drawables, your graphics will be translated and clip
978
978
  backgroundName is a key for the Backgrounds roAssociative array of backgrounds.
979
979
  Backgrounds is an roAssociative array of background name keys and file path string values
980
980
  This function creates an roBitmap out of the background image file and returns a region the size of the entire roBitmap.`,
981
- type: new TypedFunctionType_1.TypedFunctionType(new ObjectType_1.ObjectType()),
981
+ type: new TypedFunctionType_1.TypedFunctionType(ObjectType_1.ObjectType.instance),
982
982
  file: exports.globalFile,
983
983
  params: [{
984
984
  name: 'backgroundName',
985
- type: new StringType_1.StringType(),
985
+ type: StringType_1.StringType.instance,
986
986
  isOptional: false
987
987
  }, {
988
988
  name: 'backgrounds',
989
- type: new ObjectType_1.ObjectType(),
989
+ type: ObjectType_1.ObjectType.instance,
990
990
  isOptional: false
991
991
  }]
992
992
  }