brighterscript 1.0.0-alpha.35 → 1.0.0-alpha.37
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 +30 -0
- package/bsconfig.schema.json +19 -3
- package/dist/BsConfig.d.ts +5 -0
- package/dist/DiagnosticCollection.js +6 -3
- package/dist/DiagnosticCollection.js.map +1 -1
- package/dist/DiagnosticManager.js +3 -2
- package/dist/DiagnosticManager.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +9 -1
- package/dist/DiagnosticMessages.js +8 -0
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/Program.d.ts +2 -0
- package/dist/Program.js +51 -39
- package/dist/Program.js.map +1 -1
- package/dist/SymbolTable.js +1 -0
- package/dist/SymbolTable.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +2 -3
- package/dist/astUtils/reflection.js +6 -10
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +4 -9
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +2 -3
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +18 -0
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +6 -2
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +9 -4
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +2 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +59 -6
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +322 -0
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +3 -0
- package/dist/bscPlugin/validation/ScopeValidator.js +47 -19
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +87 -0
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +1 -1
- package/dist/files/BrsFile.d.ts +0 -8
- package/dist/files/BrsFile.js +0 -49
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +385 -12
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +18 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +6 -3
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +4 -1
- package/dist/lexer/TokenKind.js +23 -6
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/parser/AstNode.d.ts +1 -2
- package/dist/parser/AstNode.js +1 -2
- package/dist/parser/AstNode.js.map +1 -1
- package/dist/parser/BrightScriptDocParser.d.ts +56 -0
- package/dist/parser/BrightScriptDocParser.js +294 -0
- package/dist/parser/BrightScriptDocParser.js.map +1 -0
- package/dist/parser/BrightScriptDocParser.spec.d.ts +1 -0
- package/dist/parser/BrightScriptDocParser.spec.js +310 -0
- package/dist/parser/BrightScriptDocParser.spec.js.map +1 -0
- package/dist/parser/BrsTranspileState.d.ts +5 -0
- package/dist/parser/BrsTranspileState.js +9 -0
- package/dist/parser/BrsTranspileState.js.map +1 -1
- package/dist/parser/Expression.d.ts +2 -6
- package/dist/parser/Expression.js +23 -8
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.d.ts +1 -2
- package/dist/parser/Parser.js +26 -12
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +79 -0
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/Statement.d.ts +10 -21
- package/dist/parser/Statement.js +38 -41
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/Statement.spec.js +2 -2
- package/dist/parser/Statement.spec.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +6 -3
- package/dist/parser/TranspileState.js +15 -1
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/parser/tests/statement/Misc.spec.js +0 -1
- package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
- package/dist/roku-types/data.json +18 -1
- package/dist/roku-types/index.d.ts +11 -0
- package/dist/util.d.ts +15 -2
- package/dist/util.js +113 -32
- package/dist/util.js.map +1 -1
- package/package.json +1 -1
|
@@ -115,8 +115,8 @@ describe('Statement', () => {
|
|
|
115
115
|
const assignment = new Statement_2.AssignmentStatement({ equals: undefined, name: ident, value: expr });
|
|
116
116
|
const block = new Statement_2.Block({ statements: [] });
|
|
117
117
|
const expression = new Statement_2.ExpressionStatement({ expression: expr });
|
|
118
|
-
const exitFor = new Statement_2.
|
|
119
|
-
const exitWhile = new Statement_2.
|
|
118
|
+
const exitFor = new Statement_2.ExitStatement({ exit: token, loopType: token });
|
|
119
|
+
const exitWhile = new Statement_2.ExitStatement({ exit: token, loopType: token });
|
|
120
120
|
const funs = new Statement_2.FunctionStatement({
|
|
121
121
|
name: ident,
|
|
122
122
|
func: new Expression_1.FunctionExpression({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Statement.spec.js","sourceRoot":"","sources":["../../src/parser/Statement.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;AAC7C,2CAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"Statement.spec.js","sourceRoot":"","sources":["../../src/parser/Statement.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { SourceNode } from 'source-map';
|
|
|
2
2
|
import type { Location } from 'vscode-languageserver';
|
|
3
3
|
import type { BsConfig } from '../BsConfig';
|
|
4
4
|
import { TokenKind } from '../lexer/TokenKind';
|
|
5
|
-
import type
|
|
5
|
+
import { type Token } from '../lexer/Token';
|
|
6
6
|
import type { RangeLike } from '../util';
|
|
7
7
|
import type { TranspileResult } from '../interfaces';
|
|
8
8
|
interface TranspileToken {
|
|
@@ -54,8 +54,11 @@ export declare class TranspileState {
|
|
|
54
54
|
* only to then be copied again for the SourceNode constructor
|
|
55
55
|
*/
|
|
56
56
|
tokenToSourceNode(token: TranspileToken): SourceNode;
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
transpileLeadingCommentsForAstNode(node: {
|
|
58
|
+
leadingTrivia?: Token[];
|
|
59
|
+
}): (string | SourceNode)[];
|
|
60
|
+
transpileLeadingComments(token: TranspileToken): (string | SourceNode)[];
|
|
61
|
+
transpileComments(tokens: TranspileToken[], prepNextLine?: boolean): Array<string | SourceNode>;
|
|
59
62
|
/**
|
|
60
63
|
* Create a SourceNode from a token, accounting for missing range and multi-line text
|
|
61
64
|
* Adds all leading trivia for the token
|
|
@@ -83,6 +83,16 @@ class TranspileState {
|
|
|
83
83
|
//range and SourceNode character are both 0-based, so no conversion necessary
|
|
84
84
|
((_b = token.location) === null || _b === void 0 ? void 0 : _b.range) ? token.location.range.start.character : null, this.getSource(token), token.text);
|
|
85
85
|
}
|
|
86
|
+
transpileLeadingCommentsForAstNode(node) {
|
|
87
|
+
var _a;
|
|
88
|
+
const leadingTrivia = (_a = node === null || node === void 0 ? void 0 : node.leadingTrivia) !== null && _a !== void 0 ? _a : [];
|
|
89
|
+
const leadingCommentsSourceNodes = this.transpileComments(leadingTrivia);
|
|
90
|
+
if (leadingCommentsSourceNodes.length > 0) {
|
|
91
|
+
// indent in preparation for next text
|
|
92
|
+
leadingCommentsSourceNodes.push(this.indent());
|
|
93
|
+
}
|
|
94
|
+
return leadingCommentsSourceNodes;
|
|
95
|
+
}
|
|
86
96
|
transpileLeadingComments(token) {
|
|
87
97
|
var _a;
|
|
88
98
|
const leadingTrivia = ((_a = token === null || token === void 0 ? void 0 : token.leadingTrivia) !== null && _a !== void 0 ? _a : []);
|
|
@@ -93,7 +103,7 @@ class TranspileState {
|
|
|
93
103
|
}
|
|
94
104
|
return leadingCommentsSourceNodes;
|
|
95
105
|
}
|
|
96
|
-
transpileComments(tokens) {
|
|
106
|
+
transpileComments(tokens, prepNextLine = false) {
|
|
97
107
|
const leadingCommentsSourceNodes = [];
|
|
98
108
|
const justComments = tokens.filter(t => t.kind === TokenKind_1.TokenKind.Comment || t.kind === TokenKind_1.TokenKind.Newline);
|
|
99
109
|
let newLinesSinceComment = 0;
|
|
@@ -118,6 +128,10 @@ class TranspileState {
|
|
|
118
128
|
}
|
|
119
129
|
transpiledCommentAlready = true;
|
|
120
130
|
}
|
|
131
|
+
//if we should prepare for the next line, add an indent (only if applicable)
|
|
132
|
+
if (prepNextLine && transpiledCommentAlready) {
|
|
133
|
+
leadingCommentsSourceNodes.push(this.indent());
|
|
134
|
+
}
|
|
121
135
|
return leadingCommentsSourceNodes;
|
|
122
136
|
}
|
|
123
137
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranspileState.js","sourceRoot":"","sources":["../../src/parser/TranspileState.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAGxC,kDAA+C;AAG/C,kCAA+B;
|
|
1
|
+
{"version":3,"file":"TranspileState.js","sourceRoot":"","sources":["../../src/parser/TranspileState.ts"],"names":[],"mappings":"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"}
|
|
@@ -109,7 +109,6 @@ describe('parser', () => {
|
|
|
109
109
|
TokenKind_1.TokenKind.EndWhile,
|
|
110
110
|
TokenKind_1.TokenKind.Eval,
|
|
111
111
|
TokenKind_1.TokenKind.Exit,
|
|
112
|
-
TokenKind_1.TokenKind.ExitFor,
|
|
113
112
|
TokenKind_1.TokenKind.ExitWhile,
|
|
114
113
|
TokenKind_1.TokenKind.False,
|
|
115
114
|
TokenKind_1.TokenKind.For,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Misc.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/statement/Misc.spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Misc.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/statement/Misc.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedDate": "2024-
|
|
2
|
+
"generatedDate": "2024-08-23T13:39:25.188Z",
|
|
3
3
|
"nodes": {
|
|
4
4
|
"animation": {
|
|
5
5
|
"description": "Extends [**AnimationBase**](https://developer.roku.com/docs/references/scenegraph/abstract-nodes/animationbase.md\n\nThe Animation node class provides animations of renderable nodes, by applying interpolator functions to the values in specified renderable node fields. For an animation to take effect, an Animation node definition must include a child field interpolator node ([FloatFieldInterpolator](https://developer.roku.com/docs/references/scenegraph/animation-nodes/floatfieldinterpolator.md\"FloatFieldInterpolator\"), [Vector2DFieldInterpolator](https://developer.roku.com/docs/references/scenegraph/animation-nodes/vector2dfieldinterpolator.md\"Vector2DFieldInterpolator\"), [ColorFieldInterpolator](https://developer.roku.com/docs/references/scenegraph/animation-nodes/colorfieldinterpolator.md\"ColorFieldInterpolator\")) definition for each renderable node field that is animated.\n\nThe Animation node class provides a simple linear interpolator function, where the animation takes place smoothly and simply from beginning to end. The Animation node class also provides several more complex interpolator functions to allow custom animation effects. For example, you can move a graphic image around the screen at differing speeds and curved trajectories at different times in the animation by specifying the appropriate function in the easeFunction field (quadratic and exponential are two examples of functions that can be specified). The interpolator functions are divided into two parts: the beginning of the animation (ease-in), and the end of the animation (ease-out). You can apply a specified interpolator function to either or both ease-in and ease-out, or specify no function for either or both (which is the linear function). You can also change the portion of the animation that is ease-in and ease-out to arbitrary fractional values for a quadratic interpolator function applied to both ease-in and ease-out.",
|
|
@@ -8064,6 +8064,23 @@
|
|
|
8064
8064
|
"name": "roInt",
|
|
8065
8065
|
"url": "https://developer.roku.com/docs/references/brightscript/components/roint.md"
|
|
8066
8066
|
},
|
|
8067
|
+
"rointrinsicdouble": {
|
|
8068
|
+
"constructors": [],
|
|
8069
|
+
"description": "roIntrinsicDouble is the object equivalent for type 'Double'.\n\nIt is a legacy object name, corresponding to the intrinsic Double object. Applications should use Double literal values and/or Double-typed variables directly.",
|
|
8070
|
+
"events": [],
|
|
8071
|
+
"interfaces": [
|
|
8072
|
+
{
|
|
8073
|
+
"name": "ifDouble",
|
|
8074
|
+
"url": "https://developer.roku.com/docs/references/brightscript/interfaces/ifdouble.md"
|
|
8075
|
+
},
|
|
8076
|
+
{
|
|
8077
|
+
"name": "ifToStr",
|
|
8078
|
+
"url": "https://developer.roku.com/docs/references/brightscript/interfaces/iftostr.md"
|
|
8079
|
+
}
|
|
8080
|
+
],
|
|
8081
|
+
"name": "roIntrinsicDouble",
|
|
8082
|
+
"url": "https://developer.roku.com/docs/references/brightscript/components/rodouble.md"
|
|
8083
|
+
},
|
|
8067
8084
|
"roinvalid": {
|
|
8068
8085
|
"constructors": [],
|
|
8069
8086
|
"description": "roInvalid is the object equivalent for intrinsic type 'Invalid'.",
|
|
@@ -2110,6 +2110,17 @@ export declare const components: {
|
|
|
2110
2110
|
name: string;
|
|
2111
2111
|
url: string;
|
|
2112
2112
|
};
|
|
2113
|
+
rointrinsicdouble: {
|
|
2114
|
+
constructors: any[];
|
|
2115
|
+
description: string;
|
|
2116
|
+
events: any[];
|
|
2117
|
+
interfaces: {
|
|
2118
|
+
name: string;
|
|
2119
|
+
url: string;
|
|
2120
|
+
}[];
|
|
2121
|
+
name: string;
|
|
2122
|
+
url: string;
|
|
2123
|
+
};
|
|
2113
2124
|
roinvalid: {
|
|
2114
2125
|
constructors: any[];
|
|
2115
2126
|
description: string;
|
package/dist/util.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ import type { SymbolTable } from './SymbolTable';
|
|
|
24
24
|
import { SymbolTypeFlag } from './SymbolTypeFlag';
|
|
25
25
|
import type { BscType } from './types/BscType';
|
|
26
26
|
import { FunctionType } from './types/FunctionType';
|
|
27
|
+
import type { NamespaceStatement } from './parser/Statement';
|
|
27
28
|
import type { BscFile } from './files/BscFile';
|
|
28
29
|
export declare class Util {
|
|
29
30
|
clearConsole(): void;
|
|
@@ -158,8 +159,15 @@ export declare class Util {
|
|
|
158
159
|
comparePosition(a: Position | undefined, b: Position): 1 | -1 | 0;
|
|
159
160
|
/**
|
|
160
161
|
* Combine all the documentation for a node - uses the AstNode's leadingTrivia property
|
|
161
|
-
|
|
162
|
-
|
|
162
|
+
* @param node the node to get the documentation for
|
|
163
|
+
* @param options extra options
|
|
164
|
+
* @param options.prettyPrint if true, will format the comment text for markdown
|
|
165
|
+
* @param options.commentTokens out Array of tokens that match the comment lines
|
|
166
|
+
*/
|
|
167
|
+
getNodeDocumentation(node: AstNode, options?: {
|
|
168
|
+
prettyPrint?: boolean;
|
|
169
|
+
commentTokens?: Token[];
|
|
170
|
+
}): string;
|
|
163
171
|
/**
|
|
164
172
|
* Prefixes a component name so it can be used as type in the symbol table, without polluting available symbols
|
|
165
173
|
*
|
|
@@ -458,6 +466,11 @@ export declare class Util {
|
|
|
458
466
|
isLeadingCommentOnSameLine(line: RangeLike, input: Token | AstNode): boolean;
|
|
459
467
|
isClassUsedAsFunction(potentialClassType: BscType, expression: Expression, options: GetTypeOptions): boolean;
|
|
460
468
|
getSpecialCaseCallExpressionReturnType(callExpr: CallExpression): BscType;
|
|
469
|
+
symbolComesFromSameNode(symbolName: string, definingNode: AstNode, symbolTable: SymbolTable): boolean;
|
|
470
|
+
isCalleeMemberOfNamespace(symbolName: string, nodeWhereUsed: AstNode, namespace?: NamespaceStatement): boolean;
|
|
471
|
+
isVariableMemberOfNamespace(symbolName: string, nodeWhereUsed: AstNode, namespace?: NamespaceStatement): boolean;
|
|
472
|
+
isVariableShadowingSomething(symbolName: string, nodeWhereUsed: AstNode): boolean;
|
|
473
|
+
chooseTypeFromCodeOrDocComment(codeType: BscType, docType: BscType, options: GetTypeOptions): BscType;
|
|
461
474
|
}
|
|
462
475
|
/**
|
|
463
476
|
* A tagged template literal function for standardizing the path. This has to be defined as standalone function since it's a tagged template literal function,
|
package/dist/util.js
CHANGED
|
@@ -223,6 +223,9 @@ class Util {
|
|
|
223
223
|
if (result.stagingDir) {
|
|
224
224
|
result.stagingDir = path.resolve(projectFileCwd, result.stagingDir);
|
|
225
225
|
}
|
|
226
|
+
if (result.sourceRoot && result.resolveSourceRoot) {
|
|
227
|
+
result.sourceRoot = path.resolve(projectFileCwd, result.sourceRoot);
|
|
228
|
+
}
|
|
226
229
|
return result;
|
|
227
230
|
}
|
|
228
231
|
}
|
|
@@ -340,6 +343,7 @@ class Util {
|
|
|
340
343
|
autoImportComponentScript: config.autoImportComponentScript === true ? true : false,
|
|
341
344
|
showDiagnosticsInConsole: config.showDiagnosticsInConsole === false ? false : true,
|
|
342
345
|
sourceRoot: config.sourceRoot ? standardizePath(config.sourceRoot) : undefined,
|
|
346
|
+
resolveSourceRoot: config.resolveSourceRoot === true ? true : false,
|
|
343
347
|
allowBrighterScriptInBrightScript: config.allowBrighterScriptInBrightScript === true ? true : false,
|
|
344
348
|
emitDefinitions: config.emitDefinitions === true ? true : false,
|
|
345
349
|
removeParameterTypes: config.removeParameterTypes === true ? true : false,
|
|
@@ -581,15 +585,21 @@ class Util {
|
|
|
581
585
|
}
|
|
582
586
|
/**
|
|
583
587
|
* Combine all the documentation for a node - uses the AstNode's leadingTrivia property
|
|
588
|
+
* @param node the node to get the documentation for
|
|
589
|
+
* @param options extra options
|
|
590
|
+
* @param options.prettyPrint if true, will format the comment text for markdown
|
|
591
|
+
* @param options.commentTokens out Array of tokens that match the comment lines
|
|
584
592
|
*/
|
|
585
|
-
getNodeDocumentation(node) {
|
|
586
|
-
var _a, _b, _c;
|
|
593
|
+
getNodeDocumentation(node, options = { prettyPrint: true }) {
|
|
594
|
+
var _a, _b, _c, _d;
|
|
587
595
|
if (!node) {
|
|
588
596
|
return '';
|
|
589
597
|
}
|
|
590
|
-
|
|
598
|
+
options = options !== null && options !== void 0 ? options : { prettyPrint: true };
|
|
599
|
+
options.commentTokens = (_a = options.commentTokens) !== null && _a !== void 0 ? _a : [];
|
|
600
|
+
const nodeTrivia = (_b = node.leadingTrivia) !== null && _b !== void 0 ? _b : [];
|
|
591
601
|
const leadingTrivia = (0, reflection_1.isStatement)(node)
|
|
592
|
-
? [...((
|
|
602
|
+
? [...((_d = (_c = node.annotations) === null || _c === void 0 ? void 0 : _c.map(anno => { var _a; return (_a = anno.leadingTrivia) !== null && _a !== void 0 ? _a : []; }).flat()) !== null && _d !== void 0 ? _d : []), ...nodeTrivia]
|
|
593
603
|
: nodeTrivia;
|
|
594
604
|
const tokens = leadingTrivia === null || leadingTrivia === void 0 ? void 0 : leadingTrivia.filter(t => t.kind === TokenKind_1.TokenKind.Newline || t.kind === TokenKind_1.TokenKind.Comment);
|
|
595
605
|
const comments = [];
|
|
@@ -616,36 +626,39 @@ class Util {
|
|
|
616
626
|
}
|
|
617
627
|
const jsDocCommentBlockLine = /(\/\*{2,}|\*{1,}\/)/i;
|
|
618
628
|
let usesjsDocCommentBlock = false;
|
|
619
|
-
if (comments.length
|
|
620
|
-
return
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
return
|
|
628
|
-
}
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
629
|
+
if (comments.length === 0) {
|
|
630
|
+
return '';
|
|
631
|
+
}
|
|
632
|
+
return comments.reverse()
|
|
633
|
+
.map(x => ({ line: x.text.replace(/^('|rem)/i, '').trim(), token: x }))
|
|
634
|
+
.filter(({ line }) => {
|
|
635
|
+
if (jsDocCommentBlockLine.exec(line)) {
|
|
636
|
+
usesjsDocCommentBlock = true;
|
|
637
|
+
return false;
|
|
638
|
+
}
|
|
639
|
+
return true;
|
|
640
|
+
}).map(({ line, token }) => {
|
|
641
|
+
if (usesjsDocCommentBlock) {
|
|
642
|
+
if (line.startsWith('*')) {
|
|
643
|
+
//remove jsDoc leading '*'
|
|
644
|
+
line = line.slice(1).trim();
|
|
634
645
|
}
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
}
|
|
642
|
-
const firstWord = line.substring(0, firstSpaceIndex);
|
|
643
|
-
return `\n_${firstWord}_ ${line.substring(firstSpaceIndex + 1)}`;
|
|
646
|
+
}
|
|
647
|
+
if (options.prettyPrint && line.startsWith('@')) {
|
|
648
|
+
// Handle jsdoc/brightscriptdoc tags specially
|
|
649
|
+
// make sure they are on their own markdown line, and add italics
|
|
650
|
+
const firstSpaceIndex = line.indexOf(' ');
|
|
651
|
+
if (firstSpaceIndex === -1) {
|
|
652
|
+
return `\n_${line}_`;
|
|
644
653
|
}
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
654
|
+
const firstWord = line.substring(0, firstSpaceIndex);
|
|
655
|
+
return `\n_${firstWord}_ ${line.substring(firstSpaceIndex + 1)}`;
|
|
656
|
+
}
|
|
657
|
+
if (options.commentTokens) {
|
|
658
|
+
options.commentTokens.push(token);
|
|
659
|
+
}
|
|
660
|
+
return line;
|
|
661
|
+
}).join('\n');
|
|
649
662
|
}
|
|
650
663
|
/**
|
|
651
664
|
* Prefixes a component name so it can be used as type in the symbol table, without polluting available symbols
|
|
@@ -2218,6 +2231,74 @@ class Util {
|
|
|
2218
2231
|
}
|
|
2219
2232
|
}
|
|
2220
2233
|
}
|
|
2234
|
+
symbolComesFromSameNode(symbolName, definingNode, symbolTable) {
|
|
2235
|
+
let nsData = {};
|
|
2236
|
+
symbolTable.getSymbolType(symbolName, { flags: 1 /* SymbolTypeFlag.runtime */, data: nsData });
|
|
2237
|
+
if (definingNode === (nsData === null || nsData === void 0 ? void 0 : nsData.definingNode)) {
|
|
2238
|
+
return true;
|
|
2239
|
+
}
|
|
2240
|
+
return false;
|
|
2241
|
+
}
|
|
2242
|
+
isCalleeMemberOfNamespace(symbolName, nodeWhereUsed, namespace) {
|
|
2243
|
+
namespace = namespace !== null && namespace !== void 0 ? namespace : nodeWhereUsed.findAncestor(reflection_1.isNamespaceStatement);
|
|
2244
|
+
if (!this.isVariableMemberOfNamespace(symbolName, nodeWhereUsed, namespace)) {
|
|
2245
|
+
return false;
|
|
2246
|
+
}
|
|
2247
|
+
const exprType = nodeWhereUsed.getType({ flags: 1 /* SymbolTypeFlag.runtime */ });
|
|
2248
|
+
if ((0, reflection_1.isCallableType)(exprType) || (0, reflection_1.isClassType)(exprType)) {
|
|
2249
|
+
return true;
|
|
2250
|
+
}
|
|
2251
|
+
return false;
|
|
2252
|
+
}
|
|
2253
|
+
isVariableMemberOfNamespace(symbolName, nodeWhereUsed, namespace) {
|
|
2254
|
+
namespace = namespace !== null && namespace !== void 0 ? namespace : nodeWhereUsed.findAncestor(reflection_1.isNamespaceStatement);
|
|
2255
|
+
if (!(0, reflection_1.isNamespaceStatement)(namespace)) {
|
|
2256
|
+
return false;
|
|
2257
|
+
}
|
|
2258
|
+
let varData = {};
|
|
2259
|
+
nodeWhereUsed.getType({ flags: 1 /* SymbolTypeFlag.runtime */, data: varData });
|
|
2260
|
+
return this.symbolComesFromSameNode(symbolName, varData === null || varData === void 0 ? void 0 : varData.definingNode, namespace.getSymbolTable());
|
|
2261
|
+
}
|
|
2262
|
+
isVariableShadowingSomething(symbolName, nodeWhereUsed) {
|
|
2263
|
+
let varData = {};
|
|
2264
|
+
let exprType = nodeWhereUsed.getType({ flags: 1 /* SymbolTypeFlag.runtime */, data: varData });
|
|
2265
|
+
if ((0, reflection_1.isReferenceType)(exprType)) {
|
|
2266
|
+
exprType = exprType.getTarget();
|
|
2267
|
+
}
|
|
2268
|
+
const namespace = nodeWhereUsed === null || nodeWhereUsed === void 0 ? void 0 : nodeWhereUsed.findAncestor(reflection_1.isNamespaceStatement);
|
|
2269
|
+
if ((0, reflection_1.isNamespaceStatement)(namespace)) {
|
|
2270
|
+
let namespaceHasSymbol = namespace.getSymbolTable().hasSymbol(symbolName, 1 /* SymbolTypeFlag.runtime */);
|
|
2271
|
+
// check if the namespace has a symbol with the same name, but different definiton
|
|
2272
|
+
if (namespaceHasSymbol && !this.symbolComesFromSameNode(symbolName, varData.definingNode, namespace.getSymbolTable())) {
|
|
2273
|
+
return true;
|
|
2274
|
+
}
|
|
2275
|
+
}
|
|
2276
|
+
const bodyTable = nodeWhereUsed.getRoot().getSymbolTable();
|
|
2277
|
+
const hasSymbolAtFileLevel = bodyTable.hasSymbol(symbolName, 1 /* SymbolTypeFlag.runtime */);
|
|
2278
|
+
if (hasSymbolAtFileLevel && !this.symbolComesFromSameNode(symbolName, varData.definingNode, bodyTable)) {
|
|
2279
|
+
return true;
|
|
2280
|
+
}
|
|
2281
|
+
return false;
|
|
2282
|
+
}
|
|
2283
|
+
chooseTypeFromCodeOrDocComment(codeType, docType, options) {
|
|
2284
|
+
let returnType;
|
|
2285
|
+
if (options.preferDocType && docType) {
|
|
2286
|
+
returnType = docType;
|
|
2287
|
+
if (options.data) {
|
|
2288
|
+
options.data.isFromDocComment = true;
|
|
2289
|
+
}
|
|
2290
|
+
}
|
|
2291
|
+
else {
|
|
2292
|
+
returnType = codeType;
|
|
2293
|
+
if (!returnType && docType) {
|
|
2294
|
+
returnType = docType;
|
|
2295
|
+
if (options.data) {
|
|
2296
|
+
options.data.isFromDocComment = true;
|
|
2297
|
+
}
|
|
2298
|
+
}
|
|
2299
|
+
}
|
|
2300
|
+
return returnType;
|
|
2301
|
+
}
|
|
2221
2302
|
}
|
|
2222
2303
|
exports.Util = Util;
|
|
2223
2304
|
/**
|