Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
06f91f3b
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
06f91f3b
编写于
1月 03, 2020
作者:
J
Jared Parsons
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
PR feedback
上级
4cfa2a16
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
14 addition
and
18 deletion
+14
-18
src/Features/CSharp/Portable/EditAndContinue/CSharpEditAndContinueAnalyzer.cs
...Portable/EditAndContinue/CSharpEditAndContinueAnalyzer.cs
+6
-6
src/Features/Core/Portable/EditAndContinue/AbstractEditAndContinueAnalyzer.cs
...rtable/EditAndContinue/AbstractEditAndContinueAnalyzer.cs
+6
-5
src/Workspaces/CSharp/Portable/Extensions/ILocalSymbolExtensions.cs
...aces/CSharp/Portable/Extensions/ILocalSymbolExtensions.cs
+1
-1
src/Workspaces/Core/Portable/AddImports/AbstractAddImportsService.cs
...ces/Core/Portable/AddImports/AbstractAddImportsService.cs
+1
-6
未找到文件。
src/Features/CSharp/Portable/EditAndContinue/CSharpEditAndContinueAnalyzer.cs
浏览文件 @
06f91f3b
...
...
@@ -291,27 +291,27 @@ protected override SyntaxNode FindStatementAndPartner(SyntaxNode declarationBody
position
=
declarationBody
.
SpanStart
;
}
SyntaxNode
?
node
;
SyntaxNode
node
;
if
(
partnerDeclarationBody
!=
null
)
{
SyntaxUtilities
.
FindLeafNodeAndPartner
(
declarationBody
,
position
,
partnerDeclarationBody
,
out
node
,
out
partner
);
}
else
{
node
=
declarationBody
.
FindToken
(
position
).
Parent
;
node
=
declarationBody
.
FindToken
(
position
).
Parent
!
;
partner
=
null
;
}
while
(
node
!=
declarationBody
&&
!
StatementSyntaxComparer
.
HasLabel
(
node
!
)
&&
!
LambdaUtilities
.
IsLambdaBodyStatementOrExpression
(
node
))
while
(
node
!=
declarationBody
&&
!
StatementSyntaxComparer
.
HasLabel
(
node
)
&&
!
LambdaUtilities
.
IsLambdaBodyStatementOrExpression
(
node
))
{
node
=
node
!.
Parent
;
node
=
node
.
Parent
!
;
if
(
partner
!=
null
)
{
partner
=
partner
.
Parent
;
}
}
switch
(
node
!
.
Kind
())
switch
(
node
.
Kind
())
{
case
SyntaxKind
.
Block
:
statementPart
=
(
int
)
GetStatementPart
((
BlockSyntax
)
node
!,
position
);
...
...
@@ -3218,7 +3218,7 @@ private static SyntaxNode FindContainingStatementPart(SyntaxNode node)
RoslynDebug
.
Assert
(
node
is
object
);
RoslynDebug
.
Assert
(
node
.
Parent
is
object
);
switch
(
node
.
Parent
!
.
Kind
())
switch
(
node
.
Parent
.
Kind
())
{
case
SyntaxKind
.
ForStatement
:
case
SyntaxKind
.
ForEachStatement
:
...
...
src/Features/Core/Portable/EditAndContinue/AbstractEditAndContinueAnalyzer.cs
浏览文件 @
06f91f3b
...
...
@@ -1955,19 +1955,20 @@ private static int IndexOfEquivalent<TSyntaxNode>(SyntaxNode newNode, List<Synta
return
-
1
;
}
private
static
List
<
SyntaxNode
?>?
GetAncestors
(
SyntaxNode
?
root
,
SyntaxNode
?
node
,
Func
<
SyntaxNode
,
bool
>
nodeSelector
)
private
static
List
<
SyntaxNode
?>?
GetAncestors
(
SyntaxNode
?
root
,
SyntaxNode
node
,
Func
<
SyntaxNode
,
bool
>
nodeSelector
)
{
List
<
SyntaxNode
?>?
list
=
null
;
SyntaxNode
?
current
=
node
;
while
(
node
is
object
&&
node
!=
root
)
while
(
current
is
object
&&
current
!=
root
)
{
if
(
nodeSelector
(
node
))
if
(
nodeSelector
(
current
))
{
list
??=
new
List
<
SyntaxNode
?>();
list
.
Add
(
node
);
list
.
Add
(
current
);
}
node
=
node
.
Parent
;
current
=
current
.
Parent
;
}
list
?.
Reverse
();
...
...
src/Workspaces/CSharp/Portable/Extensions/ILocalSymbolExtensions.cs
浏览文件 @
06f91f3b
...
...
@@ -27,7 +27,7 @@ public static bool CanSafelyMoveLocalToBlock(this ILocalSymbol localSymbol, Synt
return
true
;
bool
HasTypeParameterWithName
(
SyntaxNode
?
node
,
string
name
)
static
bool
HasTypeParameterWithName
(
SyntaxNode
?
node
,
string
name
)
{
SeparatedSyntaxList
<
TypeParameterSyntax
>?
typeParameters
;
switch
(
node
)
...
...
src/Workspaces/Core/Portable/AddImports/AbstractAddImportsService.cs
浏览文件 @
06f91f3b
...
...
@@ -169,12 +169,7 @@ private void GetContainers(SyntaxNode root, SyntaxNode contextLocation, out Synt
{
var
usingDirective
=
contextNode
.
GetAncestor
<
TUsingOrAliasSyntax
>();
SyntaxNode
?
node
=
contextNode
;
if
(
usingDirective
!=
null
)
{
node
=
usingDirective
.
Parent
!;
}
SyntaxNode
?
node
=
usingDirective
!=
null
?
usingDirective
.
Parent
!
:
contextNode
;
return
node
.
GetAncestor
<
TNamespaceDeclarationSyntax
>()
??
(
SyntaxNode
?)
node
.
GetAncestorOrThis
<
TCompilationUnitSyntax
>();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录