brighterscript 0.64.2 → 0.64.3

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 CHANGED
@@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
 
8
8
 
9
+ ## [0.64.3](https://github.com/rokucommunity/brighterscript/compare/v0.64.2...v0.64.3) - 2023-04-28
10
+ ### Changed
11
+ - Improves performance in symbol table fetching ([#797](https://github.com/rokucommunity/brighterscript/pull/797))
12
+
13
+
14
+
9
15
  ## [0.64.2](https://github.com/rokucommunity/brighterscript/compare/v0.64.1...v0.64.2) - 2023-04-18
10
16
  ### Fixed
11
17
  - namespace-relative enum value false positive diagnostic ([#793](https://github.com/rokucommunity/brighterscript/pull/793))
@@ -29,7 +29,7 @@ export declare abstract class AstNode {
29
29
  */
30
30
  symbolTable?: SymbolTable;
31
31
  /**
32
- * Get the closest symbol table for this node. Should be overridden in children that directly contain a symbol table
32
+ * Get the closest symbol table for this node
33
33
  */
34
34
  getSymbolTable(): SymbolTable;
35
35
  /**
@@ -16,15 +16,15 @@ class AstNode {
16
16
  this.visitMode = visitors_2.InternalWalkMode.visitStatements;
17
17
  }
18
18
  /**
19
- * Get the closest symbol table for this node. Should be overridden in children that directly contain a symbol table
19
+ * Get the closest symbol table for this node
20
20
  */
21
21
  getSymbolTable() {
22
- var _a;
23
- if (this.symbolTable) {
24
- return this.symbolTable;
25
- }
26
- else {
27
- return (_a = this.parent) === null || _a === void 0 ? void 0 : _a.getSymbolTable();
22
+ let node = this;
23
+ while (node) {
24
+ if (node.symbolTable) {
25
+ return node.symbolTable;
26
+ }
27
+ node = node.parent;
28
28
  }
29
29
  }
30
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AstNode.js","sourceRoot":"","sources":["../../src/parser/AstNode.ts"],"names":[],"mappings":";;;AACA,mDAAgD;AAEhD,iEAAgE;AAChE,mDAAwD;AAKxD,kCAA2B;AAE3B;;GAEG;AACH,MAAsB,OAAO;IAA7B;QAQI;;WAEG;QACI,cAAS,GAAG,2BAAgB,CAAC,eAAe,CAAC;IAiFxD,CAAC;IAlEG;;OAEG;IACI,cAAc;;QACjB,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,OAAO,IAAI,CAAC,WAAW,CAAC;SAC3B;aAAM;YACH,OAAO,MAAA,IAAI,CAAC,MAAM,0CAAE,cAAc,EAAE,CAAC;SACxC;IACL,CAAC;IAED;;OAEG;IACI,YAAY,CAAkC,OAA+C;QAChG,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACvB,OAAO,IAAI,EAAE;YACT,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;gBACf,OAAO,IAAa,CAAC;aACxB;YACD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;SACtB;IACL,CAAC;IAED;;;OAGG;IACI,SAAS,CAAsC,OAA6C,EAAE,OAAqB;QACtH,MAAM,MAAM,GAAG,IAAI,+CAAuB,EAAE,CAAC;QAC7C,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACf,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,YAAY,EAAE;gBACd,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;aACxD;QACL,CAAC,gCACG,QAAQ,EAAE,mBAAQ,CAAC,iBAAiB,IACjC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,KAChB,MAAM,EAAE,MAAM,CAAC,KAAK,IACtB,CAAC;QACH,OAAO,MAAmB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAsC,QAAkB,EAAE,OAAqB;QACrG,OAAO,IAAI,CAAC,SAAS,CAAY,CAAC,IAAI,EAAE,EAAE;;YACtC,yDAAyD;YACzD,IAAI,cAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;gBAC1C,OAAO,MAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,mCAAI,IAAI,CAAC;aAC9D;QACL,CAAC,EAAE,OAAO,CAAC,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,IAAI;QACP,kDAAkD;QAClD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACjB,QAAQ,EAAE,mBAAQ,CAAC,iBAAiB;SACvC,CAAC,CAAC;IACP,CAAC;CACJ;AA5FD,0BA4FC;AAED,MAAsB,SAAU,SAAQ,OAAO;IAA/C;;QACI;;WAEG;QACI,cAAS,GAAG,2BAAgB,CAAC,eAAe,CAAC;IAKxD,CAAC;CAAA;AATD,8BASC;AAGD,gCAAgC;AAChC,MAAsB,UAAW,SAAQ,OAAO;IAAhD;;QACI;;WAEG;QACI,cAAS,GAAG,2BAAgB,CAAC,gBAAgB,CAAC;IACzD,CAAC;CAAA;AALD,gCAKC"}
1
+ {"version":3,"file":"AstNode.js","sourceRoot":"","sources":["../../src/parser/AstNode.ts"],"names":[],"mappings":";;;AACA,mDAAgD;AAEhD,iEAAgE;AAChE,mDAAwD;AAKxD,kCAA2B;AAE3B;;GAEG;AACH,MAAsB,OAAO;IAA7B;QAQI;;WAEG;QACI,cAAS,GAAG,2BAAgB,CAAC,eAAe,CAAC;IAmFxD,CAAC;IApEG;;OAEG;IACI,cAAc;QACjB,IAAI,IAAI,GAAY,IAAI,CAAC;QACzB,OAAO,IAAI,EAAE;YACT,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,OAAO,IAAI,CAAC,WAAW,CAAC;aAC3B;YACD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;SACtB;IACL,CAAC;IAED;;OAEG;IACI,YAAY,CAAkC,OAA+C;QAChG,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACvB,OAAO,IAAI,EAAE;YACT,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;gBACf,OAAO,IAAa,CAAC;aACxB;YACD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;SACtB;IACL,CAAC;IAED;;;OAGG;IACI,SAAS,CAAsC,OAA6C,EAAE,OAAqB;QACtH,MAAM,MAAM,GAAG,IAAI,+CAAuB,EAAE,CAAC;QAC7C,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACf,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,YAAY,EAAE;gBACd,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;aACxD;QACL,CAAC,gCACG,QAAQ,EAAE,mBAAQ,CAAC,iBAAiB,IACjC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,KAChB,MAAM,EAAE,MAAM,CAAC,KAAK,IACtB,CAAC;QACH,OAAO,MAAmB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAsC,QAAkB,EAAE,OAAqB;QACrG,OAAO,IAAI,CAAC,SAAS,CAAY,CAAC,IAAI,EAAE,EAAE;;YACtC,yDAAyD;YACzD,IAAI,cAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;gBAC1C,OAAO,MAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,mCAAI,IAAI,CAAC;aAC9D;QACL,CAAC,EAAE,OAAO,CAAC,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,IAAI;QACP,kDAAkD;QAClD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACjB,QAAQ,EAAE,mBAAQ,CAAC,iBAAiB;SACvC,CAAC,CAAC;IACP,CAAC;CACJ;AA9FD,0BA8FC;AAED,MAAsB,SAAU,SAAQ,OAAO;IAA/C;;QACI;;WAEG;QACI,cAAS,GAAG,2BAAgB,CAAC,eAAe,CAAC;IAKxD,CAAC;CAAA;AATD,8BASC;AAGD,gCAAgC;AAChC,MAAsB,UAAW,SAAQ,OAAO;IAAhD;;QACI;;WAEG;QACI,cAAS,GAAG,2BAAgB,CAAC,gBAAgB,CAAC;IACzD,CAAC;CAAA;AALD,gCAKC"}
package/package.json CHANGED
@@ -1,156 +1,165 @@
1
1
  {
2
- "name": "brighterscript",
3
- "version": "0.64.2",
4
- "description": "A superset of Roku's BrightScript language.",
5
- "scripts": {
6
- "preversion": "npm run build && npm run lint && npm run test",
7
- "build": "rimraf out && tsc",
8
- "watch": "rimraf out && tsc --watch",
9
- "prepublishOnly": "npm run build",
10
- "lint": "eslint \"src/**\"",
11
- "format": "tsfmt -r",
12
- "test": "nyc mocha",
13
- "test:nocover": "mocha",
14
- "test:watch": "mocha --watch",
15
- "test-related-projects": "ts-node scripts/test-related-projects.ts",
16
- "publish-coverage": "nyc report --reporter=text-lcov | coveralls",
17
- "dep-graph": "madge --image graph.svg --extensions ts ./src/parser",
18
- "docs": "ts-node scripts/compile-doc-examples.ts",
19
- "benchmark": "node ./benchmarks/index.js",
20
- "scrape-roku-docs": "ts-node scripts/scrape-roku-docs.ts",
21
- "rescrape-roku-docs": "rm scripts/.cache.json && ts-node scripts/scrape-roku-docs.ts"
22
- },
23
- "mocha": {
24
- "spec": "src/**/*.spec.ts",
25
- "require": [
26
- "source-map-support/register",
27
- "ts-node/register"
28
- ],
29
- "fullTrace": true,
30
- "timeout": 2000,
31
- "watchExtensions": [
32
- "ts"
33
- ]
34
- },
35
- "files": [
36
- "dist/**/!(*.spec.*)*",
37
- "bslib.brs",
38
- "bsconfig.schema.json"
2
+ "name": "brighterscript",
3
+ "version": "0.64.3",
4
+ "description": "A superset of Roku's BrightScript language.",
5
+ "scripts": {
6
+ "preversion": "npm run build && npm run lint && npm run test",
7
+ "build": "rimraf out && tsc",
8
+ "watch": "rimraf out && tsc --watch",
9
+ "prepublishOnly": "npm run build",
10
+ "lint": "eslint \"src/**\"",
11
+ "format": "tsfmt -r",
12
+ "test": "nyc mocha",
13
+ "test:nocover": "mocha",
14
+ "test:watch": "mocha --watch",
15
+ "test-related-projects": "ts-node scripts/test-related-projects.ts",
16
+ "publish-coverage": "nyc report --reporter=text-lcov | coveralls",
17
+ "dep-graph": "madge --image graph.svg --extensions ts ./src/parser",
18
+ "docs": "ts-node scripts/compile-doc-examples.ts",
19
+ "benchmark": "cd ./benchmarks && ts-node ./index.ts",
20
+ "scrape-roku-docs": "ts-node scripts/scrape-roku-docs.ts",
21
+ "rescrape-roku-docs": "rm scripts/.cache.json && ts-node scripts/scrape-roku-docs.ts"
22
+ },
23
+ "mocha": {
24
+ "spec": "src/**/*.spec.ts",
25
+ "require": [
26
+ "source-map-support/register",
27
+ "ts-node/register"
39
28
  ],
40
- "main": "dist/index.js",
41
- "typings": "dist/index.d.ts",
42
- "bin": {
43
- "bsc": "dist/cli.js"
44
- },
45
- "repository": {
46
- "type": "git",
47
- "url": "https://github.com/rokucommunity/brighterscript.git"
48
- },
49
- "author": "",
50
- "license": "MIT",
51
- "nyc": {
52
- "include": [
53
- "src/**/*.ts",
54
- "!src/**/*.spec.ts"
55
- ],
56
- "extension": [
57
- ".ts"
58
- ],
59
- "require": [
60
- "ts-node/register",
61
- "source-map-support/register"
62
- ],
63
- "reporter": [
64
- "text-summary",
65
- "html"
66
- ],
67
- "sourceMap": true,
68
- "instrument": true,
69
- "check-coverage": false,
70
- "lines": 100,
71
- "statements": 100,
72
- "functions": 100,
73
- "branches": 100
74
- },
75
- "devDependencies": {
76
- "@guyplusplus/turndown-plugin-gfm": "^1.0.7",
77
- "@types/benchmark": "^1.0.31",
78
- "@types/chai": "^4.1.2",
79
- "@types/command-line-args": "^5.0.0",
80
- "@types/command-line-usage": "^5.0.1",
81
- "@types/debounce-promise": "^3.1.1",
82
- "@types/fs-extra": "^8.0.0",
83
- "@types/marked": "^4.0.3",
84
- "@types/mocha": "^5.2.5",
85
- "@types/node": "^11.9.0",
86
- "@types/require-relative": "^0.8.0",
87
- "@types/sinon": "^9.0.4",
88
- "@types/turndown": "^5.0.1",
89
- "@types/yargs": "^15.0.5",
90
- "@typescript-eslint/eslint-plugin": "^5.27.0",
91
- "@typescript-eslint/parser": "^5.27.0",
92
- "benchmark": "^2.1.4",
93
- "chai": "^4.2.0",
94
- "chai-files": "^1.4.0",
95
- "coveralls": "^3.0.0",
96
- "deepmerge": "^4.2.2",
97
- "eslint": "^8.16.0",
98
- "eslint-plugin-jsdoc": "^39.3.6",
99
- "eslint-plugin-no-only-tests": "2.6.0",
100
- "he": "^1.2.0",
101
- "madge": "^4.0.2",
102
- "marked": "^4.0.12",
103
- "mocha": "^9.1.3",
104
- "node-html-markdown": "^1.2.0",
105
- "node-run-cmd": "^1.0.1",
106
- "nyc": "^15.1.0",
107
- "object.pick": "^1.3.0",
108
- "phin": "^3.5.1",
109
- "rimraf": "^2.6.2",
110
- "semver-extra": "^3.0.0",
111
- "sinon": "^9.0.2",
112
- "source-map-support": "^0.5.13",
113
- "sync-request": "^6.1.0",
114
- "testdouble": "^3.5.2",
115
- "thenby": "^1.3.4",
116
- "ts-node": "8.9.1",
117
- "turndown": "^7.1.1",
118
- "turndown-plugin-gfm": "^1.0.2",
119
- "typescript": "^4.7.2",
120
- "typescript-formatter": "^7.2.2",
121
- "undent": "^0.1.0",
122
- "vscode-jsonrpc": "^5.0.1"
123
- },
124
- "dependencies": {
125
- "@rokucommunity/bslib": "^0.1.1",
126
- "@xml-tools/parser": "^1.0.7",
127
- "array-flat-polyfill": "^1.0.1",
128
- "chalk": "^2.4.2",
129
- "chevrotain": "^7.0.1",
130
- "chokidar": "^3.5.1",
131
- "clear": "^0.1.0",
132
- "cross-platform-clear-console": "^2.3.0",
133
- "debounce-promise": "^3.1.0",
134
- "eventemitter3": "^4.0.0",
135
- "fast-glob": "^3.2.11",
136
- "file-url": "^3.0.0",
137
- "fs-extra": "^8.0.0",
138
- "jsonc-parser": "^2.3.0",
139
- "long": "^3.2.0",
140
- "luxon": "^2.5.2",
141
- "minimatch": "^3.0.4",
142
- "moment": "^2.23.0",
143
- "p-settle": "^2.1.0",
144
- "parse-ms": "^2.1.0",
145
- "require-relative": "^0.8.7",
146
- "roku-deploy": "^3.10.1",
147
- "serialize-error": "^7.0.1",
148
- "source-map": "^0.7.4",
149
- "vscode-languageserver": "7.0.0",
150
- "vscode-languageserver-protocol": "3.16.0",
151
- "vscode-languageserver-textdocument": "^1.0.1",
152
- "vscode-uri": "^2.1.1",
153
- "xml2js": "^0.5.0",
154
- "yargs": "^16.2.0"
155
- }
29
+ "fullTrace": true,
30
+ "timeout": 2000,
31
+ "watchExtensions": [
32
+ "ts"
33
+ ]
34
+ },
35
+ "files": [
36
+ "dist/**/!(*.spec.*)*",
37
+ "bslib.brs",
38
+ "bsconfig.schema.json"
39
+ ],
40
+ "main": "dist/index.js",
41
+ "typings": "dist/index.d.ts",
42
+ "bin": {
43
+ "bsc": "dist/cli.js"
44
+ },
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "git+https://github.com/rokucommunity/brighterscript.git"
48
+ },
49
+ "author": "",
50
+ "license": "MIT",
51
+ "nyc": {
52
+ "include": [
53
+ "src/**/*.ts",
54
+ "!src/**/*.spec.ts"
55
+ ],
56
+ "extension": [
57
+ ".ts"
58
+ ],
59
+ "require": [
60
+ "ts-node/register",
61
+ "source-map-support/register"
62
+ ],
63
+ "reporter": [
64
+ "text-summary",
65
+ "html"
66
+ ],
67
+ "sourceMap": true,
68
+ "instrument": true,
69
+ "check-coverage": false,
70
+ "lines": 100,
71
+ "statements": 100,
72
+ "functions": 100,
73
+ "branches": 100
74
+ },
75
+ "devDependencies": {
76
+ "@guyplusplus/turndown-plugin-gfm": "^1.0.7",
77
+ "@types/benchmark": "^1.0.31",
78
+ "@types/chai": "^4.1.2",
79
+ "@types/command-line-args": "^5.0.0",
80
+ "@types/command-line-usage": "^5.0.1",
81
+ "@types/debounce-promise": "^3.1.1",
82
+ "@types/fs-extra": "^8.0.0",
83
+ "@types/marked": "^4.0.3",
84
+ "@types/mocha": "^5.2.5",
85
+ "@types/node": "^11.9.0",
86
+ "@types/require-relative": "^0.8.0",
87
+ "@types/sinon": "^9.0.4",
88
+ "@types/turndown": "^5.0.1",
89
+ "@types/yargs": "^15.0.5",
90
+ "@typescript-eslint/eslint-plugin": "^5.27.0",
91
+ "@typescript-eslint/parser": "^5.27.0",
92
+ "benchmark": "^2.1.4",
93
+ "chai": "^4.2.0",
94
+ "chai-files": "^1.4.0",
95
+ "coveralls": "^3.0.0",
96
+ "deepmerge": "^4.2.2",
97
+ "eslint": "^8.16.0",
98
+ "eslint-plugin-jsdoc": "^39.3.6",
99
+ "eslint-plugin-no-only-tests": "2.6.0",
100
+ "he": "^1.2.0",
101
+ "madge": "^4.0.2",
102
+ "marked": "^4.0.12",
103
+ "mocha": "^9.1.3",
104
+ "node-html-markdown": "^1.2.0",
105
+ "node-run-cmd": "^1.0.1",
106
+ "nyc": "^15.1.0",
107
+ "object.pick": "^1.3.0",
108
+ "phin": "^3.5.1",
109
+ "rimraf": "^2.7.1",
110
+ "semver-extra": "^3.0.0",
111
+ "sinon": "^9.0.2",
112
+ "source-map-support": "^0.5.13",
113
+ "sync-request": "^6.1.0",
114
+ "testdouble": "^3.5.2",
115
+ "thenby": "^1.3.4",
116
+ "ts-node": "8.9.1",
117
+ "turndown": "^7.1.1",
118
+ "turndown-plugin-gfm": "^1.0.2",
119
+ "typescript": "^4.7.2",
120
+ "typescript-formatter": "^7.2.2",
121
+ "undent": "^0.1.0",
122
+ "vscode-jsonrpc": "^5.0.1"
123
+ },
124
+ "dependencies": {
125
+ "@rokucommunity/bslib": "^0.1.1",
126
+ "@xml-tools/parser": "^1.0.7",
127
+ "array-flat-polyfill": "^1.0.1",
128
+ "chalk": "^2.4.2",
129
+ "chevrotain": "^7.0.1",
130
+ "chokidar": "^3.5.1",
131
+ "clear": "^0.1.0",
132
+ "cross-platform-clear-console": "^2.3.0",
133
+ "debounce-promise": "^3.1.0",
134
+ "eventemitter3": "^4.0.0",
135
+ "fast-glob": "^3.2.12",
136
+ "file-url": "^3.0.0",
137
+ "fs-extra": "^8.1.0",
138
+ "jsonc-parser": "^2.3.0",
139
+ "long": "^3.2.0",
140
+ "luxon": "^2.5.2",
141
+ "minimatch": "^3.0.4",
142
+ "moment": "^2.23.0",
143
+ "p-settle": "^2.1.0",
144
+ "parse-ms": "^2.1.0",
145
+ "readline": "^1.3.0",
146
+ "require-relative": "^0.8.7",
147
+ "roku-deploy": "^3.10.1",
148
+ "serialize-error": "^7.0.1",
149
+ "source-map": "^0.7.4",
150
+ "vscode-languageserver": "7.0.0",
151
+ "vscode-languageserver-protocol": "3.16.0",
152
+ "vscode-languageserver-textdocument": "^1.0.1",
153
+ "vscode-uri": "^2.1.1",
154
+ "xml2js": "^0.5.0",
155
+ "yargs": "^16.2.0"
156
+ },
157
+ "bugs": {
158
+ "url": "https://github.com/rokucommunity/brighterscript/issues"
159
+ },
160
+ "homepage": "https://github.com/rokucommunity/brighterscript#readme",
161
+ "directories": {
162
+ "doc": "docs"
163
+ },
164
+ "keywords": []
156
165
  }