brighterscript 0.52.3 → 0.54.0

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 (103) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/DiagnosticMessages.d.ts +14 -3
  3. package/dist/DiagnosticMessages.js +14 -3
  4. package/dist/DiagnosticMessages.js.map +1 -1
  5. package/dist/LanguageServer.js +51 -9
  6. package/dist/LanguageServer.js.map +1 -1
  7. package/dist/Program.d.ts +8 -4
  8. package/dist/Program.js +70 -35
  9. package/dist/Program.js.map +1 -1
  10. package/dist/Scope.d.ts +24 -9
  11. package/dist/Scope.js +96 -50
  12. package/dist/Scope.js.map +1 -1
  13. package/dist/SymbolTable.d.ts +62 -0
  14. package/dist/SymbolTable.js +101 -0
  15. package/dist/SymbolTable.js.map +1 -0
  16. package/dist/astUtils/reflection.d.ts +2 -1
  17. package/dist/astUtils/reflection.js +6 -2
  18. package/dist/astUtils/reflection.js.map +1 -1
  19. package/dist/astUtils/visitors.d.ts +2 -1
  20. package/dist/astUtils/visitors.js.map +1 -1
  21. package/dist/bscPlugin/BscPlugin.d.ts +3 -1
  22. package/dist/bscPlugin/BscPlugin.js +8 -0
  23. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  24. package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +1 -1
  25. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +11 -5
  26. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  27. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +75 -1
  28. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  29. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +6 -0
  30. package/dist/bscPlugin/completions/CompletionsProcessor.js +45 -0
  31. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -0
  32. package/dist/bscPlugin/hover/HoverProcessor.d.ts +13 -0
  33. package/dist/bscPlugin/hover/HoverProcessor.js +146 -0
  34. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -0
  35. package/dist/bscPlugin/hover/HoverProcessor.spec.d.ts +1 -0
  36. package/dist/bscPlugin/hover/HoverProcessor.spec.js +167 -0
  37. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -0
  38. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.d.ts +7 -1
  39. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +81 -22
  40. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -1
  41. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +5 -1
  42. package/dist/bscPlugin/validation/BrsFileValidator.js +28 -2
  43. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  44. package/dist/bscPlugin/validation/ScopeValidator.d.ts +18 -3
  45. package/dist/bscPlugin/validation/ScopeValidator.js +139 -47
  46. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  47. package/dist/files/BrsFile.Class.spec.js +10 -10
  48. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  49. package/dist/files/BrsFile.d.ts +14 -9
  50. package/dist/files/BrsFile.js +121 -142
  51. package/dist/files/BrsFile.js.map +1 -1
  52. package/dist/files/BrsFile.spec.js +164 -109
  53. package/dist/files/BrsFile.spec.js.map +1 -1
  54. package/dist/files/XmlFile.d.ts +1 -2
  55. package/dist/files/XmlFile.js +0 -5
  56. package/dist/files/XmlFile.js.map +1 -1
  57. package/dist/files/tests/imports.spec.js +1 -1
  58. package/dist/files/tests/imports.spec.js.map +1 -1
  59. package/dist/files/tests/optionalChaning.spec.js +20 -16
  60. package/dist/files/tests/optionalChaning.spec.js.map +1 -1
  61. package/dist/globalCallables.js +3 -0
  62. package/dist/globalCallables.js.map +1 -1
  63. package/dist/index.d.ts +1 -1
  64. package/dist/index.js +3 -1
  65. package/dist/index.js.map +1 -1
  66. package/dist/interfaces.d.ts +44 -2
  67. package/dist/lexer/Lexer.spec.js +7 -0
  68. package/dist/lexer/Lexer.spec.js.map +1 -1
  69. package/dist/lexer/TokenKind.d.ts +1 -0
  70. package/dist/lexer/TokenKind.js +7 -3
  71. package/dist/lexer/TokenKind.js.map +1 -1
  72. package/dist/parser/Expression.d.ts +4 -1
  73. package/dist/parser/Expression.js +8 -2
  74. package/dist/parser/Expression.js.map +1 -1
  75. package/dist/parser/Parser.Class.spec.js +1 -1
  76. package/dist/parser/Parser.d.ts +13 -2
  77. package/dist/parser/Parser.js +137 -60
  78. package/dist/parser/Parser.js.map +1 -1
  79. package/dist/parser/Statement.d.ts +29 -1
  80. package/dist/parser/Statement.js +66 -4
  81. package/dist/parser/Statement.js.map +1 -1
  82. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +73 -31
  83. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  84. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +148 -47
  85. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  86. package/dist/parser/tests/expression/TernaryExpression.spec.js +219 -37
  87. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  88. package/dist/parser/tests/statement/ConstStatement.spec.d.ts +1 -0
  89. package/dist/parser/tests/statement/ConstStatement.spec.js +182 -0
  90. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -0
  91. package/dist/parser/tests/statement/Enum.spec.js +17 -2
  92. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  93. package/dist/parser/tests/statement/PrintStatement.spec.js +72 -57
  94. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  95. package/dist/types/DynamicType.d.ts +1 -0
  96. package/dist/types/DynamicType.js +1 -0
  97. package/dist/types/DynamicType.js.map +1 -1
  98. package/dist/util.d.ts +37 -6
  99. package/dist/util.js +90 -6
  100. package/dist/util.js.map +1 -1
  101. package/dist/validators/ClassValidator.js +4 -6
  102. package/dist/validators/ClassValidator.js.map +1 -1
  103. package/package.json +1 -1
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const testHelpers_spec_1 = require("../../../testHelpers.spec");
4
+ const util_1 = require("../../../util");
5
+ const Program_1 = require("../../../Program");
6
+ const sinon_1 = require("sinon");
7
+ const Parser_1 = require("../../Parser");
8
+ const chai_1 = require("chai");
9
+ const TokenKind_1 = require("../../../lexer/TokenKind");
10
+ const Expression_1 = require("../../Expression");
11
+ const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
12
+ const sinon = (0, sinon_1.createSandbox)();
13
+ describe('ConstStatement', () => {
14
+ let rootDir = (0, util_1.standardizePath) `${process.cwd()}/.tmp/rootDir`;
15
+ let program;
16
+ let parser;
17
+ let testTranspile = (0, testHelpers_spec_1.getTestTranspile)(() => [program, rootDir]);
18
+ let testGetTypedef = (0, testHelpers_spec_1.getTestGetTypedef)(() => [program, rootDir]);
19
+ beforeEach(() => {
20
+ program = new Program_1.Program({ rootDir: rootDir, sourceMap: true });
21
+ parser = new Parser_1.Parser();
22
+ });
23
+ afterEach(() => {
24
+ sinon.restore();
25
+ program.dispose();
26
+ });
27
+ it('supports basic structure', () => {
28
+ var _a, _b;
29
+ parser.parse('const API_KEY = "abc"');
30
+ (0, testHelpers_spec_1.expectZeroDiagnostics)(parser);
31
+ const statement = parser.ast.statements[0];
32
+ (0, chai_1.expect)((_a = statement.tokens.const) === null || _a === void 0 ? void 0 : _a.kind).to.eql(TokenKind_1.TokenKind.Const);
33
+ (0, chai_1.expect)(statement.tokens.name).to.include({
34
+ kind: TokenKind_1.TokenKind.Identifier,
35
+ text: 'API_KEY'
36
+ });
37
+ const value = statement.value;
38
+ (0, chai_1.expect)(value).to.be.instanceof(Expression_1.LiteralExpression);
39
+ (0, chai_1.expect)((_b = value.token) === null || _b === void 0 ? void 0 : _b.text).to.eql('"abc"');
40
+ //ensure range is correct
41
+ (0, chai_1.expect)(statement.range).to.eql(util_1.default.createRange(0, 0, 0, 21));
42
+ });
43
+ it('produces typedef', () => {
44
+ testGetTypedef(`
45
+ const API_KEY = "abc"
46
+ const SOME_OBJ = {}
47
+ const SOME_ARR = []
48
+ `);
49
+ });
50
+ describe('transpile', () => {
51
+ it('transpiles simple consts', () => {
52
+ testTranspile(`
53
+ const API_KEY = "abc"
54
+ sub main()
55
+ print API_KEY
56
+ end sub
57
+ `, `
58
+ sub main()
59
+ print "abc"
60
+ end sub
61
+ `);
62
+ });
63
+ it('transpiles arrays', () => {
64
+ testTranspile(`
65
+ const WORDS = [
66
+ "alpha"
67
+ "beta"
68
+ ]
69
+ sub main()
70
+ print WORDS
71
+ end sub
72
+ `, `
73
+ sub main()
74
+ print ([
75
+ "alpha"
76
+ "beta"
77
+ ])
78
+ end sub
79
+ `);
80
+ });
81
+ it('transpiles objects', () => {
82
+ testTranspile(`
83
+ const DEFAULTS = {
84
+ alpha: true
85
+ beta: true
86
+ }
87
+ sub main()
88
+ print DEFAULTS
89
+ end sub
90
+ `, `
91
+ sub main()
92
+ print ({
93
+ alpha: true
94
+ beta: true
95
+ })
96
+ end sub
97
+ `);
98
+ });
99
+ it('supports consts inside namespaces', () => {
100
+ testTranspile(`
101
+ namespace network
102
+ const API_KEY = "abc"
103
+ sub get()
104
+ print API_KEY
105
+ end sub
106
+ end namespace
107
+ sub main()
108
+ print network.API_KEY
109
+ end sub
110
+ `, `
111
+ sub network_get()
112
+ print "abc"
113
+ end sub
114
+
115
+ sub main()
116
+ print "abc"
117
+ end sub
118
+ `);
119
+ });
120
+ it('supports property access on complex objects', () => {
121
+ testTranspile(`
122
+ const DEFAULTS = {
123
+ enabled: true
124
+ }
125
+ sub main()
126
+ print DEFAULTS.enabled
127
+ end sub
128
+ `, `
129
+ sub main()
130
+ print ({
131
+ enabled: true
132
+ }).enabled
133
+ end sub
134
+ `);
135
+ });
136
+ it('supports calling methods on consts', () => {
137
+ testTranspile(`
138
+ const API_KEY ="ABC"
139
+ sub main()
140
+ print API_KEY.toString()
141
+ end sub
142
+ `, `
143
+ sub main()
144
+ print "ABC".toString()
145
+ end sub
146
+ `);
147
+ });
148
+ });
149
+ describe('completions', () => {
150
+ it('shows up in standard completions', () => {
151
+ program.setFile('source/main.bs', `
152
+ const API_KEY = "123"
153
+ sub log(message)
154
+ log()
155
+ end sub
156
+ `);
157
+ (0, testHelpers_spec_1.expectCompletionsIncludes)(
158
+ // log(|)
159
+ program.getCompletions('source/main.bs', util_1.default.createPosition(3, 24)), [{
160
+ label: 'API_KEY',
161
+ kind: vscode_languageserver_protocol_1.CompletionItemKind.Constant
162
+ }]);
163
+ });
164
+ it('shows up in namespace completions', () => {
165
+ program.setFile('source/main.bs', `
166
+ namespace constants
167
+ const API_KEY = "123"
168
+ end namespace
169
+ sub log(message)
170
+ log(constants.)
171
+ end sub
172
+ `);
173
+ (0, testHelpers_spec_1.expectCompletionsIncludes)(
174
+ // log(|)
175
+ program.getCompletions('source/main.bs', util_1.default.createPosition(5, 34)), [{
176
+ label: 'API_KEY',
177
+ kind: vscode_languageserver_protocol_1.CompletionItemKind.Constant
178
+ }]);
179
+ });
180
+ });
181
+ });
182
+ //# sourceMappingURL=ConstStatement.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConstStatement.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/statement/ConstStatement.spec.ts"],"names":[],"mappings":"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"}
@@ -189,7 +189,7 @@ describe('EnumStatement', () => {
189
189
  `);
190
190
  program.validate();
191
191
  (0, testHelpers_spec_1.expectDiagnostics)(program, [Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateEnumDeclaration('source', 'Direction')), { relatedInformation: [{
192
- location: vscode_languageserver_protocol_1.Location.create(vscode_uri_1.URI.file((0, util_1.standardizePath) `${rootDir}/source/main.bs`).toString(), util_1.util.createRange(1, 21, 1, 30)),
192
+ location: util_1.util.createLocation(vscode_uri_1.URI.file((0, util_1.standardizePath) `${rootDir}/source/main.bs`).toString(), util_1.util.createRange(1, 21, 1, 30)),
193
193
  message: 'Enum declared here'
194
194
  }] })]);
195
195
  });
@@ -206,7 +206,7 @@ describe('EnumStatement', () => {
206
206
  `);
207
207
  program.validate();
208
208
  (0, testHelpers_spec_1.expectDiagnostics)(program, [Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateEnumDeclaration('source', 'Direction')), { relatedInformation: [{
209
- location: vscode_languageserver_protocol_1.Location.create(vscode_uri_1.URI.file((0, util_1.standardizePath) `${rootDir}/source/lib.bs`).toString(), util_1.util.createRange(1, 21, 1, 30)),
209
+ location: util_1.util.createLocation(vscode_uri_1.URI.file((0, util_1.standardizePath) `${rootDir}/source/lib.bs`).toString(), util_1.util.createRange(1, 21, 1, 30)),
210
210
  message: 'Enum declared here'
211
211
  }] })]);
212
212
  });
@@ -868,6 +868,21 @@ describe('EnumStatement', () => {
868
868
  end sub
869
869
  `);
870
870
  });
871
+ it('transpiles enum values when used in complex expressions', () => {
872
+ testTranspile(`
873
+ sub main()
874
+ print Direction.up.toStr()
875
+ end sub
876
+ enum Direction
877
+ up = "up"
878
+ down = "down"
879
+ end enum
880
+ `, `
881
+ sub main()
882
+ print "up".toStr()
883
+ end sub
884
+ `);
885
+ });
871
886
  });
872
887
  });
873
888
  //# sourceMappingURL=Enum.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Enum.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/statement/Enum.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Enum.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/statement/Enum.spec.ts"],"names":[],"mappings":"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"}
@@ -96,14 +96,18 @@ describe('parser print statements', () => {
96
96
  describe('transpile', () => {
97
97
  it('retains comma separators', () => {
98
98
  testTranspile(`
99
- a$ = "string"
100
- print a$, a$, a$
99
+ sub main()
100
+ a$ = "string"
101
+ print a$, a$, a$
102
+ end sub
101
103
  `);
102
104
  });
103
105
  it('retains semicolon separators', () => {
104
106
  testTranspile(`
105
- a$ = "string"
106
- print a$; a$; a$
107
+ sub main()
108
+ a$ = "string"
109
+ print a$; a$; a$
110
+ end sub
107
111
  `);
108
112
  });
109
113
  it('supports no space between function calls', () => {
@@ -111,69 +115,80 @@ describe('parser print statements', () => {
111
115
  function getText()
112
116
  return "text"
113
117
  end function
114
- print getText() getText() getText()
118
+
119
+ function main()
120
+ print getText() getText() getText()
121
+ end function
115
122
  `);
116
123
  });
117
124
  it('supports print in loop', () => {
118
125
  testTranspile(`
119
- paramArr = ["This", "is", true, "and", "this", "is", 1]
120
- print "This is one line of stuff:";
121
- for each item in paramArr
122
- print item; " ";
123
- end for
124
- print ""
126
+ sub main()
127
+ paramArr = ["This", "is", true, "and", "this", "is", 1]
128
+ print "This is one line of stuff:";
129
+ for each item in paramArr
130
+ print item; " ";
131
+ end for
132
+ print ""
133
+ end sub
125
134
  `, `
126
- paramArr = [
127
- "This"
128
- "is"
129
- true
130
- "and"
131
- "this"
132
- "is"
133
- 1
134
- ]
135
- print "This is one line of stuff:";
136
- for each item in paramArr
137
- print item; " ";
138
- end for
139
- print ""
135
+ sub main()
136
+ paramArr = [
137
+ "This"
138
+ "is"
139
+ true
140
+ "and"
141
+ "this"
142
+ "is"
143
+ 1
144
+ ]
145
+ print "This is one line of stuff:";
146
+ for each item in paramArr
147
+ print item; " ";
148
+ end for
149
+ print ""
150
+ end sub
140
151
  `);
141
152
  });
142
153
  it('handles roku documentation examples', () => {
143
154
  testTranspile(`
144
- x=5:print 25; " is equal to"; x^2
145
- a$="string":print a$;a$,a$;" ";a$
146
- print "zone 1","zone 2","zone 3","zone 4"
147
- print "print statement #1 ":print "print statement #2"
148
- print "this is a five " 5 "!!"
149
- print {}
150
- print {a:1}
151
- print []
152
- print [5]
153
- print tab(5)"tabbed 5";tab(25)"tabbed 25"
154
- print tab(40) pos(0) 'prints 40 at position 40
155
- print "these" tab(pos(0)+5)"words" tab(pos(0)+5)"are":print tab(pos(0)+5)"evenly" tab(pos(0)+5)"spaced"
155
+ sub main()
156
+ x=5:print 25; " is equal to"; x^2
157
+ a$="string":print a$;a$,a$;" ";a$
158
+ print "zone 1","zone 2","zone 3","zone 4"
159
+ print "print statement #1 ":print "print statement #2"
160
+ print "this is a five " 5 "!!"
161
+ print {}
162
+ print {a:1}
163
+ print []
164
+ print [5]
165
+ print tab(5)"tabbed 5";tab(25)"tabbed 25"
166
+ print tab(40) pos(0) 'prints 40 at position 40
167
+ print "these" tab(pos(0)+5)"words" tab(pos(0)+5)"are":print tab(pos(0)+5)"evenly" tab(pos(0)+5)"spaced"
168
+ end sub
156
169
  `, `
157
- x = 5
158
- print 25; " is equal to"; x ^ 2
159
- a$ = "string"
160
- print a$; a$, a$; " "; a$
161
- print "zone 1", "zone 2", "zone 3", "zone 4"
162
- print "print statement #1 "
163
- print "print statement #2"
164
- print "this is a five " 5 "!!"
165
- print {}
166
- print {
167
- a: 1
168
- }
169
- print []
170
- print [
171
- 5
172
- ]
173
- print tab(5) "tabbed 5"; tab(25) "tabbed 25"
174
- print tab(40) pos(0) 'prints 40 at position 40
175
- print "these" tab(pos(0) + 5) "words" tab(pos(0) + 5) "are"
176
- print tab(pos(0) + 5) "evenly" tab(pos(0) + 5) "spaced"
170
+ sub main()
171
+ x = 5
172
+ print 25; " is equal to"; x ^ 2
173
+ a$ = "string"
174
+ print a$; a$, a$; " "; a$
175
+ print "zone 1", "zone 2", "zone 3", "zone 4"
176
+ print "print statement #1 "
177
+ print "print statement #2"
178
+ print "this is a five " 5 "!!"
179
+ print {}
180
+ print {
181
+ a: 1
182
+ }
183
+ print []
184
+ print [
185
+ 5
186
+ ]
187
+ print tab(5) "tabbed 5"; tab(25) "tabbed 25"
188
+ print tab(40) pos(0) 'prints 40 at position 40
189
+ print "these" tab(pos(0) + 5) "words" tab(pos(0) + 5) "are"
190
+ print tab(pos(0) + 5) "evenly" tab(pos(0) + 5) "spaced"
191
+ end sub
177
192
  `);
178
193
  });
179
194
  });
@@ -1 +1 @@
1
- {"version":3,"file":"PrintStatement.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/statement/PrintStatement.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PrintStatement.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/statement/PrintStatement.spec.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { BscType } from './BscType';
2
2
  export declare class DynamicType implements BscType {
3
3
  typeText?: string;
4
4
  constructor(typeText?: string);
5
+ static readonly instance: DynamicType;
5
6
  isAssignableTo(targetType: BscType): boolean;
6
7
  /**
7
8
  * The dynamic type is convertible to everything.
@@ -26,4 +26,5 @@ class DynamicType {
26
26
  }
27
27
  }
28
28
  exports.DynamicType = DynamicType;
29
+ DynamicType.instance = new DynamicType();
29
30
  //# sourceMappingURL=DynamicType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicType.js","sourceRoot":"","sources":["../../src/types/DynamicType.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAW;IACpB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAEE,cAAc,CAAC,UAAmB;QACrC,2EAA2E;QAC3E,OAAO,CAAC,CAAC,UAAU,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,eAAe,CAAC,UAAmB;QACtC,2EAA2E;QAC3E,OAAO,CAAC,CAAC,UAAU,CAAC;IACxB,CAAC;IAEM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,SAAS,CAAC;IACtC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACJ;AA1BD,kCA0BC"}
1
+ {"version":3,"file":"DynamicType.js","sourceRoot":"","sources":["../../src/types/DynamicType.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAW;IACpB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAIE,cAAc,CAAC,UAAmB;QACrC,2EAA2E;QAC3E,OAAO,CAAC,CAAC,UAAU,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,eAAe,CAAC,UAAmB;QACtC,2EAA2E;QAC3E,OAAO,CAAC,CAAC,UAAU,CAAC;IACxB,CAAC;IAEM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,SAAS,CAAC;IACtC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;;AA3BL,kCA4BC;AAvB0B,oBAAQ,GAAG,IAAI,WAAW,EAAE,CAAC"}
package/dist/util.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Diagnostic, Position, Range } from 'vscode-languageserver';
1
+ import type { Diagnostic, Position, Range, Location } from 'vscode-languageserver';
2
2
  import type { BsConfig } from './BsConfig';
3
3
  import type { CallableContainer, BsDiagnostic, FileReference, CallableContainerMap, CompilerPlugin, ExpressionInfo } from './interfaces';
4
4
  import { BooleanType } from './types/BooleanType';
@@ -128,9 +128,25 @@ export declare class Util {
128
128
  */
129
129
  findBeginningVariableExpression(dottedGet: DottedGetExpression): VariableExpression | undefined;
130
130
  /**
131
- * Does a touch b in any way?
131
+ * Do `a` and `b` overlap by at least one character. This returns false if they are at the edges. Here's some examples:
132
+ * ```
133
+ * | true | true | true | true | true | false | false | false | false |
134
+ * |------|------|------|------|------|-------|-------|-------|-------|
135
+ * | aa | aaa | aaa | aaa | a | aa | aa | a | a |
136
+ * | bbb | bb | bbb | b | bbb | bb | bb | b | a |
137
+ * ```
132
138
  */
133
139
  rangesIntersect(a: Range, b: Range): boolean;
140
+ /**
141
+ * Do `a` and `b` overlap by at least one character or touch at the edges
142
+ * ```
143
+ * | true | true | true | true | true | true | true | false | false |
144
+ * |------|------|------|------|------|-------|-------|-------|-------|
145
+ * | aa | aaa | aaa | aaa | a | aa | aa | a | a |
146
+ * | bbb | bb | bbb | b | bbb | bb | bb | b | a |
147
+ * ```
148
+ */
149
+ rangesIntersectOrTouch(a: Range, b: Range): boolean;
134
150
  /**
135
151
  * Test if `position` is in `range`. If the position is at the edges, will return true.
136
152
  * Adapted from core vscode
@@ -252,7 +268,11 @@ export declare class Util {
252
268
  splitIntoLines(string: string): string[];
253
269
  getTextForRange(string: string | string[], range: Range): string;
254
270
  /**
255
- * Helper for creating `Range` objects. Prefer using this function because vscode-languageserver's `util.createRange()` is significantly slower
271
+ * Helper for creating `Location` objects. Prefer using this function because vscode-languageserver's `Location.create()` is significantly slower at scale
272
+ */
273
+ createLocation(uri: string, range: Range): Location;
274
+ /**
275
+ * Helper for creating `Range` objects. Prefer using this function because vscode-languageserver's `Range.create()` is significantly slower
256
276
  */
257
277
  createRange(startLine: number, startCharacter: number, endLine: number, endCharacter: number): Range;
258
278
  /**
@@ -314,19 +334,26 @@ export declare class Util {
314
334
  */
315
335
  copyBslibToStaging(stagingDir: string): Promise<void>;
316
336
  /**
317
- * Given a Diagnostic or BsDiagnostic, return a copy of the diagnostic
337
+ * Given a Diagnostic or BsDiagnostic, return a deep clone of the diagnostic.
338
+ * @param diagnostic the diagnostic to clone
339
+ * @param relatedInformationFallbackLocation a default location to use for all `relatedInformation` entries that are missing a location
318
340
  */
319
- toDiagnostic(diagnostic: Diagnostic | BsDiagnostic): {
341
+ toDiagnostic(diagnostic: Diagnostic | BsDiagnostic, fileUri: string): {
320
342
  severity: import("vscode-languageserver-types").DiagnosticSeverity;
321
343
  range: Range;
322
344
  message: string;
323
345
  relatedInformation: {
324
- location: import("vscode-languageserver-types").Location;
346
+ location: Location;
325
347
  message: string;
326
348
  }[];
327
349
  code: string | number;
328
350
  source: string;
329
351
  };
352
+ /**
353
+ * Get the first locatable item found at the specified position
354
+ * @param position
355
+ */
356
+ getFirstLocatableAt(locatables: Locatable[], position: Position): Locatable;
330
357
  /**
331
358
  * Sort an array of objects that have a Range
332
359
  */
@@ -349,6 +376,10 @@ export declare class Util {
349
376
  * @returns an array of the parts of the dotted get. If not fully a dotted get, then returns undefined
350
377
  */
351
378
  getAllDottedGetParts(expression: Expression): Identifier[] | undefined;
379
+ /**
380
+ * Break an expression into each part.
381
+ */
382
+ splitExpression(expression: Expression): Expression[];
352
383
  /**
353
384
  * Returns an integer if valid, or undefined. Eliminates checking for NaN
354
385
  */