brighterscript 0.65.0 → 0.65.2

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/dist/cli.js CHANGED
@@ -7,6 +7,14 @@ const ProgramBuilder_1 = require("./ProgramBuilder");
7
7
  const vscode_languageserver_1 = require("vscode-languageserver");
8
8
  const util_1 = require("./util");
9
9
  const LanguageServer_1 = require("./LanguageServer");
10
+ const v8Profiler = require("v8-profiler-next");
11
+ const chalk_1 = require("chalk");
12
+ const fsExtra = require("fs-extra");
13
+ const readline = require("readline");
14
+ const rl = readline.createInterface({
15
+ input: process.stdin,
16
+ output: process.stdout
17
+ });
10
18
  let options = yargs
11
19
  .usage('$0', 'BrighterScript, a superset of Roku\'s BrightScript language')
12
20
  .help('help', 'View help information about this tool.')
@@ -33,6 +41,7 @@ let options = yargs
33
41
  .option('source-root', { type: 'string', description: 'Override the root directory path where debugger should locate the source files. The location will be embedded in the source map to help debuggers locate the original source files. This only applies to files found within rootDir. This is useful when you want to preprocess files before passing them to BrighterScript, and want a debugger to open the original files.' })
34
42
  .option('watch', { type: 'boolean', defaultDescription: 'false', description: 'Watch input files.' })
35
43
  .option('require', { type: 'array', description: 'A list of modules to require() on startup. Useful for doing things like ts-node registration.' })
44
+ .option('profile', { type: 'boolean', defaultDescription: 'false', description: 'Generate a cpuprofile report during this run' })
36
45
  .option('lsp', { type: 'boolean', defaultDescription: 'false', description: 'Run brighterscript as a language server.' })
37
46
  .check(argv => {
38
47
  var _a;
@@ -49,21 +58,94 @@ let options = yargs
49
58
  return true;
50
59
  })
51
60
  .argv;
52
- if (options.lsp) {
53
- const server = new LanguageServer_1.LanguageServer();
54
- server.run();
61
+ async function main() {
62
+ try {
63
+ initProfiling();
64
+ if (options.lsp) {
65
+ const server = new LanguageServer_1.LanguageServer();
66
+ server.run();
67
+ }
68
+ else {
69
+ let builder = new ProgramBuilder_1.ProgramBuilder();
70
+ await builder.run(options);
71
+ //if this is a single run (i.e. not watch mode) and there are error diagnostics, return an error code
72
+ const hasError = !!builder.getDiagnostics().find(x => x.severity === vscode_languageserver_1.DiagnosticSeverity.Error);
73
+ if (builder.options.watch) {
74
+ //watch mode is enabled. wait for user input asking to cancel
75
+ await askQuestion('Press <enter> to terminate the watcher\n');
76
+ await finalize(1, builder);
77
+ }
78
+ else {
79
+ if (hasError) {
80
+ await finalize(1, builder);
81
+ }
82
+ else {
83
+ await finalize(0, builder);
84
+ }
85
+ }
86
+ }
87
+ }
88
+ catch (e) {
89
+ console.error(e);
90
+ await finalize(1);
91
+ }
92
+ }
93
+ function askQuestion(question) {
94
+ return new Promise((resolve, reject) => {
95
+ rl.question(question, (answer) => {
96
+ resolve(answer);
97
+ });
98
+ });
99
+ }
100
+ const profileTitle = `bsc-profile-${Date.now()}`;
101
+ let isFinalized = false;
102
+ async function finalize(exitCode, builder) {
103
+ var _a;
104
+ if (isFinalized) {
105
+ return;
106
+ }
107
+ isFinalized = true;
108
+ await finalizeProfiling();
109
+ try {
110
+ (_a = builder === null || builder === void 0 ? void 0 : builder.dispose) === null || _a === void 0 ? void 0 : _a.call(builder);
111
+ }
112
+ catch (e) {
113
+ console.error(e);
114
+ }
115
+ rl.close();
116
+ process.exit(exitCode);
55
117
  }
56
- else {
57
- let builder = new ProgramBuilder_1.ProgramBuilder();
58
- builder.run(options).then(() => {
59
- //if this is a single run (i.e. not watch mode) and there are error diagnostics, return an error code
60
- const hasError = !!builder.getDiagnostics().find(x => x.severity === vscode_languageserver_1.DiagnosticSeverity.Error);
61
- if (builder.options.watch === false && hasError) {
62
- process.exit(1);
118
+ function initProfiling() {
119
+ if (options.profile) {
120
+ // set generateType 1 to generate new format for cpuprofile parsing in vscode.
121
+ v8Profiler.setGenerateType(1);
122
+ v8Profiler.startProfiling(profileTitle, true);
123
+ }
124
+ }
125
+ function finalizeProfiling() {
126
+ return new Promise((resolve, reject) => {
127
+ try {
128
+ if (options.profile) {
129
+ const profileResultPath = path.join(process.cwd(), `${Date.now()}-${profileTitle}.cpuprofile`);
130
+ console.log(`Writing profile result to:`, chalk_1.default.green(profileResultPath));
131
+ const profile = v8Profiler.stopProfiling(profileTitle);
132
+ profile.export((error, result) => {
133
+ fsExtra.writeFileSync(profileResultPath, result);
134
+ profile.delete();
135
+ resolve();
136
+ });
137
+ }
138
+ else {
139
+ resolve();
140
+ }
141
+ }
142
+ catch (e) {
143
+ reject(e);
63
144
  }
64
- }).catch((error) => {
65
- console.error(error);
66
- process.exit(1);
67
145
  });
68
146
  }
147
+ main().catch(e => {
148
+ console.error(e);
149
+ process.exit(1);
150
+ });
69
151
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -271,6 +271,44 @@ describe('BrsFile BrighterScript classes', () => {
271
271
  end function
272
272
  `);
273
273
  });
274
+ it('does not inject a call to super if one exists', () => {
275
+ testTranspile(`
276
+ class Animal
277
+ end class
278
+ class Duck extends Animal
279
+ sub new()
280
+ print "I am a statement which does not use m"
281
+ super()
282
+ end sub
283
+ end class
284
+ `, `
285
+ function __Animal_builder()
286
+ instance = {}
287
+ instance.new = sub()
288
+ end sub
289
+ return instance
290
+ end function
291
+ function Animal()
292
+ instance = __Animal_builder()
293
+ instance.new()
294
+ return instance
295
+ end function
296
+ function __Duck_builder()
297
+ instance = __Animal_builder()
298
+ instance.super0_new = instance.new
299
+ instance.new = sub()
300
+ print "I am a statement which does not use m"
301
+ m.super0_new()
302
+ end sub
303
+ return instance
304
+ end function
305
+ function Duck()
306
+ instance = __Duck_builder()
307
+ instance.new()
308
+ return instance
309
+ end function
310
+ `);
311
+ });
274
312
  it('handles class inheritance inferred constructor calls', () => {
275
313
  testTranspile(`
276
314
  class Animal
@@ -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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"}
@@ -182,6 +182,7 @@ export interface CompilerPlugin {
182
182
  afterProgramValidate?: (program: Program) => void;
183
183
  beforeProgramTranspile?: (program: Program, entries: TranspileObj[], editor: AstEditor) => void;
184
184
  afterProgramTranspile?: (program: Program, entries: TranspileObj[], editor: AstEditor) => void;
185
+ beforeProgramDispose?: PluginHandler<BeforeProgramDisposeEvent>;
185
186
  onGetCodeActions?: PluginHandler<OnGetCodeActionsEvent>;
186
187
  /**
187
188
  * Emitted before the program starts collecting completions
@@ -343,6 +344,9 @@ export interface AfterFileTranspileEvent<TFile extends BscFile = BscFile> {
343
344
  */
344
345
  editor: Editor;
345
346
  }
347
+ export interface BeforeProgramDisposeEvent {
348
+ program: Program;
349
+ }
346
350
  export interface SemanticToken {
347
351
  range: Range;
348
352
  tokenType: SemanticTokenTypes;
@@ -1468,17 +1468,18 @@ class MethodStatement extends FunctionStatement {
1468
1468
  if (state.classStatement.getAncestors(state).length === 0) {
1469
1469
  return;
1470
1470
  }
1471
- //find the first non-comment statement
1472
- let firstStatement = this.func.body.statements.find(x => !(0, reflection_1.isCommentStatement)(x));
1473
- //if the first statement is a call to super, quit here
1474
- if (
1475
- //is a call statement
1476
- (0, reflection_1.isExpressionStatement)(firstStatement) && (0, reflection_1.isCallExpression)(firstStatement.expression) &&
1477
- //is a call to super
1478
- util_1.util.findBeginningVariableExpression(firstStatement === null || firstStatement === void 0 ? void 0 : firstStatement.expression.callee).name.text.toLowerCase() === 'super') {
1471
+ //check whether any calls to super exist
1472
+ let containsSuperCall = this.func.body.statements.findIndex((x) => {
1473
+ //is a call statement
1474
+ return (0, reflection_1.isExpressionStatement)(x) && (0, reflection_1.isCallExpression)(x.expression) &&
1475
+ //is a call to super
1476
+ util_1.util.findBeginningVariableExpression(x.expression.callee).name.text.toLowerCase() === 'super';
1477
+ }) !== -1;
1478
+ //if a call to super exists, quit here
1479
+ if (containsSuperCall) {
1479
1480
  return;
1480
1481
  }
1481
- //this is a child class, and the first statement isn't a call to super. Inject one
1482
+ //this is a child class, and the constructor doesn't contain a call to super. Inject one
1482
1483
  const superCall = new ExpressionStatement(new Expression_1.CallExpression(new Expression_1.VariableExpression({
1483
1484
  kind: TokenKind_1.TokenKind.Identifier,
1484
1485
  text: 'super',
@@ -1 +1 @@
1
- {"version":3,"file":"Statement.js","sourceRoot":"","sources":["../../src/parser/Statement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Statement.js","sourceRoot":"","sources":["../../src/parser/Statement.ts"],"names":[],"mappings":"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"}