@pierre/diffs 1.3.0-beta.2 → 1.3.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CodeView.d.ts +4 -0
- package/dist/components/CodeView.d.ts.map +1 -1
- package/dist/components/CodeView.js +38 -0
- package/dist/components/CodeView.js.map +1 -1
- package/dist/components/File.d.ts +2 -2
- package/dist/components/File.d.ts.map +1 -1
- package/dist/components/File.js +13 -13
- package/dist/components/File.js.map +1 -1
- package/dist/components/FileDiff.d.ts +7 -4
- package/dist/components/FileDiff.d.ts.map +1 -1
- package/dist/components/FileDiff.js +57 -47
- package/dist/components/FileDiff.js.map +1 -1
- package/dist/components/UnresolvedFile.d.ts.map +1 -1
- package/dist/components/UnresolvedFile.js +1 -1
- package/dist/components/VirtualizedFile.d.ts +1 -1
- package/dist/components/VirtualizedFile.d.ts.map +1 -1
- package/dist/components/VirtualizedFile.js +13 -4
- package/dist/components/VirtualizedFile.js.map +1 -1
- package/dist/components/VirtualizedFileDiff.d.ts +2 -1
- package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
- package/dist/components/VirtualizedFileDiff.js +36 -42
- package/dist/components/VirtualizedFileDiff.js.map +1 -1
- package/dist/components/Virtualizer.js +5 -3
- package/dist/components/Virtualizer.js.map +1 -1
- package/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
- package/dist/editor/editStack.d.ts +1 -1
- package/dist/editor/editor.d.ts +14 -6
- package/dist/editor/editor.d.ts.map +1 -1
- package/dist/editor/editor.js +745 -553
- package/dist/editor/editor.js.map +1 -1
- package/dist/editor/editor2.js +6 -0
- package/dist/editor/editor2.js.map +1 -0
- package/dist/editor/lineAnnotations.d.ts +2 -1
- package/dist/editor/lineAnnotations.d.ts.map +1 -1
- package/dist/editor/lineAnnotations.js +111 -1
- package/dist/editor/lineAnnotations.js.map +1 -1
- package/dist/editor/marker.d.ts +33 -0
- package/dist/editor/marker.d.ts.map +1 -0
- package/dist/editor/marker.js +185 -0
- package/dist/editor/marker.js.map +1 -0
- package/dist/editor/pieceTable.d.ts +3 -3
- package/dist/editor/pieceTable.d.ts.map +1 -1
- package/dist/editor/pieceTable.js +44 -33
- package/dist/editor/pieceTable.js.map +1 -1
- package/dist/editor/searchPanel.d.ts +6 -7
- package/dist/editor/searchPanel.d.ts.map +1 -1
- package/dist/editor/searchPanel.js +103 -138
- package/dist/editor/searchPanel.js.map +1 -1
- package/dist/editor/selection.d.ts +19 -3
- package/dist/editor/selection.d.ts.map +1 -1
- package/dist/editor/selection.js +196 -39
- package/dist/editor/selection.js.map +1 -1
- package/dist/editor/{quickEdit.d.ts → selectionAction.d.ts} +8 -8
- package/dist/editor/selectionAction.d.ts.map +1 -0
- package/dist/editor/{quickEdit.js → selectionAction.js} +19 -21
- package/dist/editor/selectionAction.js.map +1 -0
- package/dist/editor/sprite.d.ts +8 -0
- package/dist/editor/sprite.d.ts.map +1 -0
- package/dist/editor/sprite.js +45 -0
- package/dist/editor/sprite.js.map +1 -0
- package/dist/editor/textDocument.d.ts +5 -5
- package/dist/editor/textDocument.d.ts.map +1 -1
- package/dist/editor/textDocument.js +9 -9
- package/dist/editor/textDocument.js.map +1 -1
- package/dist/editor/textMeasure.js +3 -3
- package/dist/editor/textMeasure.js.map +1 -1
- package/dist/editor/tokenzier.d.ts +6 -2
- package/dist/editor/tokenzier.d.ts.map +1 -1
- package/dist/editor/tokenzier.js +135 -85
- package/dist/editor/tokenzier.js.map +1 -1
- package/dist/editor/utils.d.ts +3 -1
- package/dist/editor/utils.d.ts.map +1 -1
- package/dist/editor/utils.js +16 -1
- package/dist/editor/utils.js.map +1 -1
- package/dist/highlighter/shared_highlighter.js +3 -29
- package/dist/highlighter/shared_highlighter.js.map +1 -1
- package/dist/highlighter/themes/attachResolvedThemes.js +4 -3
- package/dist/highlighter/themes/attachResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/cleanUpResolvedThemes.js +3 -2
- package/dist/highlighter/themes/cleanUpResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/constants.d.ts +1 -7
- package/dist/highlighter/themes/constants.d.ts.map +1 -1
- package/dist/highlighter/themes/constants.js +1 -4
- package/dist/highlighter/themes/constants.js.map +1 -1
- package/dist/highlighter/themes/getResolvedOrResolveTheme.js +2 -2
- package/dist/highlighter/themes/getResolvedOrResolveTheme.js.map +1 -1
- package/dist/highlighter/themes/getResolvedThemes.js +2 -8
- package/dist/highlighter/themes/getResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/hasResolvedThemes.js +2 -3
- package/dist/highlighter/themes/hasResolvedThemes.js.map +1 -1
- package/dist/highlighter/themes/registerCustomCSSVariableTheme.js +1 -1
- package/dist/highlighter/themes/registerCustomTheme.d.ts +5 -3
- package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
- package/dist/highlighter/themes/registerCustomTheme.js +15 -5
- package/dist/highlighter/themes/registerCustomTheme.js.map +1 -1
- package/dist/highlighter/themes/resolveTheme.js +6 -27
- package/dist/highlighter/themes/resolveTheme.js.map +1 -1
- package/dist/highlighter/themes/resolveThemes.js +5 -12
- package/dist/highlighter/themes/resolveThemes.js.map +1 -1
- package/dist/highlighter/themes/themeResolution.d.ts +8 -0
- package/dist/highlighter/themes/themeResolution.d.ts.map +1 -0
- package/dist/highlighter/themes/themeResolution.js +22 -0
- package/dist/highlighter/themes/themeResolution.js.map +1 -0
- package/dist/highlighter/themes/themeResolver.d.ts +8 -0
- package/dist/highlighter/themes/themeResolver.d.ts.map +1 -0
- package/dist/highlighter/themes/themeResolver.js +8 -0
- package/dist/highlighter/themes/themeResolver.js.map +1 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.js +3 -3
- package/dist/react/index.d.ts +2 -2
- package/dist/react/jsx.d.ts.map +1 -1
- package/dist/react/utils/useFileDiffInstance.js +1 -0
- package/dist/react/utils/useFileDiffInstance.js.map +1 -1
- package/dist/renderers/DiffHunksRenderer.d.ts +4 -1
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.js +139 -19
- package/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/dist/renderers/FileRenderer.d.ts +2 -2
- package/dist/renderers/FileRenderer.d.ts.map +1 -1
- package/dist/renderers/FileRenderer.js +5 -5
- package/dist/renderers/FileRenderer.js.map +1 -1
- package/dist/ssr/index.d.ts +2 -2
- package/dist/style.js +1 -1
- package/dist/style.js.map +1 -1
- package/dist/types.d.ts +19 -16
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/computeEstimatedDiffHeights.js +9 -20
- package/dist/utils/computeEstimatedDiffHeights.js.map +1 -1
- package/dist/utils/getHighlighterThemeStyles.js +16 -12
- package/dist/utils/getHighlighterThemeStyles.js.map +1 -1
- package/dist/utils/iterateOverDiff.js +147 -182
- package/dist/utils/iterateOverDiff.js.map +1 -1
- package/dist/utils/parsePatchFiles.js +93 -4
- package/dist/utils/parsePatchFiles.js.map +1 -1
- package/dist/utils/updateDiffHunks.d.ts +13 -0
- package/dist/utils/updateDiffHunks.d.ts.map +1 -0
- package/dist/utils/updateDiffHunks.js +171 -0
- package/dist/utils/updateDiffHunks.js.map +1 -0
- package/dist/utils/virtualDiffLayout.d.ts +24 -2
- package/dist/utils/virtualDiffLayout.d.ts.map +1 -1
- package/dist/utils/virtualDiffLayout.js +49 -1
- package/dist/utils/virtualDiffLayout.js.map +1 -1
- package/dist/worker/WorkerPoolManager.js +1 -1
- package/dist/worker/WorkerPoolManager.js.map +1 -1
- package/dist/worker/{wasm-D4DU5jgR.js → wasm-BaDzIkIn.js} +2 -2
- package/dist/worker/wasm-BaDzIkIn.js.map +1 -0
- package/dist/worker/worker-portable.js +1021 -314
- package/dist/worker/worker-portable.js.map +1 -1
- package/dist/worker/worker.js +202 -196
- package/dist/worker/worker.js.map +1 -1
- package/package.json +4 -2
- package/dist/editor/css.d.ts +0 -6
- package/dist/editor/css.d.ts.map +0 -1
- package/dist/editor/css.js +0 -218
- package/dist/editor/css.js.map +0 -1
- package/dist/editor/quickEdit.d.ts.map +0 -1
- package/dist/editor/quickEdit.js.map +0 -1
- package/dist/worker/wasm-D4DU5jgR.js.map +0 -1
|
@@ -72,7 +72,6 @@ var FileDiff = class {
|
|
|
72
72
|
mounted = false;
|
|
73
73
|
enabled = true;
|
|
74
74
|
editor;
|
|
75
|
-
rerenderTimeout;
|
|
76
75
|
constructor(options = { theme: DEFAULT_THEMES }, workerManager, isContainerManaged = false) {
|
|
77
76
|
this.options = options;
|
|
78
77
|
this.workerManager = workerManager;
|
|
@@ -94,11 +93,12 @@ var FileDiff = class {
|
|
|
94
93
|
return new DiffHunksRenderer(this.getHunksRendererOptions(options), this.handleHighlightRender, this.workerManager);
|
|
95
94
|
}
|
|
96
95
|
getLineIndex = (lineNumber, side = "additions") => {
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
const fileDiff = this.hunksRenderer.getRenderDiff() ?? this.fileDiff;
|
|
97
|
+
if (fileDiff == null) return;
|
|
98
|
+
const lastHunk = fileDiff.hunks.at(-1);
|
|
99
99
|
let targetUnifiedIndex;
|
|
100
100
|
let targetSplitIndex;
|
|
101
|
-
hunkIterator: for (const hunk of
|
|
101
|
+
hunkIterator: for (const hunk of fileDiff.hunks) {
|
|
102
102
|
let currentLineNumber = side === "deletions" ? hunk.deletionStart : hunk.additionStart;
|
|
103
103
|
const hunkCount = side === "deletions" ? hunk.deletionCount : hunk.additionCount;
|
|
104
104
|
let splitIndex = hunk.splitLineStart;
|
|
@@ -183,7 +183,8 @@ var FileDiff = class {
|
|
|
183
183
|
setLineAnnotations(lineAnnotations) {
|
|
184
184
|
this.lineAnnotations = lineAnnotations;
|
|
185
185
|
}
|
|
186
|
-
canPartiallyRender(forceRender, annotationsChanged, didContentChange) {
|
|
186
|
+
canPartiallyRender(forceRender, annotationsChanged, didContentChange, didEdit) {
|
|
187
|
+
if (didEdit) return true;
|
|
187
188
|
if (forceRender || annotationsChanged || didContentChange || typeof this.options.hunkSeparators === "function") return false;
|
|
188
189
|
return true;
|
|
189
190
|
}
|
|
@@ -249,8 +250,6 @@ var FileDiff = class {
|
|
|
249
250
|
this.enabled = false;
|
|
250
251
|
this.editor?.cleanUp();
|
|
251
252
|
this.editor = void 0;
|
|
252
|
-
if (this.rerenderTimeout !== void 0) clearTimeout(this.rerenderTimeout);
|
|
253
|
-
this.rerenderTimeout = void 0;
|
|
254
253
|
}
|
|
255
254
|
virtualizedSetup() {
|
|
256
255
|
this.enabled = true;
|
|
@@ -351,15 +350,16 @@ var FileDiff = class {
|
|
|
351
350
|
this.hunksRenderer.expandHunk(hunkIndex, direction, expansionLineCountOverride);
|
|
352
351
|
this.rerender();
|
|
353
352
|
};
|
|
354
|
-
render({ oldFile, newFile, fileDiff, deferManagers = false, forceRender = false, preventEmit = false, lineAnnotations, fileContainer, containerWrapper, renderRange }) {
|
|
353
|
+
render({ oldFile, newFile, fileDiff, deferManagers = false, didEdit = false, forceRender = false, preventEmit = false, lineAnnotations, fileContainer, containerWrapper, renderRange }) {
|
|
355
354
|
if (!this.enabled) throw new Error("FileDiff.render: attempting to call render after cleaned up");
|
|
355
|
+
this.editor?.postponeBackgroundTokenizeToNextFrame();
|
|
356
356
|
const { collapsed = false, themeType = "system" } = this.options;
|
|
357
357
|
const nextRenderRange = collapsed ? void 0 : renderRange;
|
|
358
358
|
const themeChanged = this.hasThemeChanged();
|
|
359
359
|
const filesDidChange = oldFile != null && newFile != null && (!areFilesEqual(oldFile, this.deletionFile) || !areFilesEqual(newFile, this.additionFile));
|
|
360
360
|
let diffDidChange = fileDiff != null && fileDiff !== this.fileDiff;
|
|
361
361
|
const annotationsChanged = lineAnnotations != null && (lineAnnotations.length > 0 || this.lineAnnotations.length > 0) ? lineAnnotations !== this.lineAnnotations : false;
|
|
362
|
-
if (!collapsed && areRenderRangesEqual(nextRenderRange, this.renderRange) && !forceRender && !annotationsChanged && !themeChanged && (fileDiff != null && fileDiff === this.fileDiff || fileDiff == null && !filesDidChange)) return this.applyCachedThemeState(themeType);
|
|
362
|
+
if (!collapsed && areRenderRangesEqual(nextRenderRange, this.renderRange) && !didEdit && !forceRender && !annotationsChanged && !themeChanged && (fileDiff != null && fileDiff === this.fileDiff || fileDiff == null && !filesDidChange)) return this.applyCachedThemeState(themeType);
|
|
363
363
|
const { renderRange: previousRenderRange } = this;
|
|
364
364
|
this.renderRange = nextRenderRange;
|
|
365
365
|
this.deletionFile = oldFile;
|
|
@@ -405,7 +405,7 @@ var FileDiff = class {
|
|
|
405
405
|
}
|
|
406
406
|
try {
|
|
407
407
|
const pre = this.getOrCreatePreNode(fileContainer);
|
|
408
|
-
if (!(this.canPartiallyRender(forceRender, annotationsChanged, filesDidChange || diffDidChange || themeChanged) && this.applyPartialRender({
|
|
408
|
+
if (!(this.canPartiallyRender(forceRender, annotationsChanged, filesDidChange || diffDidChange || themeChanged, didEdit) && this.applyPartialRender({
|
|
409
409
|
previousRenderRange,
|
|
410
410
|
renderRange: nextRenderRange
|
|
411
411
|
}))) {
|
|
@@ -422,7 +422,7 @@ var FileDiff = class {
|
|
|
422
422
|
this.pre = void 0;
|
|
423
423
|
}
|
|
424
424
|
this.renderSeparators(hunksResult.hunkData);
|
|
425
|
-
}
|
|
425
|
+
} else if (didEdit && nextRenderRange != null) this.updateLineType(nextRenderRange);
|
|
426
426
|
this.applyBuffers(pre, nextRenderRange);
|
|
427
427
|
this.injectUnsafeCSS();
|
|
428
428
|
this.renderAnnotations();
|
|
@@ -432,7 +432,7 @@ var FileDiff = class {
|
|
|
432
432
|
const editor = this.editor;
|
|
433
433
|
const file = this.getAdditionFile();
|
|
434
434
|
if (editor != null && file != null) this.hunksRenderer.initializeHighlighter().then((highlighter) => {
|
|
435
|
-
editor.
|
|
435
|
+
editor.syncToRenderedView(highlighter, fileContainer, file, diffDidChange, this.lineAnnotations, this.renderRange);
|
|
436
436
|
});
|
|
437
437
|
} catch (error) {
|
|
438
438
|
if (disableErrorHandling) throw error;
|
|
@@ -456,53 +456,37 @@ var FileDiff = class {
|
|
|
456
456
|
this.mounted = true;
|
|
457
457
|
onPostRender?.(fileContainer, this, phase);
|
|
458
458
|
}
|
|
459
|
-
applyLayoutChange(textDocument, newLineAnnotations) {
|
|
460
|
-
if (newLineAnnotations !== void 0 && newLineAnnotations !== this.lineAnnotations) {
|
|
461
|
-
this.setLineAnnotations(newLineAnnotations);
|
|
462
|
-
this.hunksRenderer.setLineAnnotations(this.lineAnnotations);
|
|
463
|
-
}
|
|
464
|
-
const deletionFile = this.getDeletionFile();
|
|
465
|
-
if (deletionFile != null) {
|
|
466
|
-
const { name, lang } = deletionFile;
|
|
467
|
-
const newFile = {
|
|
468
|
-
name,
|
|
469
|
-
lang,
|
|
470
|
-
cacheKey: name + "-" + Date.now()
|
|
471
|
-
};
|
|
472
|
-
Object.defineProperty(newFile, "contents", { get: () => textDocument.getText() });
|
|
473
|
-
if (this.rerenderTimeout !== void 0) clearTimeout(this.rerenderTimeout);
|
|
474
|
-
this.rerenderTimeout = setTimeout(() => {
|
|
475
|
-
this.fileDiff = parseDiffFromFile(deletionFile, newFile, this.options.parseDiffOptions);
|
|
476
|
-
this.hunksRenderer.renderDiff(this.fileDiff, this.renderRange);
|
|
477
|
-
}, 500);
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
459
|
attachEditor(editor) {
|
|
481
460
|
this.editor?.cleanUp();
|
|
482
461
|
const fileContainer = this.fileContainer;
|
|
483
462
|
const file = this.getAdditionFile();
|
|
484
463
|
if (fileContainer != null && file != null) this.hunksRenderer.initializeHighlighter().then((highlighter) => {
|
|
485
|
-
editor.
|
|
464
|
+
editor.syncToRenderedView(highlighter, fileContainer, file, false, this.lineAnnotations, this.renderRange);
|
|
486
465
|
});
|
|
487
466
|
this.editor = editor;
|
|
488
467
|
return () => {
|
|
489
468
|
this.editor = void 0;
|
|
490
469
|
};
|
|
491
470
|
}
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
const
|
|
495
|
-
if (
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
Object.defineProperty(file, "contents", { get: () => fileDiff.deletionLines.join("") });
|
|
503
|
-
return file;
|
|
471
|
+
applyDocumentChange(textDocument, newLineAnnotations) {
|
|
472
|
+
this.hunksRenderer.applyDocumentChange(textDocument);
|
|
473
|
+
const renderDiff = this.hunksRenderer.getRenderDiff();
|
|
474
|
+
if (renderDiff != null) this.fileDiff = renderDiff;
|
|
475
|
+
this.rerender();
|
|
476
|
+
this.interactionManager.setSelectionDirty();
|
|
477
|
+
if (newLineAnnotations !== void 0 && newLineAnnotations !== this.lineAnnotations) {
|
|
478
|
+
this.setLineAnnotations(newLineAnnotations);
|
|
479
|
+
this.hunksRenderer.setLineAnnotations(this.lineAnnotations);
|
|
480
|
+
this.renderAnnotations();
|
|
504
481
|
}
|
|
505
482
|
}
|
|
483
|
+
updateRenderCache(dirtyLines, themeType, shouldRerender) {
|
|
484
|
+
this.hunksRenderer.updateRenderCache(dirtyLines, themeType);
|
|
485
|
+
if (shouldRerender === true) this.render({
|
|
486
|
+
didEdit: true,
|
|
487
|
+
renderRange: this.renderRange
|
|
488
|
+
});
|
|
489
|
+
}
|
|
506
490
|
getAdditionFile() {
|
|
507
491
|
if (this.additionFile != null) return this.additionFile;
|
|
508
492
|
const fileDiff = this.fileDiff;
|
|
@@ -513,7 +497,10 @@ var FileDiff = class {
|
|
|
513
497
|
lang,
|
|
514
498
|
cacheKey
|
|
515
499
|
};
|
|
516
|
-
Object.defineProperty(file, "contents", {
|
|
500
|
+
Object.defineProperty(file, "contents", {
|
|
501
|
+
enumerable: true,
|
|
502
|
+
get: () => fileDiff.additionLines.join("")
|
|
503
|
+
});
|
|
517
504
|
return file;
|
|
518
505
|
}
|
|
519
506
|
}
|
|
@@ -1006,6 +993,26 @@ var FileDiff = class {
|
|
|
1006
993
|
this.renderPartialColumn(columns[1], additionsAST, insertPosition);
|
|
1007
994
|
} else throw new Error("FileDiff.insertPartialHTML: Invalid argument composition");
|
|
1008
995
|
}
|
|
996
|
+
updateLineType(renderRange) {
|
|
997
|
+
if (this.options.diffStyle === "unified") return;
|
|
998
|
+
const hunksResult = this.hunksRenderer.renderDiff(this.fileDiff, renderRange);
|
|
999
|
+
if (hunksResult == null) return;
|
|
1000
|
+
const columns = this.getCodeColumns("split", this.codeUnified, this.codeDeletions, this.codeAdditions);
|
|
1001
|
+
if (columns == null || !Array.isArray(columns)) return;
|
|
1002
|
+
const applyLineType = (type, column) => {
|
|
1003
|
+
if (column == null) return;
|
|
1004
|
+
const ast = this.hunksRenderer.renderCodeAST(type, hunksResult);
|
|
1005
|
+
const gutterChildren = getElementChildren(ast?.[0]);
|
|
1006
|
+
const contentChildren = getElementChildren(ast?.[1]);
|
|
1007
|
+
for (const [el, astChildren] of [[column.gutter, gutterChildren], [column.content, contentChildren]]) if (astChildren != null && el.childElementCount === astChildren.length) for (let i = 0; i < astChildren.length; i++) {
|
|
1008
|
+
const gutterElement = el.children[i];
|
|
1009
|
+
const lineType = astChildren[i].properties["data-line-type"];
|
|
1010
|
+
if (lineType != null && gutterElement.dataset.lineType !== lineType) gutterElement.dataset.lineType = lineType;
|
|
1011
|
+
}
|
|
1012
|
+
};
|
|
1013
|
+
applyLineType("deletions", columns[0]);
|
|
1014
|
+
applyLineType("additions", columns[1]);
|
|
1015
|
+
}
|
|
1009
1016
|
renderPartialColumn(column, ast, insertPosition) {
|
|
1010
1017
|
if (column == null || ast == null) return;
|
|
1011
1018
|
const gutterChildren = getElementChildren(ast[0]);
|
|
@@ -1205,6 +1212,9 @@ var FileDiff = class {
|
|
|
1205
1212
|
return deletions != null || additions != null ? [deletions, additions] : void 0;
|
|
1206
1213
|
}
|
|
1207
1214
|
}
|
|
1215
|
+
updateBuffers(renderRange) {
|
|
1216
|
+
if (this.pre != null) this.applyBuffers(this.pre, renderRange);
|
|
1217
|
+
}
|
|
1208
1218
|
applyBuffers(pre, renderRange) {
|
|
1209
1219
|
if (renderRange == null || this.shouldDisableVirtualizationBuffers()) {
|
|
1210
1220
|
if (this.bufferBefore != null) {
|