brighterscript 1.0.0-alpha.14 → 1.0.0-alpha.15

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 (70) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/dist/Cache.d.ts +2 -7
  3. package/dist/Cache.js +4 -13
  4. package/dist/Cache.js.map +1 -1
  5. package/dist/DiagnosticMessages.d.ts +21 -1
  6. package/dist/DiagnosticMessages.js +21 -1
  7. package/dist/DiagnosticMessages.js.map +1 -1
  8. package/dist/Program.d.ts +1 -1
  9. package/dist/Program.js +4 -4
  10. package/dist/Program.js.map +1 -1
  11. package/dist/Scope.d.ts +16 -11
  12. package/dist/Scope.js +25 -2
  13. package/dist/Scope.js.map +1 -1
  14. package/dist/XmlScope.d.ts +3 -3
  15. package/dist/astUtils/AstEditor.d.ts +6 -0
  16. package/dist/astUtils/AstEditor.js +10 -0
  17. package/dist/astUtils/AstEditor.js.map +1 -1
  18. package/dist/astUtils/AstEditor.spec.js +37 -0
  19. package/dist/astUtils/AstEditor.spec.js.map +1 -1
  20. package/dist/astUtils/reflection.d.ts +3 -1
  21. package/dist/astUtils/reflection.js +10 -2
  22. package/dist/astUtils/reflection.js.map +1 -1
  23. package/dist/astUtils/visitors.d.ts +3 -1
  24. package/dist/astUtils/visitors.js.map +1 -1
  25. package/dist/bscPlugin/BscPlugin.d.ts +4 -1
  26. package/dist/bscPlugin/BscPlugin.js +16 -0
  27. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  28. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +1 -0
  29. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +36 -0
  30. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  31. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +28 -0
  32. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
  33. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.d.ts +8 -0
  34. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +36 -0
  35. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -0
  36. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +9 -0
  37. package/dist/bscPlugin/validation/BrsFileValidator.js +66 -0
  38. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -0
  39. package/dist/bscPlugin/validation/ScopeValidator.d.ts +11 -0
  40. package/dist/bscPlugin/validation/ScopeValidator.js +94 -0
  41. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -0
  42. package/dist/files/BrsFile.Class.spec.js +21 -22
  43. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  44. package/dist/files/BrsFile.d.ts +9 -1
  45. package/dist/files/BrsFile.js +99 -25
  46. package/dist/files/BrsFile.js.map +1 -1
  47. package/dist/files/BrsFile.spec.js +128 -59
  48. package/dist/files/BrsFile.spec.js.map +1 -1
  49. package/dist/files/XmlFile.d.ts +5 -5
  50. package/dist/files/XmlFile.spec.js +9 -9
  51. package/dist/files/XmlFile.spec.js.map +1 -1
  52. package/dist/interfaces.d.ts +29 -37
  53. package/dist/lexer/Lexer.spec.js +8 -0
  54. package/dist/lexer/Lexer.spec.js.map +1 -1
  55. package/dist/lexer/TokenKind.d.ts +2 -0
  56. package/dist/lexer/TokenKind.js +5 -0
  57. package/dist/lexer/TokenKind.js.map +1 -1
  58. package/dist/parser/Parser.d.ts +11 -2
  59. package/dist/parser/Parser.js +92 -3
  60. package/dist/parser/Parser.js.map +1 -1
  61. package/dist/parser/Statement.d.ts +52 -0
  62. package/dist/parser/Statement.js +154 -1
  63. package/dist/parser/Statement.js.map +1 -1
  64. package/dist/parser/tests/statement/Enum.spec.d.ts +1 -0
  65. package/dist/parser/tests/statement/Enum.spec.js +774 -0
  66. package/dist/parser/tests/statement/Enum.spec.js.map +1 -0
  67. package/dist/util.d.ts +10 -0
  68. package/dist/util.js +37 -0
  69. package/dist/util.js.map +1 -1
  70. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BrsFileSemanticTokensProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.ts"],"names":[],"mappings":";;;AACA,mFAAoE;AACpE,0DAAyD;AAGzD,gDAAgD;AAChD,qCAA8B;AAE9B,MAAa,8BAA8B;IACvC,YACW,KAAwC;QAAxC,UAAK,GAAL,KAAK,CAAmC;IAGnD,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAEO,aAAa;;QAEjB,MAAM,OAAO,GAAG,EAAuE,CAAC;QAExF,sCAAsC;QACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,EAAE;YACtE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;gBAChC,IAAI,IAAA,yBAAY,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACzB,OAAO,CAAC,IAAI,CAAC;wBACT,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;wBAC9B,aAAa,EAAE,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC;wBACpE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;qBAC9B,CAAC,CAAC;iBACN;aACJ;SACJ;QACD,mCAAmC;QACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE;YACjE,OAAO,CAAC,IAAI,CAAC;gBACT,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC;gBAC3D,aAAa,EAAE,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC;gBACpE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;aAC9B,CAAC,CAAC;SACN;QAED,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACvB,IACI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBACxB,0CAA0C;gBAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,EAC3E;gBACE,MAAM,MAAM,GAAG,cAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjE,8CAA8C;gBAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBACxC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,SAAS,EAAE,mDAAkB,CAAC,SAAS;qBAC1C,CAAC,CAAC;iBACN;gBACD,YAAY;gBACZ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;oBAC3B,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK;oBACzB,SAAS,EAAE,mDAAkB,CAAC,KAAK;iBACtC,CAAC,CAAC;aACN;SACJ;IAEL,CAAC;CACJ;AA5DD,wEA4DC"}
1
+ {"version":3,"file":"BrsFileSemanticTokensProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.ts"],"names":[],"mappings":"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"}
@@ -41,5 +41,33 @@ describe('BrsFileSemanticTokensProcessor', () => {
41
41
  tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.class
42
42
  }]);
43
43
  });
44
+ it('matches each namespace section', () => {
45
+ const file = program.setFile('source/main.bs', `
46
+ sub main()
47
+ print Earthlings.Species.Human.Male
48
+ end sub
49
+ namespace Earthlings.Species
50
+ enum Human
51
+ Male
52
+ Female
53
+ end enum
54
+ end namespace
55
+ `);
56
+ program.validate();
57
+ (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
58
+ (0, chai_1.expect)(util_1.util.sortByRange(program.getSemanticTokens(file.srcPath))).to.eql([{
59
+ range: util_1.util.createRange(2, 22, 2, 32),
60
+ tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
61
+ }, {
62
+ range: util_1.util.createRange(2, 33, 2, 40),
63
+ tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
64
+ }, {
65
+ range: util_1.util.createRange(2, 41, 2, 46),
66
+ tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.enum
67
+ }, {
68
+ range: util_1.util.createRange(2, 47, 2, 51),
69
+ tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.enumMember
70
+ }]);
71
+ });
44
72
  });
45
73
  //# sourceMappingURL=BrsFileSemanticTokensProcessor.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrsFileSemanticTokensProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,mFAAoE;AAEpE,2CAAwC;AACxC,6DAA+D;AAC/D,qCAAwD;AAExD,MAAM,OAAO,GAAG,IAAA,sBAAC,EAAA,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;AAEjD,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,IAAI,OAAgB,CAAC;IACrB,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,GAAG,IAAI,iBAAO,CAAC;YAClB,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAU,gBAAgB,EAAE;;;;;;;;;;SAUvD,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;QAC/B,IAAA,aAAM,EACF,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAC1C,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBACN,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,KAAK;aACtC,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"BrsFileSemanticTokensProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,mFAAoE;AAEpE,2CAAwC;AACxC,6DAA+D;AAC/D,qCAAwD;AAExD,MAAM,OAAO,GAAG,IAAA,sBAAC,EAAA,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;AAEjD,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,IAAI,OAAgB,CAAC;IACrB,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,GAAG,IAAI,iBAAO,CAAC;YAClB,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAU,gBAAgB,EAAE;;;;;;;;;;SAUvD,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;QAC/B,IAAA,aAAM,EACF,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAC1C,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBACN,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,KAAK;aACtC,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAU,gBAAgB,EAAE;;;;;;;;;;SAUvD,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;QAC/B,IAAA,aAAM,EACF,WAAI,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAC5D,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBACN,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,IAAI;aACrC,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,UAAU;aAC3C,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { BrsFile } from '../../files/BrsFile';
2
+ import type { BeforeFileTranspileEvent } from '../../interfaces';
3
+ export declare class BrsFilePreTranspileProcessor {
4
+ private event;
5
+ constructor(event: BeforeFileTranspileEvent<BrsFile>);
6
+ process(): void;
7
+ private replaceEnumValues;
8
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BrsFilePreTranspileProcessor = void 0;
4
+ const Cache_1 = require("../../Cache");
5
+ const util_1 = require("../../util");
6
+ class BrsFilePreTranspileProcessor {
7
+ constructor(event) {
8
+ this.event = event;
9
+ }
10
+ process() {
11
+ this.replaceEnumValues();
12
+ }
13
+ replaceEnumValues() {
14
+ var _a, _b, _c;
15
+ const membersByEnum = new Cache_1.Cache();
16
+ const enumLookup = (_a = this.event.file.program.getFirstScopeForFile(this.event.file)) === null || _a === void 0 ? void 0 : _a.getEnumMap();
17
+ for (const expression of this.event.file.parser.references.expressions) {
18
+ const parts = (_b = util_1.default.getAllDottedGetParts(expression)) === null || _b === void 0 ? void 0 : _b.map(x => x.toLowerCase());
19
+ if (parts) {
20
+ //get the name of the enum member
21
+ const memberName = parts.pop();
22
+ //get the name of the enum (including leading namespace if applicable)
23
+ const enumName = parts.join('.');
24
+ const lowerEnumName = enumName.toLowerCase();
25
+ const theEnum = (_c = enumLookup.get(lowerEnumName)) === null || _c === void 0 ? void 0 : _c.item;
26
+ if (theEnum) {
27
+ const members = membersByEnum.getOrAdd(lowerEnumName, () => theEnum.getMemberValueMap());
28
+ const value = members === null || members === void 0 ? void 0 : members.get(memberName);
29
+ this.event.editor.overrideTranspileResult(expression, value);
30
+ }
31
+ }
32
+ }
33
+ }
34
+ }
35
+ exports.BrsFilePreTranspileProcessor = BrsFilePreTranspileProcessor;
36
+ //# sourceMappingURL=BrsFilePreTranspileProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrsFilePreTranspileProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/transpile/BrsFilePreTranspileProcessor.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAGpC,qCAA8B;AAE9B,MAAa,4BAA4B;IACrC,YACY,KAAwC;QAAxC,UAAK,GAAL,KAAK,CAAmC;IAEpD,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAEO,iBAAiB;;QACrB,MAAM,aAAa,GAAG,IAAI,aAAK,EAA+B,CAAC;QAE/D,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0CAAE,UAAU,EAAE,CAAC;QAC/F,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE;YACpE,MAAM,KAAK,GAAG,MAAA,cAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/E,IAAI,KAAK,EAAE;gBACP,iCAAiC;gBACjC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC/B,sEAAsE;gBACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,MAAA,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,0CAAE,IAAI,CAAC;gBACpD,IAAI,OAAO,EAAE;oBACT,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;oBACzF,MAAM,KAAK,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,UAAU,CAAC,CAAC;oBACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;iBAChE;aACJ;SACJ;IACL,CAAC;CACJ;AA/BD,oEA+BC"}
@@ -0,0 +1,9 @@
1
+ import type { BrsFile } from '../../files/BrsFile';
2
+ import type { OnFileValidateEvent } from '../../interfaces';
3
+ export declare class BrsFileValidator {
4
+ event: OnFileValidateEvent<BrsFile>;
5
+ constructor(event: OnFileValidateEvent<BrsFile>);
6
+ process(): void;
7
+ validateEnumDeclarations(): void;
8
+ private validateEnumValueTypes;
9
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BrsFileValidator = void 0;
4
+ const __1 = require("../..");
5
+ const DiagnosticMessages_1 = require("../../DiagnosticMessages");
6
+ const TokenKind_1 = require("../../lexer/TokenKind");
7
+ class BrsFileValidator {
8
+ constructor(event) {
9
+ this.event = event;
10
+ }
11
+ process() {
12
+ this.validateEnumDeclarations();
13
+ }
14
+ validateEnumDeclarations() {
15
+ var _a, _b, _c, _d, _e;
16
+ const diagnostics = [];
17
+ for (const stmt of this.event.file.parser.references.enumStatements) {
18
+ const members = stmt.getMembers();
19
+ //the enum data type is based on the first member value
20
+ const enumValueKind = (_d = (_c = (_b = (_a = members.find(x => x.value)) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.token) === null || _c === void 0 ? void 0 : _c.kind) !== null && _d !== void 0 ? _d : TokenKind_1.TokenKind.IntegerLiteral;
21
+ const memberNames = new Set();
22
+ for (const member of members) {
23
+ const memberNameLower = (_e = member.name) === null || _e === void 0 ? void 0 : _e.toLowerCase();
24
+ /**
25
+ * flag duplicate member names
26
+ */
27
+ if (memberNames.has(memberNameLower)) {
28
+ diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateIdentifier(member.name)), { file: this.event.file, range: member.range }));
29
+ }
30
+ else {
31
+ memberNames.add(memberNameLower);
32
+ }
33
+ //Enforce all member values are the same type
34
+ this.validateEnumValueTypes(diagnostics, member, enumValueKind);
35
+ }
36
+ }
37
+ this.event.file.addDiagnostics(diagnostics);
38
+ }
39
+ validateEnumValueTypes(diagnostics, member, enumValueKind) {
40
+ var _a, _b, _c, _d, _e, _f, _g, _h;
41
+ const memberValueKind = (_b = (_a = member.value) === null || _a === void 0 ? void 0 : _a.token) === null || _b === void 0 ? void 0 : _b.kind;
42
+ if (
43
+ //is integer enum, has value, that value type is not integer
44
+ (enumValueKind === TokenKind_1.TokenKind.IntegerLiteral && memberValueKind && memberValueKind !== enumValueKind) ||
45
+ //has value, that value is not a literal
46
+ (member.value && !(0, __1.isLiteralExpression)(member.value))) {
47
+ diagnostics.push(Object.assign(Object.assign({ file: this.event.file }, DiagnosticMessages_1.DiagnosticMessages.enumValueMustBeType(enumValueKind.replace(/literal$/i, '').toLowerCase())), { range: (_d = ((_c = member.value) !== null && _c !== void 0 ? _c : member)) === null || _d === void 0 ? void 0 : _d.range }));
48
+ }
49
+ //is non integer value
50
+ if (enumValueKind !== TokenKind_1.TokenKind.IntegerLiteral) {
51
+ //default value present
52
+ if (memberValueKind) {
53
+ //member value is same as enum
54
+ if (memberValueKind !== enumValueKind) {
55
+ diagnostics.push(Object.assign(Object.assign({ file: this.event.file }, DiagnosticMessages_1.DiagnosticMessages.enumValueMustBeType(enumValueKind.replace(/literal$/i, '').toLowerCase())), { range: (_f = ((_e = member.value) !== null && _e !== void 0 ? _e : member)) === null || _f === void 0 ? void 0 : _f.range }));
56
+ }
57
+ //default value missing
58
+ }
59
+ else {
60
+ diagnostics.push(Object.assign(Object.assign({ file: this.event.file }, DiagnosticMessages_1.DiagnosticMessages.enumValueIsRequired(enumValueKind.replace(/literal$/i, '').toLowerCase())), { range: (_h = ((_g = member.value) !== null && _g !== void 0 ? _g : member)) === null || _h === void 0 ? void 0 : _h.range }));
61
+ }
62
+ }
63
+ }
64
+ }
65
+ exports.BrsFileValidator = BrsFileValidator;
66
+ //# sourceMappingURL=BrsFileValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrsFileValidator.js","sourceRoot":"","sources":["../../../src/bscPlugin/validation/BrsFileValidator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { OnScopeValidateEvent } from '../../interfaces';
2
+ export declare class ScopeValidator {
3
+ private event;
4
+ constructor(event: OnScopeValidateEvent);
5
+ process(): void;
6
+ /**
7
+ * Find all expressions and validate the ones that look like enums
8
+ */
9
+ validateEnumUsage(): void;
10
+ private detectDuplicateEnums;
11
+ }
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScopeValidator = void 0;
4
+ const vscode_languageserver_1 = require("vscode-languageserver");
5
+ const vscode_uri_1 = require("vscode-uri");
6
+ const reflection_1 = require("../../astUtils/reflection");
7
+ const Cache_1 = require("../../Cache");
8
+ const DiagnosticMessages_1 = require("../../DiagnosticMessages");
9
+ const util_1 = require("../../util");
10
+ class ScopeValidator {
11
+ constructor(event) {
12
+ this.event = event;
13
+ }
14
+ process() {
15
+ this.validateEnumUsage();
16
+ this.detectDuplicateEnums();
17
+ }
18
+ /**
19
+ * Find all expressions and validate the ones that look like enums
20
+ */
21
+ validateEnumUsage() {
22
+ const diagnostics = [];
23
+ const membersByEnum = new Cache_1.Cache();
24
+ //if there are any enums defined in this scope
25
+ const enumLookup = this.event.scope.getEnumMap();
26
+ //skip enum validation if there are no enums defined in this scope
27
+ if (enumLookup.size === 0) {
28
+ return;
29
+ }
30
+ this.event.scope.enumerateOwnFiles((file) => {
31
+ var _a;
32
+ //skip non-brs files
33
+ if (!(0, reflection_1.isBrsFile)(file)) {
34
+ return;
35
+ }
36
+ for (const expression of file.parser.references.expressions) {
37
+ const parts = util_1.default.getAllDottedGetParts(expression);
38
+ //skip expressions that aren't fully dotted gets
39
+ if (!parts) {
40
+ continue;
41
+ }
42
+ //get the name of the enum member
43
+ const memberName = parts.pop();
44
+ //get the name of the enum (including leading namespace if applicable)
45
+ const enumName = parts.join('.');
46
+ const lowerEnumName = enumName.toLowerCase();
47
+ const theEnum = (_a = enumLookup.get(lowerEnumName)) === null || _a === void 0 ? void 0 : _a.item;
48
+ if (theEnum) {
49
+ const members = membersByEnum.getOrAdd(lowerEnumName, () => theEnum.getMemberValueMap());
50
+ const value = members === null || members === void 0 ? void 0 : members.get(memberName.toLowerCase());
51
+ if (!value) {
52
+ diagnostics.push(Object.assign(Object.assign({ file: file }, DiagnosticMessages_1.DiagnosticMessages.unknownEnumValue(memberName, theEnum.fullName)), { range: expression.name.range, relatedInformation: [{
53
+ message: 'Enum declared here',
54
+ location: vscode_languageserver_1.Location.create(vscode_uri_1.URI.file(file.srcPath).toString(), theEnum.tokens.name.range)
55
+ }] }));
56
+ }
57
+ }
58
+ }
59
+ });
60
+ this.event.scope.addDiagnostics(diagnostics);
61
+ }
62
+ detectDuplicateEnums() {
63
+ const diagnostics = [];
64
+ const enumLocationsByName = new Cache_1.Cache();
65
+ this.event.scope.enumerateBrsFiles((file) => {
66
+ for (const enumStatement of file.parser.references.enumStatements) {
67
+ const fullName = enumStatement.fullName;
68
+ const nameLower = fullName === null || fullName === void 0 ? void 0 : fullName.toLowerCase();
69
+ if ((nameLower === null || nameLower === void 0 ? void 0 : nameLower.length) > 0) {
70
+ enumLocationsByName.getOrAdd(nameLower, () => []).push({
71
+ file: file,
72
+ statement: enumStatement
73
+ });
74
+ }
75
+ }
76
+ });
77
+ //now that we've collected all enum declarations, flag duplicates
78
+ for (const enumLocations of enumLocationsByName.values()) {
79
+ //sort by srcPath to keep the primary enum location consistent
80
+ enumLocations.sort((a, b) => { var _a, _b, _c; return (_b = (_a = a.file) === null || _a === void 0 ? void 0 : _a.srcPath) === null || _b === void 0 ? void 0 : _b.localeCompare((_c = b.file) === null || _c === void 0 ? void 0 : _c.srcPath); });
81
+ const primaryEnum = enumLocations.shift();
82
+ const fullName = primaryEnum.statement.fullName;
83
+ for (const duplicateEnumInfo of enumLocations) {
84
+ diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateEnumDeclaration(this.event.scope.name, fullName)), { file: duplicateEnumInfo.file, range: duplicateEnumInfo.statement.tokens.name.range, relatedInformation: [{
85
+ message: 'Enum declared here',
86
+ location: vscode_languageserver_1.Location.create(vscode_uri_1.URI.file(primaryEnum.file.srcPath).toString(), primaryEnum.statement.tokens.name.range)
87
+ }] }));
88
+ }
89
+ }
90
+ this.event.scope.addDiagnostics(diagnostics);
91
+ }
92
+ }
93
+ exports.ScopeValidator = ScopeValidator;
94
+ //# sourceMappingURL=ScopeValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScopeValidator.js","sourceRoot":"","sources":["../../../src/bscPlugin/validation/ScopeValidator.ts"],"names":[],"mappings":"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"}
@@ -689,7 +689,7 @@ describe('BrsFile BrighterScript classes', () => {
689
689
  ]);
690
690
  });
691
691
  it.skip('detects calls to unknown m methods', () => {
692
- program.setFile({ src: `$ { rootDir } / source / main.brs`, dest: 'source/main.brs' }, `
692
+ program.setFile('source/main.brs', `
693
693
  class Animal
694
694
  sub new ()
695
695
  m.methodThatDoesNotExist()
@@ -702,7 +702,7 @@ describe('BrsFile BrighterScript classes', () => {
702
702
  ]);
703
703
  });
704
704
  it('detects duplicate member names', () => {
705
- program.setFile({ src: `${rootDir} / source / main.bs`, dest: 'source/main.bs' }, `
705
+ program.setFile('source/main.bs', `
706
706
  class Animal
707
707
  public name
708
708
  public name
@@ -719,7 +719,7 @@ describe('BrsFile BrighterScript classes', () => {
719
719
  (0, testHelpers_spec_1.expectDiagnostics)(program, [Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateIdentifier('name')), { range: vscode_languageserver_1.Range.create(3, 23, 3, 27) }), Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateIdentifier('name')), { range: vscode_languageserver_1.Range.create(4, 27, 4, 31) }), Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateIdentifier('age')), { range: vscode_languageserver_1.Range.create(8, 27, 8, 30) }), Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateIdentifier('age')), { range: vscode_languageserver_1.Range.create(10, 23, 10, 26) })]);
720
720
  });
721
721
  it('detects mismatched member type in child class', () => {
722
- program.setFile({ src: `${rootDir} / source / main.bs`, dest: 'source/main.bs' }, `
722
+ program.setFile('source/main.bs', `
723
723
  class Animal
724
724
  public name
725
725
  end class
@@ -735,8 +735,8 @@ describe('BrsFile BrighterScript classes', () => {
735
735
  ]);
736
736
  });
737
737
  it('allows untyped overridden field in child class', () => {
738
- program.setFile({ src: `${rootDir} /source/main.bs`, dest: 'source/main.bs' }, `
739
- class Animal
738
+ program.setFile('source/main.bs', `
739
+ class Animal
740
740
  public name
741
741
  end class
742
742
  class Duck extends Animal
@@ -780,7 +780,7 @@ describe('BrsFile BrighterScript classes', () => {
780
780
  ]);
781
781
  });
782
782
  it('detects overridden methods without override keyword', () => {
783
- program.setFile({ src: `$ { rootDir }/source/main.bs`, dest: 'source/main.brs' }, `
783
+ program.setFile('source/main.bs', `
784
784
  class Animal
785
785
  sub speak()
786
786
  end sub
@@ -796,7 +796,7 @@ describe('BrsFile BrighterScript classes', () => {
796
796
  ]);
797
797
  });
798
798
  it('detects overridden methods with different visibility', () => {
799
- program.setFile({ src: `$ { rootDir }/source/main.bs`, dest: 'source/main.bs' }, `
799
+ program.setFile('source/main.bs', `
800
800
  class Animal
801
801
  sub speakInPublic()
802
802
  end sub
@@ -822,7 +822,7 @@ describe('BrsFile BrighterScript classes', () => {
822
822
  ]);
823
823
  });
824
824
  it('allows overridden methods with matching visibility', () => {
825
- program.setFile({ src: `$ { rootDir }/source/main.bs`, dest: 'source/main.bs' }, `
825
+ program.setFile('source/main.bs', `
826
826
  class Animal
827
827
  sub speakInPublic()
828
828
  end sub
@@ -895,8 +895,8 @@ describe('BrsFile BrighterScript classes', () => {
895
895
  namespace Vertibrates
896
896
  class Bird
897
897
  end class
898
- end namespace
899
- `);
898
+ end namespace
899
+ `);
900
900
  program.setFile('source/Duck.bs', `
901
901
  class Duck extends Vertibrates.GroundedBird
902
902
  sub speak()
@@ -908,7 +908,6 @@ describe('BrsFile BrighterScript classes', () => {
908
908
  (0, chai_1.expect)(program.getDiagnostics()[0].message).to.eql(DiagnosticMessages_1.DiagnosticMessages.classCouldNotBeFound('Vertibrates.GroundedBird', 'source').message);
909
909
  });
910
910
  it('namespaced parent class from inside namespace', () => {
911
- program.setFile('source/main.bs', ``);
912
911
  program.setFile('source/vertibrates.bs', `
913
912
  namespace Vertibrates
914
913
  class Bird
@@ -945,7 +944,7 @@ describe('BrsFile BrighterScript classes', () => {
945
944
  ]);
946
945
  });
947
946
  it('supports newable class namespace inference', () => {
948
- program.setFile({ src: `$ { rootDir }/source/main.bs`, dest: 'source/main.bs' }, `
947
+ program.setFile('source/main.bs', `
949
948
  namespace NameA.NameB
950
949
  class Duck
951
950
  end class
@@ -958,21 +957,21 @@ describe('BrsFile BrighterScript classes', () => {
958
957
  (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
959
958
  });
960
959
  it('catches extending unknown namespaced class', () => {
961
- program.setFile({ src: `$ { rootDir }/source/main.bs`, dest: 'source/main.bs' }, `
960
+ program.setFile('source/main.bs', `
962
961
  namespace NameA.NameB
963
962
  class Animal
964
963
  end class
965
964
  class Duck extends NameA.NameB.Animal1
966
965
  end class
967
- end namespace
968
- `);
966
+ end namespace
967
+ `);
969
968
  program.validate();
970
969
  (0, testHelpers_spec_1.expectDiagnostics)(program, [
971
970
  DiagnosticMessages_1.DiagnosticMessages.classCouldNotBeFound('NameA.NameB.Animal1', 'source')
972
971
  ]);
973
972
  });
974
973
  it('supports omitting namespace prefix for items in same namespace', () => {
975
- program.setFile({ src: `$ { rootDir }/source/main.bs`, dest: 'source/main.bs' }, `
974
+ program.setFile('source/main.bs', `
976
975
  namespace NameA.NameB
977
976
  class Animal
978
977
  end class
@@ -984,7 +983,7 @@ describe('BrsFile BrighterScript classes', () => {
984
983
  (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
985
984
  });
986
985
  it('catches duplicate root-level class declarations', () => {
987
- program.setFile({ src: `$ { rootDir }/source/main.bs`, dest: 'source/main.bs' }, `
986
+ program.setFile('source/main.bs', `
988
987
  class Animal
989
988
  end class
990
989
  class Animal
@@ -996,21 +995,21 @@ describe('BrsFile BrighterScript classes', () => {
996
995
  ]);
997
996
  });
998
997
  it('catches duplicate namespace-level class declarations', () => {
999
- program.setFile({ src: `$ { rootDir }/source/main.bs`, dest: 'source/main.bs' }, `
998
+ program.setFile('source/main.bs', `
1000
999
  namespace NameA.NameB
1001
1000
  class Animal
1002
1001
  end class
1003
1002
  class Animal
1004
1003
  end class
1005
- end namespace
1006
- `);
1004
+ end namespace
1005
+ `);
1007
1006
  program.validate();
1008
1007
  (0, testHelpers_spec_1.expectDiagnostics)(program, [
1009
1008
  DiagnosticMessages_1.DiagnosticMessages.duplicateClassDeclaration('source', 'NameA.NameB.Animal')
1010
1009
  ]);
1011
1010
  });
1012
1011
  it('catches namespaced class name which is the same as a global class', () => {
1013
- program.setFile({ src: `$ { rootDir }/source/main.bs`, dest: 'source/main.bs' }, `
1012
+ program.setFile('source/main.bs', `
1014
1013
  namespace NameA.NameB
1015
1014
  class Animal
1016
1015
  end class
@@ -1154,7 +1153,7 @@ describe('BrsFile BrighterScript classes', () => {
1154
1153
  });
1155
1154
  it('does not crash when parent class is missing', () => {
1156
1155
  const file = program.setFile('source/ClassB.bs', `
1157
- class ClassB extends ClassA
1156
+ class ClassB extends ClassA
1158
1157
  end class
1159
1158
  `);
1160
1159
  (0, assert_1.doesNotThrow)(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"BrsFile.Class.spec.js","sourceRoot":"","sources":["../../src/files/BrsFile.Class.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrsFile.Class.spec.js","sourceRoot":"","sources":["../../src/files/BrsFile.Class.spec.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import type { Token } from '../lexer/Token';
7
7
  import { TokenKind } from '../lexer/TokenKind';
8
8
  import { Parser, ParseMode } from '../parser/Parser';
9
9
  import type { FunctionExpression, Expression } from '../parser/Expression';
10
- import type { ClassStatement, Statement } from '../parser/Statement';
10
+ import type { ClassStatement, NamespaceStatement, Statement } from '../parser/Statement';
11
11
  import type { Program, SignatureInfoObj } from '../Program';
12
12
  import type { DependencyGraph } from '../DependencyGraph';
13
13
  import type { BscType, SymbolContainer } from '../types/BscType';
@@ -133,6 +133,12 @@ export declare class BrsFile {
133
133
  * Find the function expression at the given position.
134
134
  */
135
135
  getFunctionExpressionAtPosition(position: Position, functionExpressions?: FunctionExpression[]): FunctionExpression;
136
+ /**
137
+ * Find the NamespaceStatement enclosing the given position
138
+ * @param position
139
+ * @param functionScopes
140
+ */
141
+ getNamespaceStatementForPosition(position: Position): NamespaceStatement;
136
142
  /**
137
143
  * Get completions available at the given cursor. This aggregates all values from this file and the current scope.
138
144
  */
@@ -168,6 +174,8 @@ export declare class BrsFile {
168
174
  */
169
175
  getSymbolTypeFromToken(currentToken: Token, functionExpression: FunctionExpression, scope: Scope): TokenSymbolLookup;
170
176
  private getGlobalClassStatementCompletions;
177
+ private getNonNamespacedEnumStatementCompletions;
178
+ private getEnumMemberStatementCompletions;
171
179
  private getNamespaceCompletions;
172
180
  private getNamespaceDefinitions;
173
181
  /**