@topce/native-preview 7.0.0-dev.20260531.1 → 7.0.0-dev.20260711.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.
Files changed (198) hide show
  1. package/NOTICE.txt +436 -0
  2. package/README.md +3 -1
  3. package/bin/tsgo +2 -0
  4. package/dist/api/async/api.d.ts +405 -78
  5. package/dist/api/async/api.d.ts.map +1 -1
  6. package/dist/api/async/api.js +992 -169
  7. package/dist/api/async/api.js.map +1 -1
  8. package/dist/api/async/client.d.ts +17 -0
  9. package/dist/api/async/client.d.ts.map +1 -1
  10. package/dist/api/async/client.js +72 -1
  11. package/dist/api/async/client.js.map +1 -1
  12. package/dist/api/async/types.d.ts +148 -17
  13. package/dist/api/async/types.d.ts.map +1 -1
  14. package/dist/api/compilerOptions.d.ts +109 -0
  15. package/dist/api/compilerOptions.d.ts.map +1 -0
  16. package/dist/api/compilerOptions.js +2 -0
  17. package/dist/api/compilerOptions.js.map +1 -0
  18. package/dist/api/node/encoder.d.ts.map +1 -1
  19. package/dist/api/node/encoder.js +1 -18
  20. package/dist/api/node/encoder.js.map +1 -1
  21. package/dist/api/node/msgpack.d.ts.map +1 -1
  22. package/dist/api/node/msgpack.js +2 -1
  23. package/dist/api/node/msgpack.js.map +1 -1
  24. package/dist/api/node/node.d.ts +19 -6
  25. package/dist/api/node/node.d.ts.map +1 -1
  26. package/dist/api/node/node.generated.d.ts +11 -0
  27. package/dist/api/node/node.generated.d.ts.map +1 -1
  28. package/dist/api/node/node.generated.js +70 -49
  29. package/dist/api/node/node.generated.js.map +1 -1
  30. package/dist/api/node/node.infrastructure.d.ts +11 -0
  31. package/dist/api/node/node.infrastructure.d.ts.map +1 -1
  32. package/dist/api/node/node.infrastructure.js.map +1 -1
  33. package/dist/api/node/node.js +117 -20
  34. package/dist/api/node/node.js.map +1 -1
  35. package/dist/api/node/wtf8.d.ts +6 -0
  36. package/dist/api/node/wtf8.d.ts.map +1 -0
  37. package/dist/api/node/wtf8.js +61 -0
  38. package/dist/api/node/wtf8.js.map +1 -0
  39. package/dist/api/options.d.ts +8 -0
  40. package/dist/api/options.d.ts.map +1 -1
  41. package/dist/api/options.js.map +1 -1
  42. package/dist/api/proto.d.ts +111 -24
  43. package/dist/api/proto.d.ts.map +1 -1
  44. package/dist/api/proto.js +15 -0
  45. package/dist/api/proto.js.map +1 -1
  46. package/dist/api/sourceFileCache.d.ts +4 -4
  47. package/dist/api/sync/api.d.ts +405 -78
  48. package/dist/api/sync/api.d.ts.map +1 -1
  49. package/dist/api/sync/api.js +990 -167
  50. package/dist/api/sync/api.js.map +1 -1
  51. package/dist/api/sync/client.d.ts +17 -0
  52. package/dist/api/sync/client.d.ts.map +1 -1
  53. package/dist/api/sync/client.js +53 -1
  54. package/dist/api/sync/client.js.map +1 -1
  55. package/dist/api/sync/types.d.ts +148 -17
  56. package/dist/api/sync/types.d.ts.map +1 -1
  57. package/dist/api/syncChannel.d.ts +4 -1
  58. package/dist/api/syncChannel.d.ts.map +1 -1
  59. package/dist/api/syncChannel.js +21 -1
  60. package/dist/api/syncChannel.js.map +1 -1
  61. package/dist/api/timing.d.ts +175 -0
  62. package/dist/api/timing.d.ts.map +1 -0
  63. package/dist/api/timing.js +149 -0
  64. package/dist/api/timing.js.map +1 -0
  65. package/dist/ast/ast.d.ts +36 -2
  66. package/dist/ast/ast.d.ts.map +1 -1
  67. package/dist/ast/ast.generated.d.ts +3 -3
  68. package/dist/ast/ast.generated.d.ts.map +1 -1
  69. package/dist/ast/ast.js.map +1 -1
  70. package/dist/ast/factory.generated.d.ts +12 -4
  71. package/dist/ast/factory.generated.d.ts.map +1 -1
  72. package/dist/ast/factory.generated.js +36 -2
  73. package/dist/ast/factory.generated.js.map +1 -1
  74. package/dist/ast/index.d.ts +2 -0
  75. package/dist/ast/index.d.ts.map +1 -1
  76. package/dist/ast/index.js +2 -0
  77. package/dist/ast/index.js.map +1 -1
  78. package/dist/ast/is.d.ts +2 -1
  79. package/dist/ast/is.d.ts.map +1 -1
  80. package/dist/ast/is.generated.d.ts +2 -2
  81. package/dist/ast/is.generated.d.ts.map +1 -1
  82. package/dist/ast/is.generated.js +3 -4
  83. package/dist/ast/is.generated.js.map +1 -1
  84. package/dist/ast/is.js +8 -1
  85. package/dist/ast/is.js.map +1 -1
  86. package/dist/ast/jsdoc.d.ts +11 -0
  87. package/dist/ast/jsdoc.d.ts.map +1 -0
  88. package/dist/ast/jsdoc.js +202 -0
  89. package/dist/ast/jsdoc.js.map +1 -0
  90. package/dist/ast/utils.d.ts +12 -0
  91. package/dist/ast/utils.d.ts.map +1 -1
  92. package/dist/ast/utils.js +40 -0
  93. package/dist/ast/utils.js.map +1 -1
  94. package/dist/enums/characterCodes.enum.d.ts +1 -1
  95. package/dist/enums/characterCodes.enum.d.ts.map +1 -1
  96. package/dist/enums/characterCodes.enum.js.map +1 -1
  97. package/dist/enums/commentDirectiveType.enum.d.ts +1 -1
  98. package/dist/enums/commentDirectiveType.enum.d.ts.map +1 -1
  99. package/dist/enums/commentDirectiveType.enum.js.map +1 -1
  100. package/dist/enums/completionItemKind.d.ts +2 -0
  101. package/dist/enums/completionItemKind.d.ts.map +1 -0
  102. package/dist/enums/completionItemKind.enum.d.ts +28 -0
  103. package/dist/enums/completionItemKind.enum.d.ts.map +1 -0
  104. package/dist/enums/completionItemKind.enum.js +30 -0
  105. package/dist/enums/completionItemKind.enum.js.map +1 -0
  106. package/dist/enums/completionItemKind.js +30 -0
  107. package/dist/enums/completionItemKind.js.map +1 -0
  108. package/dist/enums/internalSymbolName.d.ts +2 -0
  109. package/dist/enums/internalSymbolName.d.ts.map +1 -0
  110. package/dist/enums/internalSymbolName.enum.d.ts +23 -0
  111. package/dist/enums/internalSymbolName.enum.d.ts.map +1 -0
  112. package/dist/enums/internalSymbolName.enum.js +25 -0
  113. package/dist/enums/internalSymbolName.enum.js.map +1 -0
  114. package/dist/enums/internalSymbolName.js +25 -0
  115. package/dist/enums/internalSymbolName.js.map +1 -0
  116. package/dist/enums/jsxEmit.d.ts +2 -0
  117. package/dist/enums/jsxEmit.d.ts.map +1 -0
  118. package/dist/enums/jsxEmit.enum.d.ts +9 -0
  119. package/dist/enums/jsxEmit.enum.d.ts.map +1 -0
  120. package/dist/enums/jsxEmit.enum.js +11 -0
  121. package/dist/enums/jsxEmit.enum.js.map +1 -0
  122. package/dist/enums/jsxEmit.js +11 -0
  123. package/dist/enums/jsxEmit.js.map +1 -0
  124. package/dist/enums/languageVariant.enum.d.ts +1 -1
  125. package/dist/enums/languageVariant.enum.d.ts.map +1 -1
  126. package/dist/enums/languageVariant.enum.js.map +1 -1
  127. package/dist/enums/moduleDetectionKind.d.ts +2 -0
  128. package/dist/enums/moduleDetectionKind.d.ts.map +1 -0
  129. package/dist/enums/moduleDetectionKind.enum.d.ts +7 -0
  130. package/dist/enums/moduleDetectionKind.enum.d.ts.map +1 -0
  131. package/dist/enums/moduleDetectionKind.enum.js +9 -0
  132. package/dist/enums/moduleDetectionKind.enum.js.map +1 -0
  133. package/dist/enums/moduleDetectionKind.js +9 -0
  134. package/dist/enums/moduleDetectionKind.js.map +1 -0
  135. package/dist/enums/moduleKind.d.ts +2 -0
  136. package/dist/enums/moduleKind.d.ts.map +1 -0
  137. package/dist/enums/moduleKind.enum.d.ts +17 -0
  138. package/dist/enums/moduleKind.enum.d.ts.map +1 -0
  139. package/dist/enums/moduleKind.enum.js +19 -0
  140. package/dist/enums/moduleKind.enum.js.map +1 -0
  141. package/dist/enums/moduleKind.js +19 -0
  142. package/dist/enums/moduleKind.js.map +1 -0
  143. package/dist/enums/moduleResolutionKind.d.ts +2 -0
  144. package/dist/enums/moduleResolutionKind.d.ts.map +1 -0
  145. package/dist/enums/moduleResolutionKind.enum.d.ts +9 -0
  146. package/dist/enums/moduleResolutionKind.enum.d.ts.map +1 -0
  147. package/dist/enums/moduleResolutionKind.enum.js +11 -0
  148. package/dist/enums/moduleResolutionKind.enum.js.map +1 -0
  149. package/dist/enums/moduleResolutionKind.js +11 -0
  150. package/dist/enums/moduleResolutionKind.js.map +1 -0
  151. package/dist/enums/newLineKind.d.ts +2 -0
  152. package/dist/enums/newLineKind.d.ts.map +1 -0
  153. package/dist/enums/newLineKind.enum.d.ts +6 -0
  154. package/dist/enums/newLineKind.enum.d.ts.map +1 -0
  155. package/dist/enums/newLineKind.enum.js +8 -0
  156. package/dist/enums/newLineKind.enum.js.map +1 -0
  157. package/dist/enums/newLineKind.js +8 -0
  158. package/dist/enums/newLineKind.js.map +1 -0
  159. package/dist/enums/nodeFlags.enum.d.ts +1 -0
  160. package/dist/enums/nodeFlags.enum.d.ts.map +1 -1
  161. package/dist/enums/nodeFlags.enum.js +1 -0
  162. package/dist/enums/nodeFlags.enum.js.map +1 -1
  163. package/dist/enums/nodeFlags.js +1 -0
  164. package/dist/enums/nodeFlags.js.map +1 -1
  165. package/dist/enums/outerExpressionKinds.enum.d.ts +5 -1
  166. package/dist/enums/outerExpressionKinds.enum.d.ts.map +1 -1
  167. package/dist/enums/outerExpressionKinds.enum.js +4 -0
  168. package/dist/enums/outerExpressionKinds.enum.js.map +1 -1
  169. package/dist/enums/outerExpressionKinds.js +4 -0
  170. package/dist/enums/outerExpressionKinds.js.map +1 -1
  171. package/dist/enums/regularExpressionFlags.enum.d.ts +1 -1
  172. package/dist/enums/regularExpressionFlags.enum.d.ts.map +1 -1
  173. package/dist/enums/regularExpressionFlags.enum.js.map +1 -1
  174. package/dist/enums/scriptKind.enum.d.ts +1 -1
  175. package/dist/enums/scriptKind.enum.d.ts.map +1 -1
  176. package/dist/enums/scriptKind.enum.js.map +1 -1
  177. package/dist/enums/scriptTarget.enum.d.ts +1 -1
  178. package/dist/enums/scriptTarget.enum.d.ts.map +1 -1
  179. package/dist/enums/scriptTarget.enum.js.map +1 -1
  180. package/dist/enums/tokenFlags.enum.d.ts +1 -1
  181. package/dist/enums/tokenFlags.enum.d.ts.map +1 -1
  182. package/dist/enums/tokenFlags.enum.js.map +1 -1
  183. package/dist/internal/utils.d.ts +23 -0
  184. package/dist/internal/utils.d.ts.map +1 -0
  185. package/dist/internal/utils.js +25 -0
  186. package/dist/internal/utils.js.map +1 -0
  187. package/lib/getExePath.js +17 -4
  188. package/{bin → lib}/tsgo.js +28 -28
  189. package/lib/version.cjs +3 -0
  190. package/lib/version.d.cts +2 -0
  191. package/package.json +20 -17
  192. package/vendor/vscode-jsonrpc/License.txt +11 -0
  193. package/vendor/vscode-jsonrpc/README.md +1 -16
  194. package/vendor/vscode-jsonrpc/lib/browser/ril.js +8 -1
  195. package/vendor/vscode-jsonrpc/lib/common/connection.js +0 -1
  196. package/vendor/vscode-jsonrpc/lib/common/events.js +0 -1
  197. package/vendor/vscode-jsonrpc/lib/node/main.js +1 -1
  198. package/vendor/vscode-jsonrpc/package.json +3 -3
@@ -1,14 +1,25 @@
1
1
  // Code generated by _scripts/generate-encoder.ts. DO NOT EDIT.
2
- import { ModifierFlags, SyntaxKind, } from "../../ast/index.js";
2
+ import { getTokenPosOfNode, ModifierFlags, SyntaxKind, } from "../../ast/index.js";
3
3
  import { modifierToFlag, NODE_CHILD_MASK, NODE_DATA_TYPE_MASK, NODE_EXTENDED_DATA_MASK, NODE_STRING_INDEX_MASK, popcount8, RemoteNodeBase, } from "./node.infrastructure.js";
4
4
  import { childProperties, KIND_NODE_LIST, NODE_DATA_TYPE_CHILDREN, NODE_DATA_TYPE_EXTENDED, NODE_DATA_TYPE_STRING, NODE_LEN, NODE_OFFSET_DATA, NODE_OFFSET_END, NODE_OFFSET_FLAGS, NODE_OFFSET_KIND, NODE_OFFSET_NEXT, NODE_OFFSET_PARENT, NODE_OFFSET_POS, } from "./protocol.js";
5
5
  export class RemoteNodeList extends Array {
6
+ // Inherited Array methods like filter/map/slice use ArraySpeciesCreate, which would
7
+ // otherwise call `new RemoteNodeList(length)` and fail. Produce a plain Array instead.
8
+ static get [Symbol.species]() {
9
+ return Array;
10
+ }
6
11
  parent;
7
12
  hasTrailingComma;
8
13
  transformFlags = 0;
9
14
  view;
10
15
  index;
11
16
  _byteIndex;
17
+ // Cursor memoizing the last resolved (logical index -> node index) so that
18
+ // sequential forward access (index loops and list[i], plus forEach/map/
19
+ // reduce/filter) resumes instead of re-walking from the head, turning an
20
+ // O(n) pass over the whole list from O(n^2) into O(n).
21
+ _cursorIndex = 0;
22
+ _cursorNodeIndex = 0;
12
23
  get pos() {
13
24
  return this.view.getUint32(this._byteIndex + NODE_OFFSET_POS, true);
14
25
  }
@@ -30,6 +41,7 @@ export class RemoteNodeList extends Array {
30
41
  this.sourceFile = sourceFile;
31
42
  this._byteIndex = offsetNodes + index * NODE_LEN;
32
43
  this.length = this.data;
44
+ this._cursorNodeIndex = index + 1;
33
45
  const length = this.length;
34
46
  for (let i = 16; i < length; i++) {
35
47
  Object.defineProperty(this, i, {
@@ -119,11 +131,26 @@ export class RemoteNodeList extends Array {
119
131
  if (index < 0) {
120
132
  index = this.length + index;
121
133
  }
122
- let next = this.index + 1;
123
- for (let i = 0; i < index; i++) {
124
- const child = this.getOrCreateChildAtNodeIndex(next);
125
- next = child.next;
134
+ // Walk the raw buffer following each node's `next` pointer instead of
135
+ // materializing every intermediate RemoteNode just to read it. Resume from
136
+ // the memoized cursor when possible so sequential forward access is O(1)
137
+ // amortized (a full in-order pass is O(n) rather than O(n^2)).
138
+ const offsetNodes = this.sourceFile._offsetNodes;
139
+ let i;
140
+ let next;
141
+ if (index >= this._cursorIndex) {
142
+ i = this._cursorIndex;
143
+ next = this._cursorNodeIndex;
126
144
  }
145
+ else {
146
+ i = 0;
147
+ next = this.index + 1;
148
+ }
149
+ for (; i < index; i++) {
150
+ next = this.view.getUint32(offsetNodes + next * NODE_LEN + NODE_OFFSET_NEXT, true);
151
+ }
152
+ this._cursorIndex = index;
153
+ this._cursorNodeIndex = next;
127
154
  return this.getOrCreateChildAtNodeIndex(next);
128
155
  }
129
156
  getOrCreateChildAtNodeIndex(index) {
@@ -133,8 +160,10 @@ export class RemoteNodeList extends Array {
133
160
  if (kind === KIND_NODE_LIST) {
134
161
  throw new Error("NodeList cannot directly contain another NodeList");
135
162
  }
136
- child = new RemoteNode(this.view, index, this.parent, this.sourceFile, this.sourceFile._offsetNodes);
137
- this.sourceFile.nodes[index] = child;
163
+ const sf = this.sourceFile;
164
+ child = new RemoteNode(this.view, index, this.parent, sf, sf._offsetNodes);
165
+ sf.nodes[index] = child;
166
+ sf._timing?.recordMaterialization();
138
167
  }
139
168
  return child;
140
169
  }
@@ -154,7 +183,7 @@ export class RemoteNode extends RemoteNodeBase {
154
183
  }
155
184
  _sourceFile;
156
185
  get id() {
157
- return `${this.pos}.${this.end}.${this.kind}.${this.sourceFile.path}`;
186
+ return `${this.index}.${this.kind}.${this.sourceFile.path}`;
158
187
  }
159
188
  constructor(view, index, parent, sourceFile, offsetNodes) {
160
189
  super(view, index, parent, offsetNodes + index * NODE_LEN);
@@ -172,9 +201,11 @@ export class RemoteNode extends RemoteNodeBase {
172
201
  return result;
173
202
  }
174
203
  }
175
- const result = child.forEachNode(visitNode);
176
- if (result) {
177
- return result;
204
+ else {
205
+ const result = child.forEachNode(visitNode);
206
+ if (result) {
207
+ return result;
208
+ }
178
209
  }
179
210
  }
180
211
  else if (child.kind !== SyntaxKind.JSDoc) {
@@ -205,6 +236,31 @@ export class RemoteNode extends RemoteNodeBase {
205
236
  getSourceFile() {
206
237
  return this.sourceFile;
207
238
  }
239
+ getStart(sourceFile, includeJsDocComment) {
240
+ return getTokenPosOfNode(this, sourceFile ?? this.getSourceFile(), includeJsDocComment);
241
+ }
242
+ getFullStart() {
243
+ return this.pos;
244
+ }
245
+ getEnd() {
246
+ return this.end;
247
+ }
248
+ getWidth(sourceFile) {
249
+ return this.getEnd() - this.getStart(sourceFile);
250
+ }
251
+ getFullWidth() {
252
+ return this.end - this.pos;
253
+ }
254
+ getLeadingTriviaWidth(sourceFile) {
255
+ return this.getStart(sourceFile) - this.pos;
256
+ }
257
+ getFullText(sourceFile) {
258
+ return (sourceFile ?? this.getSourceFile()).text.substring(this.pos, this.end);
259
+ }
260
+ getText(sourceFile) {
261
+ sourceFile ??= this.getSourceFile();
262
+ return sourceFile.text.substring(this.getStart(sourceFile), this.end);
263
+ }
208
264
  getString(index) {
209
265
  const offsetStringTableOffsets = this.sourceFile._offsetStringTableOffsets;
210
266
  const start = this.view.getUint32(offsetStringTableOffsets + index * 4, true);
@@ -216,13 +272,14 @@ export class RemoteNode extends RemoteNodeBase {
216
272
  getOrCreateChildAtNodeIndex(index) {
217
273
  let child = this.sourceFile.nodes[index];
218
274
  if (!child) {
219
- const offsetNodes = this.sourceFile._offsetNodes;
220
- const kind = this.view.getUint32(offsetNodes + index * NODE_LEN + NODE_OFFSET_KIND, true);
221
275
  const sf = this.sourceFile;
276
+ const offsetNodes = sf._offsetNodes;
277
+ const kind = this.view.getUint32(offsetNodes + index * NODE_LEN + NODE_OFFSET_KIND, true);
222
278
  child = kind === KIND_NODE_LIST
223
279
  ? new RemoteNodeList(this.view, index, this, sf, offsetNodes)
224
280
  : new RemoteNode(this.view, index, this, sf, offsetNodes);
225
281
  sf.nodes[index] = child;
282
+ sf._timing?.recordMaterialization();
226
283
  }
227
284
  return child;
228
285
  }
@@ -234,43 +291,7 @@ export class RemoteNode extends RemoteNodeBase {
234
291
  return nextNodeParent === this.index;
235
292
  }
236
293
  getNamedChild(propertyName) {
237
- // JSDocPropertyTag and JSDocParameterTag have runtime-dependent child order based on isNameFirst.
238
- // Handle them before the general childProperties lookup.
239
294
  const kind = this.kind;
240
- if (kind === SyntaxKind.JSDocPropertyTag) {
241
- let order;
242
- switch (propertyName) {
243
- case "name":
244
- order = this.isNameFirst ? 0 : 1;
245
- break;
246
- case "typeExpression":
247
- order = this.isNameFirst ? 1 : 0;
248
- break;
249
- default:
250
- return undefined;
251
- }
252
- return this.getChildAtOrder(order);
253
- }
254
- else if (kind === SyntaxKind.JSDocParameterTag) {
255
- let order;
256
- switch (propertyName) {
257
- case "tagName":
258
- order = 0;
259
- break;
260
- case "name":
261
- order = this.isNameFirst ? 1 : 2;
262
- break;
263
- case "typeExpression":
264
- order = this.isNameFirst ? 2 : 1;
265
- break;
266
- case "comment":
267
- order = 3;
268
- break;
269
- default:
270
- return undefined;
271
- }
272
- return this.getChildAtOrder(order);
273
- }
274
295
  const propertyNames = childProperties[kind];
275
296
  if (!propertyNames) {
276
297
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"node.generated.js","sourceRoot":"","sources":["../../../src/api/node/node.generated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.generated.js","sourceRoot":"","sources":["../../../src/api/node/node.generated.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { type FileReference, ModifierFlags, type Node, SyntaxKind } from "../../ast/index.ts";
2
+ import type { TimingCollector } from "../timing.ts";
2
3
  import { NODE_DATA_TYPE_CHILDREN, NODE_DATA_TYPE_EXTENDED, NODE_DATA_TYPE_STRING } from "./protocol.ts";
3
4
  export declare const popcount8: number[];
4
5
  export type NodeDataType = typeof NODE_DATA_TYPE_CHILDREN | typeof NODE_DATA_TYPE_STRING | typeof NODE_DATA_TYPE_EXTENDED;
@@ -6,6 +7,9 @@ export declare const NODE_DATA_TYPE_MASK = 3221225472;
6
7
  export declare const NODE_CHILD_MASK = 255;
7
8
  export declare const NODE_STRING_INDEX_MASK = 16777215;
8
9
  export declare const NODE_EXTENDED_DATA_MASK = 16777215;
10
+ export interface TextDecoder {
11
+ decode(input?: ArrayBufferView | ArrayBufferLike): string;
12
+ }
9
13
  export interface SourceFileInfo {
10
14
  readonly _offsetNodes: number;
11
15
  readonly _offsetStringTableOffsets: number;
@@ -15,6 +19,13 @@ export interface SourceFileInfo {
15
19
  readonly _decoder: TextDecoder;
16
20
  nodes: any[];
17
21
  readonly path?: string;
22
+ /**
23
+ * The timing collector that per-node materialization is reported into, and
24
+ * that this source file registered itself with when fetched. Present only
25
+ * when timing collection is enabled; when undefined, materialization is not
26
+ * timed and no clock is read.
27
+ */
28
+ readonly _timing?: TimingCollector | undefined;
18
29
  readFileReferences(offset: number): readonly FileReference[];
19
30
  readNodeIndexArray(offset: number): readonly Node[];
20
31
  readStringArray(offset: number): readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"node.infrastructure.d.ts","sourceRoot":"","sources":["../../../src/api/node/node.infrastructure.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,aAAa,EAClB,aAAa,EACb,KAAK,IAAI,EAET,UAAU,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAMH,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EAOxB,MAAM,eAAe,CAAC;AAMvB,eAAO,MAAM,SAAS,EAAE,MAAM,EAAqwB,CAAC;AAEpyB,MAAM,MAAM,YAAY,GAAG,OAAO,uBAAuB,GAAG,OAAO,qBAAqB,GAAG,OAAO,uBAAuB,CAAC;AAC1H,eAAO,MAAM,mBAAmB,aAAgB,CAAC;AACjD,eAAO,MAAM,eAAe,MAAgB,CAAC;AAC7C,eAAO,MAAM,sBAAsB,WAAgB,CAAC;AACpD,eAAO,MAAM,uBAAuB,WAAgB,CAAC;AAOrD,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,aAAa,EAAE,CAAC;IAC7D,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,IAAI,EAAE,CAAC;IACpD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACnD,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAMzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAE1D;AAMD,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAqC9D;AAMD,qBAAa,cAAc;IACvB,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEjB,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM;IAOzE,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,SAAS,KAAK,WAAW,IAAI,MAAM,CAElC;IAED,SAAS,KAAK,IAAI,IAAI,MAAM,CAE3B;IAED,SAAS,KAAK,QAAQ,IAAI,YAAY,CAErC;IAED,SAAS,KAAK,SAAS,IAAI,MAAM,CAKhC;IAED,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAIzD,SAAS,KAAK,UAAU,IAAI,cAAc,CAGzC;CACJ"}
1
+ {"version":3,"file":"node.infrastructure.d.ts","sourceRoot":"","sources":["../../../src/api/node/node.infrastructure.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,aAAa,EAClB,aAAa,EACb,KAAK,IAAI,EACT,UAAU,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAMH,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EAOxB,MAAM,eAAe,CAAC;AAMvB,eAAO,MAAM,SAAS,EAAE,MAAM,EAAqwB,CAAC;AAEpyB,MAAM,MAAM,YAAY,GAAG,OAAO,uBAAuB,GAAG,OAAO,qBAAqB,GAAG,OAAO,uBAAuB,CAAC;AAC1H,eAAO,MAAM,mBAAmB,aAAgB,CAAC;AACjD,eAAO,MAAM,eAAe,MAAgB,CAAC;AAC7C,eAAO,MAAM,sBAAsB,WAAgB,CAAC;AACpD,eAAO,MAAM,uBAAuB,WAAgB,CAAC;AAQrD,MAAM,WAAW,WAAW;IACxB,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,eAAe,GAAG,MAAM,CAAC;CAC7D;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC/C,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,aAAa,EAAE,CAAC;IAC7D,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,IAAI,EAAE,CAAC;IACpD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACnD,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAMzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAE1D;AAMD,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAqC9D;AAMD,qBAAa,cAAc;IACvB,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEjB,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM;IAOzE,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,SAAS,KAAK,WAAW,IAAI,MAAM,CAElC;IAED,SAAS,KAAK,IAAI,IAAI,MAAM,CAE3B;IAED,SAAS,KAAK,QAAQ,IAAI,YAAY,CAErC;IAED,SAAS,KAAK,SAAS,IAAI,MAAM,CAKhC;IAED,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAIzD,SAAS,KAAK,UAAU,IAAI,cAAc,CAGzC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"node.infrastructure.js","sourceRoot":"","sources":["../../../src/api/node/node.infrastructure.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAGb,UAAU,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAClB,MAAM,eAAe,CAAC;AAEvB,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,CAAC,MAAM,SAAS,GAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAA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"}
1
+ {"version":3,"file":"node.infrastructure.js","sourceRoot":"","sources":["../../../src/api/node/node.infrastructure.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAEb,UAAU,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACH,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAClB,MAAM,eAAe,CAAC;AAEvB,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,CAAC,MAAM,SAAS,GAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAA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"}
@@ -1,8 +1,9 @@
1
- import { NodeFlags, SyntaxKind, TokenFlags, } from "../../ast/index.js";
1
+ import { computeLineStarts, NodeFlags, SyntaxKind, TokenFlags, } from "../../ast/index.js";
2
2
  import { MsgpackReader } from "./msgpack.js";
3
3
  import { RemoteNode, RemoteNodeList, } from "./node.generated.js";
4
4
  import { NODE_EXTENDED_DATA_MASK, } from "./node.infrastructure.js";
5
- import { HEADER_OFFSET_EXTENDED_DATA, HEADER_OFFSET_NODES, HEADER_OFFSET_STRING_TABLE, HEADER_OFFSET_STRING_TABLE_OFFSETS, HEADER_OFFSET_STRUCTURED_DATA, NODE_LEN, } from "./protocol.js";
5
+ import { HEADER_OFFSET_EXTENDED_DATA, HEADER_OFFSET_NODES, HEADER_OFFSET_STRING_TABLE, HEADER_OFFSET_STRING_TABLE_OFFSETS, HEADER_OFFSET_STRUCTURED_DATA, KIND_NODE_LIST, NODE_LEN, NODE_OFFSET_KIND, NODE_OFFSET_PARENT, } from "./protocol.js";
6
+ import { Wtf8Decoder } from "./wtf8.js";
6
7
  // Re-export everything consumers need from the other two files.
7
8
  export { RemoteNode, RemoteNodeList } from "./node.generated.js";
8
9
  export { readParseOptionsKey, readSourceFileHash, RemoteNodeBase } from "./node.infrastructure.js";
@@ -18,7 +19,16 @@ export class RemoteSourceFile extends RemoteNode {
18
19
  _offsetExtendedData;
19
20
  _offsetStructuredData;
20
21
  _decoder;
21
- constructor(data, decoder) {
22
+ _timing;
23
+ _lineStarts;
24
+ _cachedText;
25
+ _cachedReferencedFiles;
26
+ _cachedTypeReferenceDirectives;
27
+ _cachedLibReferenceDirectives;
28
+ _cachedImports;
29
+ _cachedModuleAugmentations;
30
+ _cachedAmbientModuleNames;
31
+ constructor(data, decoder, timing) {
22
32
  const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
23
33
  const offsetNodes = view.getUint32(HEADER_OFFSET_NODES, true);
24
34
  super(view, 1, undefined, undefined, offsetNodes);
@@ -29,8 +39,12 @@ export class RemoteSourceFile extends RemoteNode {
29
39
  this._offsetExtendedData = view.getUint32(HEADER_OFFSET_EXTENDED_DATA, true);
30
40
  this._offsetStructuredData = view.getUint32(HEADER_OFFSET_STRUCTURED_DATA, true);
31
41
  this._decoder = decoder;
42
+ this._timing = timing;
32
43
  this.nodes = Array((view.byteLength - offsetNodes) / NODE_LEN);
33
44
  this.nodes[1] = this;
45
+ // Every node slot is materializable on demand except the nil sentinel at
46
+ // index 0 and the source-file node at index 1, which is pre-materialized.
47
+ timing?.recordSourceFileFetched(Math.max(0, this.nodes.length - 2));
34
48
  }
35
49
  readFileReferences(structuredDataOffset) {
36
50
  if (structuredDataOffset === NO_STRUCTURED_DATA) {
@@ -82,8 +96,21 @@ export class RemoteSourceFile extends RemoteNode {
82
96
  getOrCreateNodeAtIndex(index) {
83
97
  let node = this.nodes[index];
84
98
  if (!node) {
85
- node = new RemoteNode(this.view, index, this, this, this._offsetNodes);
99
+ // Resolve the real parent so that nodes looked up directly by index (e.g. via
100
+ // NodeHandle.resolve) report the correct `parent`, rather than always pointing at
101
+ // the source file. The stored parent index can refer to a synthetic NodeList
102
+ // container; skip those to mirror normal traversal, where list elements take the
103
+ // list's parent. The walk terminates at the source file, which occupies index 1
104
+ // and is already cached.
105
+ let parentIndex = this.view.getUint32(this._offsetNodes + index * NODE_LEN + NODE_OFFSET_PARENT, true);
106
+ while (parentIndex !== index &&
107
+ this.view.getUint32(this._offsetNodes + parentIndex * NODE_LEN + NODE_OFFSET_KIND, true) === KIND_NODE_LIST) {
108
+ parentIndex = this.view.getUint32(this._offsetNodes + parentIndex * NODE_LEN + NODE_OFFSET_PARENT, true);
109
+ }
110
+ const parent = parentIndex === index ? this : this.getOrCreateNodeAtIndex(parentIndex);
111
+ node = new RemoteNode(this.view, index, parent, this, this._offsetNodes);
86
112
  this.nodes[index] = node;
113
+ this._timing?.recordMaterialization();
87
114
  }
88
115
  return node;
89
116
  }
@@ -106,28 +133,52 @@ export class RemoteSourceFile extends RemoteNode {
106
133
  return this.view.getUint32(this.extendedDataOffset + 16, true);
107
134
  }
108
135
  get referencedFiles() {
136
+ if (this._cachedReferencedFiles !== undefined)
137
+ return this._cachedReferencedFiles;
109
138
  const offset = this.view.getUint32(this.extendedDataOffset + 20, true);
110
- return this.readFileReferences(offset);
139
+ const files = this.readFileReferences(offset);
140
+ this._cachedReferencedFiles = files;
141
+ return files;
111
142
  }
112
143
  get typeReferenceDirectives() {
144
+ if (this._cachedTypeReferenceDirectives !== undefined)
145
+ return this._cachedTypeReferenceDirectives;
113
146
  const offset = this.view.getUint32(this.extendedDataOffset + 24, true);
114
- return this.readFileReferences(offset);
147
+ const directives = this.readFileReferences(offset);
148
+ this._cachedTypeReferenceDirectives = directives;
149
+ return directives;
115
150
  }
116
151
  get libReferenceDirectives() {
152
+ if (this._cachedLibReferenceDirectives !== undefined)
153
+ return this._cachedLibReferenceDirectives;
117
154
  const offset = this.view.getUint32(this.extendedDataOffset + 28, true);
118
- return this.readFileReferences(offset);
155
+ const directives = this.readFileReferences(offset);
156
+ this._cachedLibReferenceDirectives = directives;
157
+ return directives;
119
158
  }
120
159
  get imports() {
160
+ if (this._cachedImports !== undefined)
161
+ return this._cachedImports;
121
162
  const offset = this.view.getUint32(this.extendedDataOffset + 32, true);
122
- return this.readNodeIndexArray(offset);
163
+ const imports = this.readNodeIndexArray(offset);
164
+ this._cachedImports = imports;
165
+ return imports;
123
166
  }
124
167
  get moduleAugmentations() {
168
+ if (this._cachedModuleAugmentations !== undefined)
169
+ return this._cachedModuleAugmentations;
125
170
  const offset = this.view.getUint32(this.extendedDataOffset + 36, true);
126
- return this.readNodeIndexArray(offset);
171
+ const moduleAugmentations = this.readNodeIndexArray(offset);
172
+ this._cachedModuleAugmentations = moduleAugmentations;
173
+ return moduleAugmentations;
127
174
  }
128
175
  get ambientModuleNames() {
176
+ if (this._cachedAmbientModuleNames !== undefined)
177
+ return this._cachedAmbientModuleNames;
129
178
  const offset = this.view.getUint32(this.extendedDataOffset + 40, true);
130
- return this.readStringArray(offset);
179
+ const names = this.readStringArray(offset);
180
+ this._cachedAmbientModuleNames = names;
181
+ return names;
131
182
  }
132
183
  get externalModuleIndicator() {
133
184
  const nodeIndex = this.view.getUint32(this.extendedDataOffset + 44, true);
@@ -140,6 +191,51 @@ export class RemoteSourceFile extends RemoteNode {
140
191
  get isDeclarationFile() {
141
192
  return (this.flags & NodeFlags.Ambient) !== 0;
142
193
  }
194
+ get text() {
195
+ if (this._cachedText !== undefined)
196
+ return this._cachedText;
197
+ const text = super.text;
198
+ this._cachedText = text;
199
+ return text;
200
+ }
201
+ // ═══ Line/character position mapping ═══
202
+ getLineStarts() {
203
+ return this._lineStarts ??= computeLineStarts(this.text ?? "");
204
+ }
205
+ getLineAndCharacterOfPosition(position) {
206
+ const lineStarts = this.getLineStarts();
207
+ const line = computeLineOfPosition(lineStarts, position);
208
+ return { line, character: position - lineStarts[line] };
209
+ }
210
+ getPositionOfLineAndCharacter(line, character) {
211
+ const lineStarts = this.getLineStarts();
212
+ if (line < 0 || line >= lineStarts.length) {
213
+ throw new Error(`Bad line number. Line: ${line}, lineStarts.length: ${lineStarts.length}`);
214
+ }
215
+ return lineStarts[line] + character;
216
+ }
217
+ }
218
+ /**
219
+ * Find the 0-based line number containing the given position via binary search.
220
+ * Assumes the first line starts at position 0 and `position` is non-negative.
221
+ */
222
+ function computeLineOfPosition(lineStarts, position) {
223
+ let low = 0;
224
+ let high = lineStarts.length - 1;
225
+ while (low <= high) {
226
+ const middle = low + ((high - low) >> 1);
227
+ const value = lineStarts[middle];
228
+ if (value < position) {
229
+ low = middle + 1;
230
+ }
231
+ else if (value > position) {
232
+ high = middle - 1;
233
+ }
234
+ else {
235
+ return middle;
236
+ }
237
+ }
238
+ return low - 1;
143
239
  }
144
240
  /**
145
241
  * Find a descendant node at a specific position with matching kind and end position.
@@ -163,20 +259,21 @@ export function findDescendant(root, pos, end, kind) {
163
259
  }
164
260
  /**
165
261
  * Parse a node handle string into its components.
166
- * Handle format: "pos.end.kind.path" where path may contain dots.
262
+ * Handle format: "index.kind.path" where path may contain dots.
167
263
  */
168
264
  export function parseNodeHandle(handle) {
169
- const dot1 = handle.indexOf(".");
170
- const dot2 = handle.indexOf(".", dot1 + 1);
171
- const dot3 = handle.indexOf(".", dot2 + 1);
172
- if (dot1 === -1 || dot2 === -1 || dot3 === -1) {
265
+ const firstDot = handle.indexOf(".");
266
+ if (firstDot === -1) {
267
+ throw new Error(`Invalid node handle: ${handle}`);
268
+ }
269
+ const secondDot = handle.indexOf(".", firstDot + 1);
270
+ if (secondDot === -1) {
173
271
  throw new Error(`Invalid node handle: ${handle}`);
174
272
  }
175
273
  return {
176
- pos: parseInt(handle.slice(0, dot1), 10),
177
- end: parseInt(handle.slice(dot1 + 1, dot2), 10),
178
- kind: parseInt(handle.slice(dot2 + 1, dot3), 10),
179
- path: handle.slice(dot3 + 1),
274
+ index: parseInt(handle.slice(0, firstDot), 10),
275
+ kind: parseInt(handle.slice(firstDot + 1, secondDot), 10),
276
+ path: handle.slice(secondDot + 1),
180
277
  };
181
278
  }
182
279
  /**
@@ -185,7 +282,7 @@ export function parseNodeHandle(handle) {
185
282
  * (e.g. from typeToTypeNode) that don't have a source file.
186
283
  */
187
284
  export function decodeNode(data) {
188
- const sf = new RemoteSourceFile(data, new TextDecoder());
285
+ const sf = new RemoteSourceFile(data, new Wtf8Decoder());
189
286
  return sf;
190
287
  }
191
288
  /**