@hydranium/core 1.0.0-next.348 → 1.0.0-next.350
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/lib/langium/document-builder/document-builder.d.ts +32 -5
- package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
- package/lib/langium/document-builder/document-builder.js +42 -1
- package/lib/langium/document-builder/document-builder.js.map +1 -1
- package/lib/testing/stub-document-builder.d.ts.map +1 -1
- package/lib/testing/stub-document-builder.js.map +1 -1
- package/package.json +5 -5
- package/src/langium/document-builder/document-builder.ts +66 -5
- package/src/testing/stub-document-builder.ts +10 -5
|
@@ -104,6 +104,16 @@ export interface BuildEndedEvent {
|
|
|
104
104
|
*/
|
|
105
105
|
readonly completed: boolean;
|
|
106
106
|
}
|
|
107
|
+
/** Registered through {@link HydraniumDocumentBuilder.onBuildEnded}. */
|
|
108
|
+
export type BuildEndedListener = (event: BuildEndedEvent) => void;
|
|
109
|
+
/** Registered through {@link HydraniumDocumentBuilder.onDocumentPhaseDelivered}. */
|
|
110
|
+
export type DocumentPhaseDeliveredListener = (document: LangiumDocument, version: number) => void;
|
|
111
|
+
/** A wait {@link HydraniumDocumentBuilder.awaitBuilderState} holds until the builder reaches its state. */
|
|
112
|
+
export interface BuilderStateWait {
|
|
113
|
+
readonly state: DocumentState;
|
|
114
|
+
/** Settles the wait and stops holding it. */
|
|
115
|
+
readonly resolve: () => void;
|
|
116
|
+
}
|
|
107
117
|
/**
|
|
108
118
|
* One locked build {@link HydraniumDocumentBuilder.scheduleUpdate} queued,
|
|
109
119
|
* which later requests merge into while it waits and join while it runs.
|
|
@@ -132,7 +142,9 @@ export interface ScheduledUpdate {
|
|
|
132
142
|
*
|
|
133
143
|
* - **Bug-fixes** (always on): an {@link awaitDocumentState} that waits where
|
|
134
144
|
* the default rejects (re-queuing, under the workspace lock, a document no
|
|
135
|
-
* build will carry),
|
|
145
|
+
* build will carry), an {@link awaitBuilderState} that resolves once a
|
|
146
|
+
* phase ends, whether armed during its notification or on a phase no
|
|
147
|
+
* document reached, a {@link prepareBuild} that keeps a cancelled
|
|
136
148
|
* non-validating build from suppressing validation, and a
|
|
137
149
|
* {@link shouldRelink} that never judges a document unaffected on an index
|
|
138
150
|
* that does not describe it.
|
|
@@ -212,9 +224,11 @@ export declare class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
212
224
|
*/
|
|
213
225
|
protected lastCancelledTraceId?: number;
|
|
214
226
|
/** Registered through {@link onDocumentPhaseDelivered}, by phase. */
|
|
215
|
-
protected readonly documentPhaseDeliveredListeners: MultiMap<DocumentState,
|
|
227
|
+
protected readonly documentPhaseDeliveredListeners: MultiMap<DocumentState, DocumentPhaseDeliveredListener>;
|
|
216
228
|
/** Registered through {@link onBuildEnded}. */
|
|
217
|
-
protected readonly buildEndedListeners: Set<
|
|
229
|
+
protected readonly buildEndedListeners: Set<BuildEndedListener>;
|
|
230
|
+
/** Held by {@link awaitBuilderState} until {@link runCancelable} sees their state reached. */
|
|
231
|
+
protected readonly builderStateWaits: Set<BuilderStateWait>;
|
|
218
232
|
/** Set while the lock read {@link checkWaitsOnceDrained} queued has not run. */
|
|
219
233
|
protected drainCheckQueued: boolean;
|
|
220
234
|
/** Resolved per call: the sync service reaches this builder. */
|
|
@@ -245,7 +259,7 @@ export declare class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
245
259
|
* late: a cancel after this document but before the batch ends skips it,
|
|
246
260
|
* although every listener of this document ran.
|
|
247
261
|
*/
|
|
248
|
-
onDocumentPhaseDelivered(state: DocumentState, listener:
|
|
262
|
+
onDocumentPhaseDelivered(state: DocumentState, listener: DocumentPhaseDeliveredListener): Disposable;
|
|
249
263
|
/**
|
|
250
264
|
* Call `listener` when a build ends: once it has run every phase, which
|
|
251
265
|
* Langium's `onBuildPhase` cannot tell for a build that validates nothing,
|
|
@@ -256,7 +270,7 @@ export declare class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
256
270
|
* that waits for the drain, so it must not wait on a build. One that
|
|
257
271
|
* throws is logged and skipped; the build and the other listeners go on.
|
|
258
272
|
*/
|
|
259
|
-
onBuildEnded(listener:
|
|
273
|
+
onBuildEnded(listener: BuildEndedListener): Disposable;
|
|
260
274
|
/** Tell every {@link buildEndedListeners} entry, each in isolation. */
|
|
261
275
|
protected notifyBuildEnded(event: BuildEndedEvent): void;
|
|
262
276
|
/**
|
|
@@ -362,6 +376,19 @@ export declare class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
362
376
|
* is why {@link awaitDocumentState} asks again then.
|
|
363
377
|
*/
|
|
364
378
|
protected isOrphaned(document: LangiumDocument, state: DocumentState): boolean;
|
|
379
|
+
/**
|
|
380
|
+
* Resolve once `currentState` reaches `state`, which {@link runCancelable}
|
|
381
|
+
* checks after every phase.
|
|
382
|
+
*
|
|
383
|
+
* Langium's waits for `onBuildPhase(state)`, which never fires for a wait
|
|
384
|
+
* armed while that phase notifies its listeners: the notification calls a
|
|
385
|
+
* copy of the listener list taken before it yields to the event loop, and
|
|
386
|
+
* `currentState` is raised only after it. Nor does it fire for a phase no
|
|
387
|
+
* document reached. Either way the wait never ends, and neither does the
|
|
388
|
+
* request Langium holds on it.
|
|
389
|
+
*/
|
|
390
|
+
protected awaitBuilderState(state: DocumentState, cancelToken: CancellationToken): Promise<void>;
|
|
391
|
+
protected runCancelable(documents: LangiumDocument[], targetState: DocumentState, cancelToken: CancellationToken, callback: (document: LangiumDocument) => unknown): Promise<void>;
|
|
365
392
|
/**
|
|
366
393
|
* Schedule a build for a document no in-flight build will advance, through
|
|
367
394
|
* `VersionSyncService.requestRecoveryBuild`: from a {@link WorkspaceLock} read, so
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-builder.d.ts","sourceRoot":"","sources":["../../../src/langium/document-builder/document-builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"document-builder.d.ts","sourceRoot":"","sources":["../../../src/langium/document-builder/document-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,7 +63,9 @@ function sameClients(taken, current) {
|
|
|
63
63
|
*
|
|
64
64
|
* - **Bug-fixes** (always on): an {@link awaitDocumentState} that waits where
|
|
65
65
|
* the default rejects (re-queuing, under the workspace lock, a document no
|
|
66
|
-
* build will carry),
|
|
66
|
+
* build will carry), an {@link awaitBuilderState} that resolves once a
|
|
67
|
+
* phase ends, whether armed during its notification or on a phase no
|
|
68
|
+
* document reached, a {@link prepareBuild} that keeps a cancelled
|
|
67
69
|
* non-validating build from suppressing validation, and a
|
|
68
70
|
* {@link shouldRelink} that never judges a document unaffected on an index
|
|
69
71
|
* that does not describe it.
|
|
@@ -146,6 +148,8 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
146
148
|
documentPhaseDeliveredListeners = new MultiMap();
|
|
147
149
|
/** Registered through {@link onBuildEnded}. */
|
|
148
150
|
buildEndedListeners = new Set();
|
|
151
|
+
/** Held by {@link awaitBuilderState} until {@link runCancelable} sees their state reached. */
|
|
152
|
+
builderStateWaits = new Set();
|
|
149
153
|
/** Set while the lock read {@link checkWaitsOnceDrained} queued has not run. */
|
|
150
154
|
drainCheckQueued = false;
|
|
151
155
|
/** Resolved per call: the sync service reaches this builder. */
|
|
@@ -462,6 +466,43 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
462
466
|
isOrphaned(document, state) {
|
|
463
467
|
return document.state < state && this.currentState >= state;
|
|
464
468
|
}
|
|
469
|
+
/**
|
|
470
|
+
* Resolve once `currentState` reaches `state`, which {@link runCancelable}
|
|
471
|
+
* checks after every phase.
|
|
472
|
+
*
|
|
473
|
+
* Langium's waits for `onBuildPhase(state)`, which never fires for a wait
|
|
474
|
+
* armed while that phase notifies its listeners: the notification calls a
|
|
475
|
+
* copy of the listener list taken before it yields to the event loop, and
|
|
476
|
+
* `currentState` is raised only after it. Nor does it fire for a phase no
|
|
477
|
+
* document reached. Either way the wait never ends, and neither does the
|
|
478
|
+
* request Langium holds on it.
|
|
479
|
+
*/
|
|
480
|
+
awaitBuilderState(state, cancelToken) {
|
|
481
|
+
if (this.currentState >= state) {
|
|
482
|
+
return Promise.resolve();
|
|
483
|
+
}
|
|
484
|
+
if (cancelToken.isCancellationRequested) {
|
|
485
|
+
return Promise.reject(OperationCancelled);
|
|
486
|
+
}
|
|
487
|
+
return new Promise((resolve, reject) => {
|
|
488
|
+
const settle = (outcome) => {
|
|
489
|
+
this.builderStateWaits.delete(wait);
|
|
490
|
+
cancelled.dispose();
|
|
491
|
+
outcome();
|
|
492
|
+
};
|
|
493
|
+
const wait = { state, resolve: () => settle(resolve) };
|
|
494
|
+
const cancelled = cancelToken.onCancellationRequested(() => settle(() => reject(OperationCancelled)));
|
|
495
|
+
this.builderStateWaits.add(wait);
|
|
496
|
+
});
|
|
497
|
+
}
|
|
498
|
+
async runCancelable(documents, targetState, cancelToken, callback) {
|
|
499
|
+
await super.runCancelable(documents, targetState, cancelToken, callback);
|
|
500
|
+
for (const wait of this.builderStateWaits) {
|
|
501
|
+
if (this.currentState >= wait.state) {
|
|
502
|
+
wait.resolve();
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
}
|
|
465
506
|
/**
|
|
466
507
|
* Schedule a build for a document no in-flight build will advance, through
|
|
467
508
|
* `VersionSyncService.requestRecoveryBuild`: from a {@link WorkspaceLock} read, so
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-builder.js","sourceRoot":"","sources":["../../../src/langium/document-builder/document-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"document-builder.js","sourceRoot":"","sources":["../../../src/langium/document-builder/document-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stub-document-builder.d.ts","sourceRoot":"","sources":["../../src/testing/stub-document-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,eAAe,EAGpB,KAAK,aAAa,EAGlB,KAAK,eAAe,EACpB,KAAK,GAAG,EACR,KAAK,aAAa,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAc,MAAM,uBAAuB,CAAC;AAC3E,OAAO,
|
|
1
|
+
{"version":3,"file":"stub-document-builder.d.ts","sourceRoot":"","sources":["../../src/testing/stub-document-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,eAAe,EAGpB,KAAK,aAAa,EAGlB,KAAK,eAAe,EACpB,KAAK,GAAG,EACR,KAAK,aAAa,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAc,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EACJ,KAAK,eAAe,EAGpB,wBAAwB,EAC1B,MAAM,iDAAiD,CAAC;AAEzD,iEAAiE;AACjE,MAAM,WAAW,mBAAmB,CAAC,KAAK,SAAS,OAAO,EAAE;IACzD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAC/B;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI,CAAC;IAChB,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,mBACd,SACG,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,iBAAiB,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,GAAG,cAAc,GAAG,oBAAoB,CAAC,EACnI,IAAI,CAAC,wBAAwB,EAAE,0BAA0B,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,cAAc,CAAC;IACrH;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IACrE,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,aAAa,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9F;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClG,+DAA+D;IAC/D,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACnD;;;;;;OAMG;IACH,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtG;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7C;;;OAGG;IACH,iBAAiB,IAAI,iBAAiB,CAAC;IACvC,2EAA2E;IAC3E,KAAK,IAAI,IAAI,CAAC;CAChB;AAqBD;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,mBAAmB,CAwM1F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stub-document-builder.js","sourceRoot":"","sources":["../../src/testing/stub-document-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAMJ,oBAAoB,EAItB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAA0B,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,
|
|
1
|
+
{"version":3,"file":"stub-document-builder.js","sourceRoot":"","sources":["../../src/testing/stub-document-builder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hydranium/core",
|
|
3
|
-
"version": "1.0.0-next.
|
|
3
|
+
"version": "1.0.0-next.350",
|
|
4
4
|
"description": "Foundational runtime of the hydranium framework: AST coordination layer (services, integrity, AST extension, serialization, multi-client documents) plus the LSP textual head at the /lsp subpath. Consumed by protocol-head packages (@hydranium/data-server, @hydranium/glsp-server).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ast",
|
|
@@ -87,8 +87,8 @@
|
|
|
87
87
|
"diff": "^5.2.0"
|
|
88
88
|
},
|
|
89
89
|
"devDependencies": {
|
|
90
|
-
"@hydranium/langium": "1.0.0-next.
|
|
91
|
-
"@hydranium/protocol": "1.0.0-next.
|
|
90
|
+
"@hydranium/langium": "1.0.0-next.350",
|
|
91
|
+
"@hydranium/protocol": "1.0.0-next.350",
|
|
92
92
|
"@playwright/test": "^1.55.0",
|
|
93
93
|
"@types/diff": "^5.2.0",
|
|
94
94
|
"fake-indexeddb": "^6.2.5",
|
|
@@ -101,8 +101,8 @@
|
|
|
101
101
|
"vscode-languageserver-types": "3.18.0"
|
|
102
102
|
},
|
|
103
103
|
"peerDependencies": {
|
|
104
|
-
"@hydranium/langium": "1.0.0-next.
|
|
105
|
-
"@hydranium/protocol": "1.0.0-next.
|
|
104
|
+
"@hydranium/langium": "1.0.0-next.350",
|
|
105
|
+
"@hydranium/protocol": "1.0.0-next.350",
|
|
106
106
|
"@playwright/test": "^1.40.0",
|
|
107
107
|
"vscode-jsonrpc": "^9.0.0",
|
|
108
108
|
"vscode-languageserver": "~10.0.1",
|
|
@@ -157,6 +157,19 @@ export interface BuildEndedEvent {
|
|
|
157
157
|
readonly completed: boolean;
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
+
/** Registered through {@link HydraniumDocumentBuilder.onBuildEnded}. */
|
|
161
|
+
export type BuildEndedListener = (event: BuildEndedEvent) => void;
|
|
162
|
+
|
|
163
|
+
/** Registered through {@link HydraniumDocumentBuilder.onDocumentPhaseDelivered}. */
|
|
164
|
+
export type DocumentPhaseDeliveredListener = (document: LangiumDocument, version: number) => void;
|
|
165
|
+
|
|
166
|
+
/** A wait {@link HydraniumDocumentBuilder.awaitBuilderState} holds until the builder reaches its state. */
|
|
167
|
+
export interface BuilderStateWait {
|
|
168
|
+
readonly state: DocumentState;
|
|
169
|
+
/** Settles the wait and stops holding it. */
|
|
170
|
+
readonly resolve: () => void;
|
|
171
|
+
}
|
|
172
|
+
|
|
160
173
|
/**
|
|
161
174
|
* One locked build {@link HydraniumDocumentBuilder.scheduleUpdate} queued,
|
|
162
175
|
* which later requests merge into while it waits and join while it runs.
|
|
@@ -198,7 +211,9 @@ function sameClients(taken: readonly string[] | undefined, current: readonly str
|
|
|
198
211
|
*
|
|
199
212
|
* - **Bug-fixes** (always on): an {@link awaitDocumentState} that waits where
|
|
200
213
|
* the default rejects (re-queuing, under the workspace lock, a document no
|
|
201
|
-
* build will carry),
|
|
214
|
+
* build will carry), an {@link awaitBuilderState} that resolves once a
|
|
215
|
+
* phase ends, whether armed during its notification or on a phase no
|
|
216
|
+
* document reached, a {@link prepareBuild} that keeps a cancelled
|
|
202
217
|
* non-validating build from suppressing validation, and a
|
|
203
218
|
* {@link shouldRelink} that never judges a document unaffected on an index
|
|
204
219
|
* that does not describe it.
|
|
@@ -278,9 +293,11 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
278
293
|
*/
|
|
279
294
|
protected lastCancelledTraceId?: number;
|
|
280
295
|
/** Registered through {@link onDocumentPhaseDelivered}, by phase. */
|
|
281
|
-
protected readonly documentPhaseDeliveredListeners = new MultiMap<DocumentState,
|
|
296
|
+
protected readonly documentPhaseDeliveredListeners = new MultiMap<DocumentState, DocumentPhaseDeliveredListener>();
|
|
282
297
|
/** Registered through {@link onBuildEnded}. */
|
|
283
|
-
protected readonly buildEndedListeners = new Set<
|
|
298
|
+
protected readonly buildEndedListeners = new Set<BuildEndedListener>();
|
|
299
|
+
/** Held by {@link awaitBuilderState} until {@link runCancelable} sees their state reached. */
|
|
300
|
+
protected readonly builderStateWaits = new Set<BuilderStateWait>();
|
|
284
301
|
/** Set while the lock read {@link checkWaitsOnceDrained} queued has not run. */
|
|
285
302
|
protected drainCheckQueued = false;
|
|
286
303
|
/** Resolved per call: the sync service reaches this builder. */
|
|
@@ -339,7 +356,7 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
339
356
|
* late: a cancel after this document but before the batch ends skips it,
|
|
340
357
|
* although every listener of this document ran.
|
|
341
358
|
*/
|
|
342
|
-
onDocumentPhaseDelivered(state: DocumentState, listener:
|
|
359
|
+
onDocumentPhaseDelivered(state: DocumentState, listener: DocumentPhaseDeliveredListener): Disposable {
|
|
343
360
|
this.documentPhaseDeliveredListeners.add(state, listener);
|
|
344
361
|
return Disposable.create(() => this.documentPhaseDeliveredListeners.delete(state, listener));
|
|
345
362
|
}
|
|
@@ -354,7 +371,7 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
354
371
|
* that waits for the drain, so it must not wait on a build. One that
|
|
355
372
|
* throws is logged and skipped; the build and the other listeners go on.
|
|
356
373
|
*/
|
|
357
|
-
onBuildEnded(listener:
|
|
374
|
+
onBuildEnded(listener: BuildEndedListener): Disposable {
|
|
358
375
|
this.buildEndedListeners.add(listener);
|
|
359
376
|
return Disposable.create(() => this.buildEndedListeners.delete(listener));
|
|
360
377
|
}
|
|
@@ -643,6 +660,50 @@ export class HydraniumDocumentBuilder extends DefaultDocumentBuilder {
|
|
|
643
660
|
return document.state < state && this.currentState >= state;
|
|
644
661
|
}
|
|
645
662
|
|
|
663
|
+
/**
|
|
664
|
+
* Resolve once `currentState` reaches `state`, which {@link runCancelable}
|
|
665
|
+
* checks after every phase.
|
|
666
|
+
*
|
|
667
|
+
* Langium's waits for `onBuildPhase(state)`, which never fires for a wait
|
|
668
|
+
* armed while that phase notifies its listeners: the notification calls a
|
|
669
|
+
* copy of the listener list taken before it yields to the event loop, and
|
|
670
|
+
* `currentState` is raised only after it. Nor does it fire for a phase no
|
|
671
|
+
* document reached. Either way the wait never ends, and neither does the
|
|
672
|
+
* request Langium holds on it.
|
|
673
|
+
*/
|
|
674
|
+
protected override awaitBuilderState(state: DocumentState, cancelToken: CancellationToken): Promise<void> {
|
|
675
|
+
if (this.currentState >= state) {
|
|
676
|
+
return Promise.resolve();
|
|
677
|
+
}
|
|
678
|
+
if (cancelToken.isCancellationRequested) {
|
|
679
|
+
return Promise.reject(OperationCancelled);
|
|
680
|
+
}
|
|
681
|
+
return new Promise((resolve, reject) => {
|
|
682
|
+
const settle = (outcome: () => void): void => {
|
|
683
|
+
this.builderStateWaits.delete(wait);
|
|
684
|
+
cancelled.dispose();
|
|
685
|
+
outcome();
|
|
686
|
+
};
|
|
687
|
+
const wait: BuilderStateWait = { state, resolve: () => settle(resolve) };
|
|
688
|
+
const cancelled = cancelToken.onCancellationRequested(() => settle(() => reject(OperationCancelled)));
|
|
689
|
+
this.builderStateWaits.add(wait);
|
|
690
|
+
});
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
protected override async runCancelable(
|
|
694
|
+
documents: LangiumDocument[],
|
|
695
|
+
targetState: DocumentState,
|
|
696
|
+
cancelToken: CancellationToken,
|
|
697
|
+
callback: (document: LangiumDocument) => unknown
|
|
698
|
+
): Promise<void> {
|
|
699
|
+
await super.runCancelable(documents, targetState, cancelToken, callback);
|
|
700
|
+
for (const wait of this.builderStateWaits) {
|
|
701
|
+
if (this.currentState >= wait.state) {
|
|
702
|
+
wait.resolve();
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
|
|
646
707
|
/**
|
|
647
708
|
* Schedule a build for a document no in-flight build will advance, through
|
|
648
709
|
* `VersionSyncService.requestRecoveryBuild`: from a {@link WorkspaceLock} read, so
|
|
@@ -19,7 +19,12 @@ import {
|
|
|
19
19
|
type WorkspaceLock
|
|
20
20
|
} from '@hydranium/langium';
|
|
21
21
|
import { type CancellationToken, Disposable } from 'vscode-languageserver';
|
|
22
|
-
import {
|
|
22
|
+
import {
|
|
23
|
+
type BuildEndedEvent,
|
|
24
|
+
type BuildEndedListener,
|
|
25
|
+
type DocumentPhaseDeliveredListener,
|
|
26
|
+
HydraniumDocumentBuilder
|
|
27
|
+
} from '../langium/document-builder/document-builder.js';
|
|
23
28
|
|
|
24
29
|
/** Recorded call to a stubbed {@link DocumentBuilder} method. */
|
|
25
30
|
export interface RecordedBuilderCall<TArgs extends unknown[]> {
|
|
@@ -156,10 +161,10 @@ function reraise(result: unknown): void {
|
|
|
156
161
|
*/
|
|
157
162
|
export function makeStubDocumentBuilder(workspaceLock?: WorkspaceLock): StubDocumentBuilder {
|
|
158
163
|
const phaseListeners = new Map<DocumentState, DocumentPhaseListener[]>();
|
|
159
|
-
const deliveredListeners = new Map<DocumentState,
|
|
164
|
+
const deliveredListeners = new Map<DocumentState, DocumentPhaseDeliveredListener[]>();
|
|
160
165
|
const buildPhaseListeners = new Map<DocumentState, DocumentBuildListener[]>();
|
|
161
166
|
const onUpdateListeners: DocumentUpdateListener[] = [];
|
|
162
|
-
const buildEndedListeners:
|
|
167
|
+
const buildEndedListeners: BuildEndedListener[] = [];
|
|
163
168
|
const gates: Array<{ take(release: () => void): void }> = [];
|
|
164
169
|
const updateCalls: RecordedBuilderCall<[URI[], URI[]]>[] = [];
|
|
165
170
|
const waitUntilCalls: RecordedBuilderCall<[DocumentState, URI | undefined]>[] = [];
|
|
@@ -250,7 +255,7 @@ export function makeStubDocumentBuilder(workspaceLock?: WorkspaceLock): StubDocu
|
|
|
250
255
|
}
|
|
251
256
|
}
|
|
252
257
|
},
|
|
253
|
-
onDocumentPhaseDelivered(state: DocumentState, listener:
|
|
258
|
+
onDocumentPhaseDelivered(state: DocumentState, listener: DocumentPhaseDeliveredListener) {
|
|
254
259
|
const list = deliveredListeners.get(state) ?? [];
|
|
255
260
|
list.push(listener);
|
|
256
261
|
deliveredListeners.set(state, list);
|
|
@@ -266,7 +271,7 @@ export function makeStubDocumentBuilder(workspaceLock?: WorkspaceLock): StubDocu
|
|
|
266
271
|
reraise(listener(changed, deleted));
|
|
267
272
|
}
|
|
268
273
|
},
|
|
269
|
-
onBuildEnded(listener:
|
|
274
|
+
onBuildEnded(listener: BuildEndedListener) {
|
|
270
275
|
buildEndedListeners.push(listener);
|
|
271
276
|
return Disposable.create(() => {
|
|
272
277
|
const idx = buildEndedListeners.indexOf(listener);
|