Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
08f5e5d4
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
08f5e5d4
编写于
7月 06, 2017
作者:
A
Alex Dima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Explicit getters and setters for IModelLine.isInvalid (#30180)
上级
c851d5df
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
10 addition
and
9 deletion
+10
-9
src/vs/editor/common/model/modelLine.ts
src/vs/editor/common/model/modelLine.ts
+5
-4
src/vs/editor/common/model/textModelWithTokens.ts
src/vs/editor/common/model/textModelWithTokens.ts
+4
-4
src/vs/editor/test/common/model/model.modes.test.ts
src/vs/editor/test/common/model/model.modes.test.ts
+1
-1
未找到文件。
src/vs/editor/common/model/modelLine.ts
浏览文件 @
08f5e5d4
...
...
@@ -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
set
IsInvalid
(
isInvalid
:
boolean
):
void
{
this
.
_metadata
=
(
this
.
_metadata
&
0xfffffffe
)
|
(
isInvalid
?
1
:
0
);
}
/**
...
...
src/vs/editor/common/model/textModelWithTokens.ts
浏览文件 @
08f5e5d4
...
...
@@ -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
)
{
...
...
src/vs/editor/test/common/model/model.modes.test.ts
浏览文件 @
08f5e5d4
...
...
@@ -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
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录