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.
Files changed (90) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/bsconfig.schema.json +19 -3
  3. package/dist/BsConfig.d.ts +5 -0
  4. package/dist/DiagnosticCollection.js +6 -3
  5. package/dist/DiagnosticCollection.js.map +1 -1
  6. package/dist/DiagnosticManager.js +3 -2
  7. package/dist/DiagnosticManager.js.map +1 -1
  8. package/dist/DiagnosticMessages.d.ts +9 -1
  9. package/dist/DiagnosticMessages.js +8 -0
  10. package/dist/DiagnosticMessages.js.map +1 -1
  11. package/dist/Program.d.ts +2 -0
  12. package/dist/Program.js +51 -39
  13. package/dist/Program.js.map +1 -1
  14. package/dist/SymbolTable.js +1 -0
  15. package/dist/SymbolTable.js.map +1 -1
  16. package/dist/astUtils/reflection.d.ts +2 -3
  17. package/dist/astUtils/reflection.js +6 -10
  18. package/dist/astUtils/reflection.js.map +1 -1
  19. package/dist/astUtils/reflection.spec.js +4 -9
  20. package/dist/astUtils/reflection.spec.js.map +1 -1
  21. package/dist/astUtils/visitors.d.ts +2 -3
  22. package/dist/astUtils/visitors.js.map +1 -1
  23. package/dist/bscPlugin/hover/HoverProcessor.spec.js +18 -0
  24. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
  25. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +6 -2
  26. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  27. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +9 -4
  28. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
  29. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +2 -0
  30. package/dist/bscPlugin/validation/BrsFileValidator.js +59 -6
  31. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  32. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +322 -0
  33. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
  34. package/dist/bscPlugin/validation/ScopeValidator.d.ts +3 -0
  35. package/dist/bscPlugin/validation/ScopeValidator.js +47 -19
  36. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  37. package/dist/bscPlugin/validation/ScopeValidator.spec.js +87 -0
  38. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
  39. package/dist/files/BrsFile.Class.spec.js +1 -1
  40. package/dist/files/BrsFile.d.ts +0 -8
  41. package/dist/files/BrsFile.js +0 -49
  42. package/dist/files/BrsFile.js.map +1 -1
  43. package/dist/files/BrsFile.spec.js +385 -12
  44. package/dist/files/BrsFile.spec.js.map +1 -1
  45. package/dist/index.d.ts +1 -0
  46. package/dist/index.js +1 -0
  47. package/dist/index.js.map +1 -1
  48. package/dist/interfaces.d.ts +18 -0
  49. package/dist/interfaces.js.map +1 -1
  50. package/dist/lexer/Lexer.spec.js +6 -3
  51. package/dist/lexer/Lexer.spec.js.map +1 -1
  52. package/dist/lexer/TokenKind.d.ts +4 -1
  53. package/dist/lexer/TokenKind.js +23 -6
  54. package/dist/lexer/TokenKind.js.map +1 -1
  55. package/dist/parser/AstNode.d.ts +1 -2
  56. package/dist/parser/AstNode.js +1 -2
  57. package/dist/parser/AstNode.js.map +1 -1
  58. package/dist/parser/BrightScriptDocParser.d.ts +56 -0
  59. package/dist/parser/BrightScriptDocParser.js +294 -0
  60. package/dist/parser/BrightScriptDocParser.js.map +1 -0
  61. package/dist/parser/BrightScriptDocParser.spec.d.ts +1 -0
  62. package/dist/parser/BrightScriptDocParser.spec.js +310 -0
  63. package/dist/parser/BrightScriptDocParser.spec.js.map +1 -0
  64. package/dist/parser/BrsTranspileState.d.ts +5 -0
  65. package/dist/parser/BrsTranspileState.js +9 -0
  66. package/dist/parser/BrsTranspileState.js.map +1 -1
  67. package/dist/parser/Expression.d.ts +2 -6
  68. package/dist/parser/Expression.js +23 -8
  69. package/dist/parser/Expression.js.map +1 -1
  70. package/dist/parser/Parser.d.ts +1 -2
  71. package/dist/parser/Parser.js +26 -12
  72. package/dist/parser/Parser.js.map +1 -1
  73. package/dist/parser/Parser.spec.js +79 -0
  74. package/dist/parser/Parser.spec.js.map +1 -1
  75. package/dist/parser/Statement.d.ts +10 -21
  76. package/dist/parser/Statement.js +38 -41
  77. package/dist/parser/Statement.js.map +1 -1
  78. package/dist/parser/Statement.spec.js +2 -2
  79. package/dist/parser/Statement.spec.js.map +1 -1
  80. package/dist/parser/TranspileState.d.ts +6 -3
  81. package/dist/parser/TranspileState.js +15 -1
  82. package/dist/parser/TranspileState.js.map +1 -1
  83. package/dist/parser/tests/statement/Misc.spec.js +0 -1
  84. package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
  85. package/dist/roku-types/data.json +18 -1
  86. package/dist/roku-types/index.d.ts +11 -0
  87. package/dist/util.d.ts +15 -2
  88. package/dist/util.js +113 -32
  89. package/dist/util.js.map +1 -1
  90. 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.ExitForStatement({ exitFor: token });
119
- const exitWhile = new Statement_2.ExitWhileStatement({ exitWhile: token });
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":"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"}
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 { Token } from '../lexer/Token';
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
- transpileLeadingComments(token: TranspileToken): any[];
58
- transpileComments(tokens: TranspileToken[]): any[];
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":"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"}
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-07-15T12:42:36.902Z",
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
- getNodeDocumentation(node: AstNode): string;
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
- const nodeTrivia = (_a = node.leadingTrivia) !== null && _a !== void 0 ? _a : [];
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
- ? [...((_c = (_b = node.annotations) === null || _b === void 0 ? void 0 : _b.map(anno => { var _a; return (_a = anno.leadingTrivia) !== null && _a !== void 0 ? _a : []; }).flat()) !== null && _c !== void 0 ? _c : []), ...nodeTrivia]
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 > 0) {
620
- return comments.reverse()
621
- .map(x => x.text.replace(/^('|rem)/i, '').trim())
622
- .filter(line => {
623
- if (jsDocCommentBlockLine.exec(line)) {
624
- usesjsDocCommentBlock = true;
625
- return false;
626
- }
627
- return true;
628
- }).map(line => {
629
- if (usesjsDocCommentBlock) {
630
- if (line.startsWith('*')) {
631
- //remove jsDoc leading '*'
632
- line = line.slice(1).trim();
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
- if (line.startsWith('@')) {
636
- // Handle jsdoc/brightscriptdoc tags specially
637
- // make sure they are on their own markdown line, and add italics
638
- const firstSpaceIndex = line.indexOf(' ');
639
- if (firstSpaceIndex === -1) {
640
- return `\n_${line}_`;
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
- return line;
646
- }).join('\n');
647
- }
648
- return '';
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
  /**