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.
- package/bsconfig.schema.json +6 -1
- package/dist/AstValidationSegmenter.js +6 -1
- package/dist/AstValidationSegmenter.js.map +1 -1
- package/dist/BsConfig.d.ts +4 -0
- package/dist/BusyStatusTracker.d.ts +37 -7
- package/dist/BusyStatusTracker.js +73 -8
- package/dist/BusyStatusTracker.js.map +1 -1
- package/dist/Cache.d.ts +0 -4
- package/dist/Cache.js +0 -6
- package/dist/Cache.js.map +1 -1
- package/dist/CodeActionUtil.d.ts +6 -1
- package/dist/CodeActionUtil.js +3 -0
- package/dist/CodeActionUtil.js.map +1 -1
- package/dist/CrossScopeValidator.d.ts +1 -1
- package/dist/CrossScopeValidator.js +8 -7
- package/dist/CrossScopeValidator.js.map +1 -1
- package/dist/DiagnosticCollection.d.ts +19 -5
- package/dist/DiagnosticCollection.js +71 -23
- package/dist/DiagnosticCollection.js.map +1 -1
- package/dist/DiagnosticFilterer.d.ts +14 -1
- package/dist/DiagnosticFilterer.js +130 -12
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticManager.d.ts +11 -1
- package/dist/DiagnosticManager.js +192 -35
- package/dist/DiagnosticManager.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +19 -7
- package/dist/DiagnosticMessages.js +21 -9
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/LanguageServer.d.ts +82 -139
- package/dist/LanguageServer.js +402 -980
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Logger.d.ts +9 -4
- package/dist/Logger.js +30 -6
- package/dist/Logger.js.map +1 -1
- package/dist/PluginInterface.d.ts +8 -8
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.d.ts +23 -4
- package/dist/Program.js +294 -194
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.d.ts +22 -7
- package/dist/ProgramBuilder.js +44 -21
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +11 -6
- package/dist/Scope.js +60 -36
- package/dist/Scope.js.map +1 -1
- package/dist/SemanticTokenUtils.js +1 -1
- package/dist/SemanticTokenUtils.js.map +1 -1
- package/dist/astUtils/CachedLookups.js +0 -1
- package/dist/astUtils/CachedLookups.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +4 -4
- package/dist/astUtils/reflection.js +12 -10
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +3 -3
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/CallExpressionInfo.js +4 -2
- package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +2 -0
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +147 -0
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +44 -0
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.js +15 -15
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +82 -5
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.js +3 -0
- package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +44 -0
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +4 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +17 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.js +21 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +161 -7
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +4 -1
- package/dist/bscPlugin/validation/ScopeValidator.js +166 -63
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +21 -9
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
- package/dist/common/Sequencer.d.ts +53 -0
- package/dist/common/Sequencer.js +233 -0
- package/dist/common/Sequencer.js.map +1 -0
- package/dist/common/Sequencer.spec.d.ts +1 -0
- package/dist/common/Sequencer.spec.js +75 -0
- package/dist/common/Sequencer.spec.js.map +1 -0
- package/dist/deferred.d.ts +2 -0
- package/dist/deferred.js +10 -0
- package/dist/deferred.js.map +1 -1
- package/dist/examples/plugins/removePrint.d.ts +2 -2
- package/dist/examples/plugins/removePrint.js.map +1 -1
- package/dist/files/BrsFile.d.ts +1 -1
- package/dist/files/BrsFile.js +22 -42
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +155 -4
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/BscFile.d.ts +1 -0
- package/dist/files/LazyFileData.d.ts +1 -0
- package/dist/files/XmlFile.spec.js +1 -1
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/globalCallables.js +189 -189
- package/dist/globalCallables.js.map +1 -1
- package/dist/interfaces.d.ts +56 -13
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.js +1 -1
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/logging.d.ts +6 -1
- package/dist/logging.js +14 -1
- package/dist/logging.js.map +1 -1
- package/dist/lsp/ActionQueue.d.ts +35 -0
- package/dist/lsp/ActionQueue.js +115 -0
- package/dist/lsp/ActionQueue.js.map +1 -0
- package/dist/lsp/ActionQueue.spec.d.ts +1 -0
- package/dist/lsp/ActionQueue.spec.js +80 -0
- package/dist/lsp/ActionQueue.spec.js.map +1 -0
- package/dist/lsp/DocumentManager.d.ts +63 -0
- package/dist/lsp/DocumentManager.js +122 -0
- package/dist/lsp/DocumentManager.js.map +1 -0
- package/dist/lsp/DocumentManager.spec.d.ts +1 -0
- package/dist/lsp/DocumentManager.spec.js +103 -0
- package/dist/lsp/DocumentManager.spec.js.map +1 -0
- package/dist/lsp/LspProject.d.ts +231 -0
- package/dist/lsp/LspProject.js +3 -0
- package/dist/lsp/LspProject.js.map +1 -0
- package/dist/lsp/PathFilterer.d.ts +75 -0
- package/dist/lsp/PathFilterer.js +196 -0
- package/dist/lsp/PathFilterer.js.map +1 -0
- package/dist/lsp/PathFilterer.spec.d.ts +1 -0
- package/dist/lsp/PathFilterer.spec.js +182 -0
- package/dist/lsp/PathFilterer.spec.js.map +1 -0
- package/dist/lsp/Project.d.ts +167 -0
- package/dist/lsp/Project.js +432 -0
- package/dist/lsp/Project.js.map +1 -0
- package/dist/lsp/Project.spec.d.ts +1 -0
- package/dist/lsp/Project.spec.js +220 -0
- package/dist/lsp/Project.spec.js.map +1 -0
- package/dist/lsp/ProjectManager.d.ts +221 -0
- package/dist/lsp/ProjectManager.js +754 -0
- package/dist/lsp/ProjectManager.js.map +1 -0
- package/dist/lsp/ProjectManager.spec.d.ts +1 -0
- package/dist/lsp/ProjectManager.spec.js +783 -0
- package/dist/lsp/ProjectManager.spec.js.map +1 -0
- package/dist/lsp/ReaderWriterManager.d.ts +21 -0
- package/dist/lsp/ReaderWriterManager.js +60 -0
- package/dist/lsp/ReaderWriterManager.js.map +1 -0
- package/dist/lsp/worker/MessageHandler.d.ts +99 -0
- package/dist/lsp/worker/MessageHandler.js +138 -0
- package/dist/lsp/worker/MessageHandler.js.map +1 -0
- package/dist/lsp/worker/MessageHandler.spec.d.ts +1 -0
- package/dist/lsp/worker/MessageHandler.spec.js +64 -0
- package/dist/lsp/worker/MessageHandler.spec.js.map +1 -0
- package/dist/lsp/worker/WorkerPool.d.ts +38 -0
- package/dist/lsp/worker/WorkerPool.js +78 -0
- package/dist/lsp/worker/WorkerPool.js.map +1 -0
- package/dist/lsp/worker/WorkerPool.spec.d.ts +1 -0
- package/dist/lsp/worker/WorkerPool.spec.js +59 -0
- package/dist/lsp/worker/WorkerPool.spec.js.map +1 -0
- package/dist/lsp/worker/WorkerThreadProject.d.ts +144 -0
- package/dist/lsp/worker/WorkerThreadProject.js +183 -0
- package/dist/lsp/worker/WorkerThreadProject.js.map +1 -0
- package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +2 -0
- package/dist/lsp/worker/WorkerThreadProject.spec.js +68 -0
- package/dist/lsp/worker/WorkerThreadProject.spec.js.map +1 -0
- package/dist/lsp/worker/WorkerThreadProjectRunner.d.ts +15 -0
- package/dist/lsp/worker/WorkerThreadProjectRunner.js +58 -0
- package/dist/lsp/worker/WorkerThreadProjectRunner.js.map +1 -0
- package/dist/parser/Expression.d.ts +1 -0
- package/dist/parser/Expression.js +65 -3
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.spec.js +12 -0
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/Statement.js +2 -2
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +47 -0
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +51 -5
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +44 -0
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/roku-types/data.json +880 -756
- package/dist/roku-types/index.d.ts +17 -0
- package/dist/types/BooleanType.d.ts +0 -2
- package/dist/types/BooleanType.js +4 -6
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BscType.js +5 -0
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/BuiltInInterfaceAdder.d.ts +1 -0
- package/dist/types/BuiltInInterfaceAdder.js +24 -17
- package/dist/types/BuiltInInterfaceAdder.js.map +1 -1
- package/dist/types/DoubleType.d.ts +0 -2
- package/dist/types/DoubleType.js +4 -6
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DynamicType.d.ts +0 -2
- package/dist/types/DynamicType.js +3 -5
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/FloatType.d.ts +0 -2
- package/dist/types/FloatType.js +4 -6
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/FunctionType.d.ts +0 -2
- package/dist/types/FunctionType.js +5 -7
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/IntegerType.d.ts +0 -2
- package/dist/types/IntegerType.js +4 -6
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/LongIntegerType.d.ts +0 -2
- package/dist/types/LongIntegerType.js +4 -6
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/ObjectType.d.ts +3 -3
- package/dist/types/ObjectType.js +6 -8
- package/dist/types/ObjectType.js.map +1 -1
- package/dist/types/StringType.d.ts +0 -2
- package/dist/types/StringType.js +4 -6
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/VoidType.d.ts +0 -2
- package/dist/types/VoidType.js +4 -6
- package/dist/types/VoidType.js.map +1 -1
- package/dist/types/helpers.d.ts +4 -0
- package/dist/types/helpers.js +5 -1
- package/dist/types/helpers.js.map +1 -1
- package/dist/util.d.ts +48 -16
- package/dist/util.js +203 -70
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.js +2 -2
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +15 -5
- package/CHANGELOG.md +0 -2352
|
@@ -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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"}
|
|
@@ -23,9 +23,9 @@ const undent_1 = require("undent");
|
|
|
23
23
|
const testHelpers_spec_2 = require("../testHelpers.spec");
|
|
24
24
|
const types_1 = require("../types");
|
|
25
25
|
const fileUrl = require("file-url");
|
|
26
|
-
const reflection_1 = require("../astUtils/reflection");
|
|
27
26
|
const Expression_1 = require("../parser/Expression");
|
|
28
27
|
const logger_1 = require("@rokucommunity/logger");
|
|
28
|
+
const reflection_1 = require("../astUtils/reflection");
|
|
29
29
|
let sinon = sinonImport.createSandbox();
|
|
30
30
|
describe('BrsFile', () => {
|
|
31
31
|
let program;
|
|
@@ -80,6 +80,14 @@ describe('BrsFile', () => {
|
|
|
80
80
|
});
|
|
81
81
|
});
|
|
82
82
|
});
|
|
83
|
+
describe('dispose', () => {
|
|
84
|
+
it('does not crash the program after it has been disposed', () => {
|
|
85
|
+
const file = program.setFile('source/main.bs', `sub main(): end sub`);
|
|
86
|
+
file.dispose();
|
|
87
|
+
program.validate();
|
|
88
|
+
(0, testHelpers_spec_1.expectZeroDiagnostics)(program);
|
|
89
|
+
});
|
|
90
|
+
});
|
|
83
91
|
describe('allowBrighterScriptInBrightScript', () => {
|
|
84
92
|
it('is false by default', () => {
|
|
85
93
|
program.setFile('source/main.brs', `
|
|
@@ -1693,9 +1701,9 @@ describe('BrsFile', () => {
|
|
|
1693
1701
|
print (1 + 2)
|
|
1694
1702
|
end sub
|
|
1695
1703
|
|
|
1696
|
-
|
|
1704
|
+
function test(p1)
|
|
1697
1705
|
return p1
|
|
1698
|
-
end
|
|
1706
|
+
end function
|
|
1699
1707
|
`);
|
|
1700
1708
|
});
|
|
1701
1709
|
it('works for bs content', () => {
|
|
@@ -2604,6 +2612,50 @@ describe('BrsFile', () => {
|
|
|
2604
2612
|
end function
|
|
2605
2613
|
`);
|
|
2606
2614
|
});
|
|
2615
|
+
it('does not remove `as void` when removeParameterTypes is true', async () => {
|
|
2616
|
+
program.options.removeParameterTypes = true;
|
|
2617
|
+
await testTranspile(`
|
|
2618
|
+
function one() as void
|
|
2619
|
+
return
|
|
2620
|
+
end function
|
|
2621
|
+
`, `
|
|
2622
|
+
function one() as void
|
|
2623
|
+
return
|
|
2624
|
+
end function
|
|
2625
|
+
`);
|
|
2626
|
+
});
|
|
2627
|
+
it('does not remove `as <type>` for sub when removeParameterTypes is true', async () => {
|
|
2628
|
+
program.options.removeParameterTypes = true;
|
|
2629
|
+
await testTranspile(`
|
|
2630
|
+
sub one() as string
|
|
2631
|
+
return "hello"
|
|
2632
|
+
end sub
|
|
2633
|
+
`, `
|
|
2634
|
+
sub one() as string
|
|
2635
|
+
return "hello"
|
|
2636
|
+
end sub
|
|
2637
|
+
`);
|
|
2638
|
+
});
|
|
2639
|
+
it('does not remove `as boolean` from onKeyEvent when removeParameterTypes is true', async () => {
|
|
2640
|
+
program.options.removeParameterTypes = true;
|
|
2641
|
+
await testTranspile(`
|
|
2642
|
+
function onKeyEvent(p1) as boolean
|
|
2643
|
+
return true
|
|
2644
|
+
end function
|
|
2645
|
+
|
|
2646
|
+
function somethingElse() as string
|
|
2647
|
+
return "hello"
|
|
2648
|
+
end function
|
|
2649
|
+
`, `
|
|
2650
|
+
function onKeyEvent(p1) as boolean
|
|
2651
|
+
return true
|
|
2652
|
+
end function
|
|
2653
|
+
|
|
2654
|
+
function somethingElse()
|
|
2655
|
+
return "hello"
|
|
2656
|
+
end function
|
|
2657
|
+
`);
|
|
2658
|
+
});
|
|
2607
2659
|
it('transpiles local var assignment operators', async () => {
|
|
2608
2660
|
await testTranspile(`
|
|
2609
2661
|
sub main()
|
|
@@ -3699,7 +3751,7 @@ describe('BrsFile', () => {
|
|
|
3699
3751
|
print m.name
|
|
3700
3752
|
end sub
|
|
3701
3753
|
`, `
|
|
3702
|
-
'typecast m as
|
|
3754
|
+
'typecast m as MyComponent ' typecast comment
|
|
3703
3755
|
'import "types.bs" ' import comment
|
|
3704
3756
|
'alias Person2 = Person ' alias comment
|
|
3705
3757
|
|
|
@@ -3819,6 +3871,64 @@ describe('BrsFile', () => {
|
|
|
3819
3871
|
`);
|
|
3820
3872
|
});
|
|
3821
3873
|
});
|
|
3874
|
+
describe('enums', () => {
|
|
3875
|
+
it('handles shadowed enum names', async () => {
|
|
3876
|
+
await testTranspile(`
|
|
3877
|
+
sub foo()
|
|
3878
|
+
event = {}
|
|
3879
|
+
event.event.append({})
|
|
3880
|
+
end sub
|
|
3881
|
+
|
|
3882
|
+
enum event
|
|
3883
|
+
end enum
|
|
3884
|
+
`, `
|
|
3885
|
+
sub foo()
|
|
3886
|
+
event = {}
|
|
3887
|
+
event.event.append({})
|
|
3888
|
+
end sub
|
|
3889
|
+
`);
|
|
3890
|
+
});
|
|
3891
|
+
it('handles shadowed enum names in namespace', async () => {
|
|
3892
|
+
await testTranspile(`
|
|
3893
|
+
namespace alpha
|
|
3894
|
+
sub foo()
|
|
3895
|
+
event = {}
|
|
3896
|
+
event.event.append({})
|
|
3897
|
+
end sub
|
|
3898
|
+
|
|
3899
|
+
enum event
|
|
3900
|
+
end enum
|
|
3901
|
+
end namespace
|
|
3902
|
+
`, `
|
|
3903
|
+
sub alpha_foo()
|
|
3904
|
+
event = {}
|
|
3905
|
+
event.event.append({})
|
|
3906
|
+
end sub
|
|
3907
|
+
`);
|
|
3908
|
+
});
|
|
3909
|
+
it('handles shadowed enum names in previous namespace', async () => {
|
|
3910
|
+
await testTranspile(`
|
|
3911
|
+
namespace alpha
|
|
3912
|
+
namespace beta
|
|
3913
|
+
sub foo()
|
|
3914
|
+
event = {}
|
|
3915
|
+
event.event.append({})
|
|
3916
|
+
print 1
|
|
3917
|
+
end sub
|
|
3918
|
+
end namespace
|
|
3919
|
+
|
|
3920
|
+
enum event
|
|
3921
|
+
end enum
|
|
3922
|
+
end namespace
|
|
3923
|
+
`, `
|
|
3924
|
+
sub alpha_beta_foo()
|
|
3925
|
+
event = {}
|
|
3926
|
+
event.event.append({})
|
|
3927
|
+
print 1
|
|
3928
|
+
end sub
|
|
3929
|
+
`);
|
|
3930
|
+
});
|
|
3931
|
+
});
|
|
3822
3932
|
});
|
|
3823
3933
|
describe('callfunc operator', () => {
|
|
3824
3934
|
describe('transpile', () => {
|
|
@@ -5496,6 +5606,25 @@ describe('BrsFile', () => {
|
|
|
5496
5606
|
program.validate();
|
|
5497
5607
|
(0, testHelpers_spec_1.expectZeroDiagnostics)(program);
|
|
5498
5608
|
});
|
|
5609
|
+
it('allows typecast statements', async () => {
|
|
5610
|
+
await testTranspile(`
|
|
5611
|
+
typecast m as whatever
|
|
5612
|
+
|
|
5613
|
+
sub foo(node as object)
|
|
5614
|
+
print node[m.keyProp]
|
|
5615
|
+
end sub
|
|
5616
|
+
|
|
5617
|
+
interface whatever
|
|
5618
|
+
keyProp as string
|
|
5619
|
+
end interface
|
|
5620
|
+
`, `
|
|
5621
|
+
'typecast m as whatever
|
|
5622
|
+
|
|
5623
|
+
sub foo(node as object)
|
|
5624
|
+
print node[m.keyProp]
|
|
5625
|
+
end sub
|
|
5626
|
+
`);
|
|
5627
|
+
});
|
|
5499
5628
|
});
|
|
5500
5629
|
it('allows up to 63 function params', () => {
|
|
5501
5630
|
program.setFile('source/main.bs', `
|
|
@@ -5535,5 +5664,27 @@ describe('BrsFile', () => {
|
|
|
5535
5664
|
location: { range: util_1.default.createRange(3, 20, 3, 27) } })
|
|
5536
5665
|
]);
|
|
5537
5666
|
});
|
|
5667
|
+
describe('getClosestExpression', () => {
|
|
5668
|
+
it('returns undefined for missing Position', () => {
|
|
5669
|
+
const file = program.setFile('source/main.bs', `
|
|
5670
|
+
sub Main()
|
|
5671
|
+
if true THEN
|
|
5672
|
+
print "works"
|
|
5673
|
+
end if
|
|
5674
|
+
end sub
|
|
5675
|
+
`);
|
|
5676
|
+
(0, chai_config_spec_1.expect)(file.getClosestExpression(undefined)).to.be.undefined;
|
|
5677
|
+
});
|
|
5678
|
+
it('returns the closest expression at Position', () => {
|
|
5679
|
+
const file = program.setFile('source/main.bs', `
|
|
5680
|
+
sub Main()
|
|
5681
|
+
if true THEN
|
|
5682
|
+
print "works"
|
|
5683
|
+
end if
|
|
5684
|
+
end sub
|
|
5685
|
+
`);
|
|
5686
|
+
(0, chai_config_spec_1.expect)(file.getClosestExpression({ line: 3, character: 34 })).to.be.instanceOf(Expression_1.LiteralExpression);
|
|
5687
|
+
});
|
|
5688
|
+
});
|
|
5538
5689
|
});
|
|
5539
5690
|
//# sourceMappingURL=BrsFile.spec.js.map
|