diff --git a/src/vs/editor/common/model/modelLine.ts b/src/vs/editor/common/model/modelLine.ts index dfe85c80b254abca8b056864c0d37aba83e0dd05..b96267c425333d9594acc4b9ff5f4be91d833cee 100644 --- a/src/vs/editor/common/model/modelLine.ts +++ b/src/vs/editor/common/model/modelLine.ts @@ -160,7 +160,6 @@ function computePlusOneIndentLevel(line: string, tabSize: number): number { export interface IModelLine { readonly text: string; - isInvalid: boolean; // --- markers addMarker(marker: LineMarker): void; @@ -171,6 +170,8 @@ export interface IModelLine { // --- tokenization resetTokenizationState(): void; + isInvalid(): boolean; + setIsInvalid(isInvalid: boolean): void; getState(): IState; setState(state: IState): void; getTokens(topLevelLanguageId: LanguageId): LineTokens; @@ -198,12 +199,12 @@ export class ModelLine implements IModelLine { */ private _metadata: number; - public get isInvalid(): boolean { + public isInvalid(): boolean { return (this._metadata & 0x00000001) ? true : false; } - public set isInvalid(value: boolean) { - this._metadata = (this._metadata & 0xfffffffe) | (value ? 1 : 0); + public setIsInvalid(isInvalid: boolean): void { + this._metadata = (this._metadata & 0xfffffffe) | (isInvalid ? 1 : 0); } /** diff --git a/src/vs/editor/common/model/textModelWithTokens.ts b/src/vs/editor/common/model/textModelWithTokens.ts index 534201b952c67ff29cbd386484482fdf8398aaaa..6c24d232f446899201ed56466df8283234e1b358 100644 --- a/src/vs/editor/common/model/textModelWithTokens.ts +++ b/src/vs/editor/common/model/textModelWithTokens.ts @@ -232,10 +232,10 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke } protected _invalidateLine(lineIndex: number): void { - this._lines[lineIndex].isInvalid = true; + this._lines[lineIndex].setIsInvalid(true); if (lineIndex < this._invalidLineStartIndex) { if (this._invalidLineStartIndex < this._lines.length) { - this._lines[this._invalidLineStartIndex].isInvalid = true; + this._lines[this._invalidLineStartIndex].setIsInvalid(true); } this._invalidLineStartIndex = lineIndex; this._beginBackgroundTokenization(); @@ -353,14 +353,14 @@ export class TextModelWithTokens extends TextModel implements editorCommon.IToke } this._lines[lineIndex].setTokens(this._languageIdentifier.id, r.tokens); eventBuilder.registerChangedTokens(lineIndex + 1); - this._lines[lineIndex].isInvalid = false; + this._lines[lineIndex].setIsInvalid(false); if (endStateIndex < linesLength) { if (this._lines[endStateIndex].getState() !== null && r.endState.equals(this._lines[endStateIndex].getState())) { // The end state of this line remains the same let nextInvalidLineIndex = lineIndex + 1; while (nextInvalidLineIndex < linesLength) { - if (this._lines[nextInvalidLineIndex].isInvalid) { + if (this._lines[nextInvalidLineIndex].isInvalid()) { break; } if (nextInvalidLineIndex + 1 < linesLength) { diff --git a/src/vs/editor/test/common/model/model.modes.test.ts b/src/vs/editor/test/common/model/model.modes.test.ts index 9a891182471f22fbb66e0a4305fdc194e8a4fcd6..474c259b0c38a6e436cb6467c7caefbb53a4fbb9 100644 --- a/src/vs/editor/test/common/model/model.modes.test.ts +++ b/src/vs/editor/test/common/model/model.modes.test.ts @@ -186,7 +186,7 @@ suite('Editor Model - Model Modes 2', () => { function invalidEqual(model: Model, expected: number[]): void { let actual: number[] = []; for (let i = 0, len = model.getLineCount(); i < len; i++) { - if (model._lines[i].isInvalid) { + if (model._lines[i].isInvalid()) { actual.push(i); } }