brighterscript 1.0.0-alpha.35 → 1.0.0-alpha.37
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.
- package/CHANGELOG.md +30 -0
- package/bsconfig.schema.json +19 -3
- package/dist/BsConfig.d.ts +5 -0
- package/dist/DiagnosticCollection.js +6 -3
- package/dist/DiagnosticCollection.js.map +1 -1
- package/dist/DiagnosticManager.js +3 -2
- package/dist/DiagnosticManager.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +9 -1
- package/dist/DiagnosticMessages.js +8 -0
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/Program.d.ts +2 -0
- package/dist/Program.js +51 -39
- package/dist/Program.js.map +1 -1
- package/dist/SymbolTable.js +1 -0
- package/dist/SymbolTable.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +2 -3
- package/dist/astUtils/reflection.js +6 -10
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +4 -9
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +2 -3
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +18 -0
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +6 -2
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +9 -4
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +2 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +59 -6
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +322 -0
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +3 -0
- package/dist/bscPlugin/validation/ScopeValidator.js +47 -19
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +87 -0
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +1 -1
- package/dist/files/BrsFile.d.ts +0 -8
- package/dist/files/BrsFile.js +0 -49
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +385 -12
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +18 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +6 -3
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +4 -1
- package/dist/lexer/TokenKind.js +23 -6
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/parser/AstNode.d.ts +1 -2
- package/dist/parser/AstNode.js +1 -2
- package/dist/parser/AstNode.js.map +1 -1
- package/dist/parser/BrightScriptDocParser.d.ts +56 -0
- package/dist/parser/BrightScriptDocParser.js +294 -0
- package/dist/parser/BrightScriptDocParser.js.map +1 -0
- package/dist/parser/BrightScriptDocParser.spec.d.ts +1 -0
- package/dist/parser/BrightScriptDocParser.spec.js +310 -0
- package/dist/parser/BrightScriptDocParser.spec.js.map +1 -0
- package/dist/parser/BrsTranspileState.d.ts +5 -0
- package/dist/parser/BrsTranspileState.js +9 -0
- package/dist/parser/BrsTranspileState.js.map +1 -1
- package/dist/parser/Expression.d.ts +2 -6
- package/dist/parser/Expression.js +23 -8
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.d.ts +1 -2
- package/dist/parser/Parser.js +26 -12
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +79 -0
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/Statement.d.ts +10 -21
- package/dist/parser/Statement.js +38 -41
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/Statement.spec.js +2 -2
- package/dist/parser/Statement.spec.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +6 -3
- package/dist/parser/TranspileState.js +15 -1
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/parser/tests/statement/Misc.spec.js +0 -1
- package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
- package/dist/roku-types/data.json +18 -1
- package/dist/roku-types/index.d.ts +11 -0
- package/dist/util.d.ts +15 -2
- package/dist/util.js +113 -32
- package/dist/util.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrsFile.js","sourceRoot":"","sources":["../../src/files/BrsFile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BrsFile.js","sourceRoot":"","sources":["../../src/files/BrsFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -2044,7 +2044,9 @@ describe('BrsFile', () => {
|
|
|
2044
2044
|
end sub
|
|
2045
2045
|
`);
|
|
2046
2046
|
});
|
|
2047
|
-
|
|
2047
|
+
});
|
|
2048
|
+
describe('shadowing', () => {
|
|
2049
|
+
it('does not add underscores when variable shadows namespace', async () => {
|
|
2048
2050
|
await testTranspile(`
|
|
2049
2051
|
namespace alpha
|
|
2050
2052
|
function toStr()
|
|
@@ -2067,7 +2069,7 @@ describe('BrsFile', () => {
|
|
|
2067
2069
|
end sub
|
|
2068
2070
|
`);
|
|
2069
2071
|
});
|
|
2070
|
-
it('does not
|
|
2072
|
+
it('does not add underscores when parameter shadows namespace', async () => {
|
|
2071
2073
|
await testTranspile(`
|
|
2072
2074
|
namespace alpha
|
|
2073
2075
|
function toStr()
|
|
@@ -2088,6 +2090,206 @@ describe('BrsFile', () => {
|
|
|
2088
2090
|
end sub
|
|
2089
2091
|
`);
|
|
2090
2092
|
});
|
|
2093
|
+
it('does not add underscores when var shadows namespaced func, used as an argument', async () => {
|
|
2094
|
+
await testTranspile(`
|
|
2095
|
+
namespace alpha
|
|
2096
|
+
function foo()
|
|
2097
|
+
end function
|
|
2098
|
+
|
|
2099
|
+
function bar()
|
|
2100
|
+
foo = 1
|
|
2101
|
+
m.data = []
|
|
2102
|
+
m.data.push(foo)
|
|
2103
|
+
end function
|
|
2104
|
+
end namespace
|
|
2105
|
+
`, `
|
|
2106
|
+
function alpha_foo()
|
|
2107
|
+
end function
|
|
2108
|
+
|
|
2109
|
+
function alpha_bar()
|
|
2110
|
+
foo = 1
|
|
2111
|
+
m.data = []
|
|
2112
|
+
m.data.push(foo)
|
|
2113
|
+
end function
|
|
2114
|
+
`);
|
|
2115
|
+
});
|
|
2116
|
+
it('does not add underscores when inline func var shadows namespaced func, used as an argument', async () => {
|
|
2117
|
+
await testTranspile(`
|
|
2118
|
+
namespace alpha
|
|
2119
|
+
function foo()
|
|
2120
|
+
end function
|
|
2121
|
+
|
|
2122
|
+
function bar()
|
|
2123
|
+
foo = function()
|
|
2124
|
+
return 1
|
|
2125
|
+
end function
|
|
2126
|
+
m.data = []
|
|
2127
|
+
m.data.push(foo)
|
|
2128
|
+
end function
|
|
2129
|
+
end namespace
|
|
2130
|
+
`, `
|
|
2131
|
+
function alpha_foo()
|
|
2132
|
+
end function
|
|
2133
|
+
|
|
2134
|
+
function alpha_bar()
|
|
2135
|
+
foo = function()
|
|
2136
|
+
return 1
|
|
2137
|
+
end function
|
|
2138
|
+
m.data = []
|
|
2139
|
+
m.data.push(foo)
|
|
2140
|
+
end function
|
|
2141
|
+
`);
|
|
2142
|
+
});
|
|
2143
|
+
it('does not add underscores when param shadows namespaced func, used as an argument', async () => {
|
|
2144
|
+
await testTranspile(`
|
|
2145
|
+
namespace alpha
|
|
2146
|
+
function foo()
|
|
2147
|
+
end function
|
|
2148
|
+
|
|
2149
|
+
function bar(foo)
|
|
2150
|
+
m.data = []
|
|
2151
|
+
m.data.push(foo)
|
|
2152
|
+
end function
|
|
2153
|
+
end namespace
|
|
2154
|
+
`, `
|
|
2155
|
+
function alpha_foo()
|
|
2156
|
+
end function
|
|
2157
|
+
|
|
2158
|
+
function alpha_bar(foo)
|
|
2159
|
+
m.data = []
|
|
2160
|
+
m.data.push(foo)
|
|
2161
|
+
end function
|
|
2162
|
+
`);
|
|
2163
|
+
});
|
|
2164
|
+
it('does not add underscores when param shadows namespaced class, used as an argument', async () => {
|
|
2165
|
+
await testTranspile(`
|
|
2166
|
+
namespace alpha
|
|
2167
|
+
class foo
|
|
2168
|
+
end class
|
|
2169
|
+
|
|
2170
|
+
function bar(foo)
|
|
2171
|
+
m.data = []
|
|
2172
|
+
m.data.push(foo)
|
|
2173
|
+
end function
|
|
2174
|
+
end namespace
|
|
2175
|
+
`, `
|
|
2176
|
+
function __alpha_foo_builder()
|
|
2177
|
+
instance = {}
|
|
2178
|
+
instance.new = sub()
|
|
2179
|
+
end sub
|
|
2180
|
+
return instance
|
|
2181
|
+
end function
|
|
2182
|
+
function alpha_foo()
|
|
2183
|
+
instance = __alpha_foo_builder()
|
|
2184
|
+
instance.new()
|
|
2185
|
+
return instance
|
|
2186
|
+
end function
|
|
2187
|
+
|
|
2188
|
+
function alpha_bar(foo)
|
|
2189
|
+
m.data = []
|
|
2190
|
+
m.data.push(foo)
|
|
2191
|
+
end function
|
|
2192
|
+
`);
|
|
2193
|
+
});
|
|
2194
|
+
it('does not insert const value when param shadows namespaced const', async () => {
|
|
2195
|
+
await testTranspile(`
|
|
2196
|
+
namespace alpha
|
|
2197
|
+
const foo = 1222
|
|
2198
|
+
|
|
2199
|
+
function bar(foo)
|
|
2200
|
+
print foo
|
|
2201
|
+
end function
|
|
2202
|
+
end namespace
|
|
2203
|
+
`, `
|
|
2204
|
+
function alpha_bar(foo)
|
|
2205
|
+
print foo
|
|
2206
|
+
end function
|
|
2207
|
+
`);
|
|
2208
|
+
});
|
|
2209
|
+
it('does not insert const value when param shadows const', async () => {
|
|
2210
|
+
await testTranspile(`
|
|
2211
|
+
const foo = 1222
|
|
2212
|
+
|
|
2213
|
+
function bar(foo)
|
|
2214
|
+
print foo
|
|
2215
|
+
end function
|
|
2216
|
+
`, `
|
|
2217
|
+
function bar(foo)
|
|
2218
|
+
print foo
|
|
2219
|
+
end function
|
|
2220
|
+
`);
|
|
2221
|
+
});
|
|
2222
|
+
it('does not insert enum value when param shadows namespaced const', async () => {
|
|
2223
|
+
await testTranspile(`
|
|
2224
|
+
namespace alpha
|
|
2225
|
+
enum foo
|
|
2226
|
+
up
|
|
2227
|
+
down
|
|
2228
|
+
end enum
|
|
2229
|
+
|
|
2230
|
+
function bar(foo)
|
|
2231
|
+
print foo.whatever
|
|
2232
|
+
end function
|
|
2233
|
+
end namespace
|
|
2234
|
+
`, `
|
|
2235
|
+
function alpha_bar(foo)
|
|
2236
|
+
print foo.whatever
|
|
2237
|
+
end function
|
|
2238
|
+
`);
|
|
2239
|
+
});
|
|
2240
|
+
it('inserts const value when using namespaced const defined in other namespace statement', async () => {
|
|
2241
|
+
await testTranspile(`
|
|
2242
|
+
namespace alpha
|
|
2243
|
+
const foo = 1222
|
|
2244
|
+
end namespace
|
|
2245
|
+
|
|
2246
|
+
namespace alpha
|
|
2247
|
+
function bar()
|
|
2248
|
+
print foo
|
|
2249
|
+
end function
|
|
2250
|
+
end namespace
|
|
2251
|
+
`, `
|
|
2252
|
+
function alpha_bar()
|
|
2253
|
+
print 1222
|
|
2254
|
+
end function
|
|
2255
|
+
`);
|
|
2256
|
+
});
|
|
2257
|
+
it('does not replace variable arg that shadows namespace name', async () => {
|
|
2258
|
+
await testTranspile(`
|
|
2259
|
+
namespace alpha
|
|
2260
|
+
const foo = 1222
|
|
2261
|
+
end namespace
|
|
2262
|
+
|
|
2263
|
+
function bar(alpha)
|
|
2264
|
+
print alpha.foo
|
|
2265
|
+
end function
|
|
2266
|
+
`, `
|
|
2267
|
+
function bar(alpha)
|
|
2268
|
+
print alpha.foo
|
|
2269
|
+
end function
|
|
2270
|
+
`);
|
|
2271
|
+
});
|
|
2272
|
+
it('does not replace defined variable that shadows namespace name', async () => {
|
|
2273
|
+
await testTranspile(`
|
|
2274
|
+
namespace alpha
|
|
2275
|
+
const foo = 1222
|
|
2276
|
+
end namespace
|
|
2277
|
+
|
|
2278
|
+
function bar()
|
|
2279
|
+
alpha = {
|
|
2280
|
+
foo: 1
|
|
2281
|
+
}
|
|
2282
|
+
print alpha.foo
|
|
2283
|
+
end function
|
|
2284
|
+
`, `
|
|
2285
|
+
function bar()
|
|
2286
|
+
alpha = {
|
|
2287
|
+
foo: 1
|
|
2288
|
+
}
|
|
2289
|
+
print alpha.foo
|
|
2290
|
+
end function
|
|
2291
|
+
`);
|
|
2292
|
+
});
|
|
2091
2293
|
});
|
|
2092
2294
|
it('includes all text to end of line for a non-terminated string', async () => {
|
|
2093
2295
|
await testTranspile('sub main()\n name = "john \nend sub', 'sub main()\n name = "john "\nend sub', null, 'source/main.bs', false);
|
|
@@ -2308,6 +2510,143 @@ describe('BrsFile', () => {
|
|
|
2308
2510
|
end sub
|
|
2309
2511
|
`, 'trim', 'source/main.bs');
|
|
2310
2512
|
});
|
|
2513
|
+
it('includes annotation comments for class', async () => {
|
|
2514
|
+
await testTranspile(`
|
|
2515
|
+
'comment1
|
|
2516
|
+
@annotation
|
|
2517
|
+
'comment2
|
|
2518
|
+
@annotation()
|
|
2519
|
+
'comment3
|
|
2520
|
+
class Beta
|
|
2521
|
+
end class
|
|
2522
|
+
`, `
|
|
2523
|
+
function __Beta_builder()
|
|
2524
|
+
instance = {}
|
|
2525
|
+
instance.new = sub()
|
|
2526
|
+
end sub
|
|
2527
|
+
return instance
|
|
2528
|
+
end function
|
|
2529
|
+
'comment1
|
|
2530
|
+
'comment2
|
|
2531
|
+
'comment3
|
|
2532
|
+
function Beta()
|
|
2533
|
+
instance = __Beta_builder()
|
|
2534
|
+
instance.new()
|
|
2535
|
+
return instance
|
|
2536
|
+
end function
|
|
2537
|
+
`, undefined, 'source/main.bs');
|
|
2538
|
+
});
|
|
2539
|
+
it('includes annotation comments for function', async () => {
|
|
2540
|
+
await testTranspile(`
|
|
2541
|
+
'comment1
|
|
2542
|
+
@annotation
|
|
2543
|
+
'comment2
|
|
2544
|
+
@annotation()
|
|
2545
|
+
'comment3
|
|
2546
|
+
function alpha()
|
|
2547
|
+
end function
|
|
2548
|
+
`, `
|
|
2549
|
+
'comment1
|
|
2550
|
+
'comment2
|
|
2551
|
+
'comment3
|
|
2552
|
+
function alpha()
|
|
2553
|
+
end function
|
|
2554
|
+
`, undefined, 'source/main.bs');
|
|
2555
|
+
});
|
|
2556
|
+
it('includes annotation comments for enum', async () => {
|
|
2557
|
+
await testTranspile(`
|
|
2558
|
+
'comment1
|
|
2559
|
+
@annotation
|
|
2560
|
+
'comment2
|
|
2561
|
+
@annotation()
|
|
2562
|
+
'comment3
|
|
2563
|
+
enum Direction
|
|
2564
|
+
up = "up"
|
|
2565
|
+
end enum
|
|
2566
|
+
`, `
|
|
2567
|
+
'comment1
|
|
2568
|
+
'comment2
|
|
2569
|
+
'comment3
|
|
2570
|
+
`, undefined, 'source/main.bs');
|
|
2571
|
+
});
|
|
2572
|
+
it('includes annotation comments for const', async () => {
|
|
2573
|
+
await testTranspile(`
|
|
2574
|
+
'comment1
|
|
2575
|
+
@annotation
|
|
2576
|
+
'comment2
|
|
2577
|
+
@annotation()
|
|
2578
|
+
'comment3
|
|
2579
|
+
const direction = "up"
|
|
2580
|
+
`, `
|
|
2581
|
+
'comment1
|
|
2582
|
+
'comment2
|
|
2583
|
+
'comment3
|
|
2584
|
+
`, undefined, 'source/main.bs');
|
|
2585
|
+
});
|
|
2586
|
+
it('includes annotation comments for empty namespaces', async () => {
|
|
2587
|
+
await testTranspile(`
|
|
2588
|
+
'comment1
|
|
2589
|
+
@annotation
|
|
2590
|
+
'comment2
|
|
2591
|
+
@annotation()
|
|
2592
|
+
'comment3
|
|
2593
|
+
namespace alpha
|
|
2594
|
+
'comment4
|
|
2595
|
+
@annotation
|
|
2596
|
+
'comment5
|
|
2597
|
+
@annotation()
|
|
2598
|
+
'comment6
|
|
2599
|
+
namespace beta
|
|
2600
|
+
end namespace
|
|
2601
|
+
end namespace
|
|
2602
|
+
`, `
|
|
2603
|
+
'comment1
|
|
2604
|
+
'comment2
|
|
2605
|
+
'comment3
|
|
2606
|
+
'comment4
|
|
2607
|
+
'comment5
|
|
2608
|
+
'comment6
|
|
2609
|
+
`, undefined, 'source/main.bs');
|
|
2610
|
+
});
|
|
2611
|
+
it('includes comments above namespaced method call', async () => {
|
|
2612
|
+
await testTranspile(`
|
|
2613
|
+
sub main()
|
|
2614
|
+
'do nothing
|
|
2615
|
+
utils.noop()
|
|
2616
|
+
end sub
|
|
2617
|
+
namespace utils
|
|
2618
|
+
sub noop()
|
|
2619
|
+
end sub
|
|
2620
|
+
end namespace
|
|
2621
|
+
`, `
|
|
2622
|
+
sub main()
|
|
2623
|
+
'do nothing
|
|
2624
|
+
utils_noop()
|
|
2625
|
+
end sub
|
|
2626
|
+
sub utils_noop()
|
|
2627
|
+
end sub
|
|
2628
|
+
`, undefined, 'source/main.bs');
|
|
2629
|
+
});
|
|
2630
|
+
it('includes comments above inferred namespace function call', async () => {
|
|
2631
|
+
await testTranspile(`
|
|
2632
|
+
namespace utils
|
|
2633
|
+
sub test()
|
|
2634
|
+
'do nothing
|
|
2635
|
+
noop()
|
|
2636
|
+
end sub
|
|
2637
|
+
sub noop()
|
|
2638
|
+
end sub
|
|
2639
|
+
end namespace
|
|
2640
|
+
`, `
|
|
2641
|
+
sub utils_test()
|
|
2642
|
+
'do nothing
|
|
2643
|
+
utils_noop()
|
|
2644
|
+
end sub
|
|
2645
|
+
|
|
2646
|
+
sub utils_noop()
|
|
2647
|
+
end sub
|
|
2648
|
+
`, undefined, 'source/main.bs');
|
|
2649
|
+
});
|
|
2311
2650
|
it('keeps end-of-line comments with their line', async () => {
|
|
2312
2651
|
await testTranspile(`
|
|
2313
2652
|
function DoSomething() 'comment 1
|
|
@@ -2385,6 +2724,50 @@ describe('BrsFile', () => {
|
|
|
2385
2724
|
(0, chai_config_spec_1.expect)(location.line).to.eql(2);
|
|
2386
2725
|
(0, chai_config_spec_1.expect)(location.column).eql(4);
|
|
2387
2726
|
});
|
|
2727
|
+
describe('jump statements', () => {
|
|
2728
|
+
it('handles exit for', async () => {
|
|
2729
|
+
await testTranspile(`
|
|
2730
|
+
sub main()
|
|
2731
|
+
for i = 1 to 10
|
|
2732
|
+
exit for
|
|
2733
|
+
end for
|
|
2734
|
+
end sub
|
|
2735
|
+
`);
|
|
2736
|
+
});
|
|
2737
|
+
it('handles exit while', async () => {
|
|
2738
|
+
await testTranspile(`
|
|
2739
|
+
sub main()
|
|
2740
|
+
while true
|
|
2741
|
+
exit while
|
|
2742
|
+
end while
|
|
2743
|
+
end sub
|
|
2744
|
+
`);
|
|
2745
|
+
});
|
|
2746
|
+
it('handles exitWhile (one word)', async () => {
|
|
2747
|
+
await testTranspile(`
|
|
2748
|
+
sub main()
|
|
2749
|
+
while true
|
|
2750
|
+
exitWhile
|
|
2751
|
+
end while
|
|
2752
|
+
end sub
|
|
2753
|
+
`);
|
|
2754
|
+
});
|
|
2755
|
+
it('transpiles case correctly', async () => {
|
|
2756
|
+
await testTranspile(`
|
|
2757
|
+
sub main()
|
|
2758
|
+
for i = 1 to 10
|
|
2759
|
+
eXiT fOr
|
|
2760
|
+
end for
|
|
2761
|
+
while true
|
|
2762
|
+
exIt whILE
|
|
2763
|
+
end while
|
|
2764
|
+
while true
|
|
2765
|
+
eXitWhile
|
|
2766
|
+
end while
|
|
2767
|
+
end sub
|
|
2768
|
+
`);
|
|
2769
|
+
});
|
|
2770
|
+
});
|
|
2388
2771
|
describe('sourcemap validation', () => {
|
|
2389
2772
|
it('computes correct source and position in sourcemap', async () => {
|
|
2390
2773
|
program.options.sourceMap = true;
|
|
@@ -4856,16 +5239,6 @@ describe('BrsFile', () => {
|
|
|
4856
5239
|
program.validate();
|
|
4857
5240
|
(0, testHelpers_spec_1.expectDiagnostics)(program, [Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.tooManyCallableParameters(65, 63)), { location: { range: util_1.default.createRange(1, 638, 1, 641) } }), Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.tooManyCallableParameters(65, 63)), { location: { range: util_1.default.createRange(1, 648, 1, 651) } })]);
|
|
4858
5241
|
});
|
|
4859
|
-
describe('calleeIsKnownNamespaceFunction', () => {
|
|
4860
|
-
it('does not crash when namespace is missing', () => {
|
|
4861
|
-
const file = program.setFile('source/main.bs', `
|
|
4862
|
-
sub main()
|
|
4863
|
-
someNamespace.someFunc()
|
|
4864
|
-
end sub
|
|
4865
|
-
`);
|
|
4866
|
-
(0, chai_config_spec_1.expect)(file.calleeIsKnownNamespaceFunction((0, creators_1.createVariableExpression)('alpha'), 'beta')).to.be.false;
|
|
4867
|
-
});
|
|
4868
|
-
});
|
|
4869
5242
|
it('handles deprecated .setPort() on rourltransfer', () => {
|
|
4870
5243
|
program.setFile('source/main.bs', `
|
|
4871
5244
|
function main()
|