Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
7607264f
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,发现更多精彩内容 >>
提交
7607264f
编写于
8月 04, 2019
作者:
J
jnm2
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove unused parameters
上级
7d77e961
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
19 addition
and
31 deletion
+19
-31
src/Features/CSharp/Portable/UseExpressionBody/Helpers/UseExpressionBodyForIndexersHelper.cs
...ressionBody/Helpers/UseExpressionBodyForIndexersHelper.cs
+2
-4
src/Features/CSharp/Portable/UseExpressionBody/Helpers/UseExpressionBodyForPropertiesHelper.cs
...ssionBody/Helpers/UseExpressionBodyForPropertiesHelper.cs
+2
-5
src/Features/CSharp/Portable/UseExpressionBody/Helpers/UseExpressionBodyHelper.cs
...able/UseExpressionBody/Helpers/UseExpressionBodyHelper.cs
+1
-1
src/Features/CSharp/Portable/UseExpressionBody/Helpers/UseExpressionBodyHelper`1.cs
...le/UseExpressionBody/Helpers/UseExpressionBodyHelper`1.cs
+6
-10
src/Features/CSharp/Portable/UseExpressionBody/UseExpressionBodyCodeFixProvider.cs
...ble/UseExpressionBody/UseExpressionBodyCodeFixProvider.cs
+4
-6
src/Features/CSharp/Portable/UseExpressionBody/UseExpressionBodyCodeRefactoringProvider.cs
...xpressionBody/UseExpressionBodyCodeRefactoringProvider.cs
+4
-5
未找到文件。
src/Features/CSharp/Portable/UseExpressionBody/Helpers/UseExpressionBodyForIndexersHelper.cs
浏览文件 @
7607264f
...
...
@@ -6,7 +6,6 @@
using
Microsoft.CodeAnalysis.CSharp.CodeStyle
;
using
Microsoft.CodeAnalysis.CSharp.Syntax
;
using
Microsoft.CodeAnalysis.Diagnostics
;
using
Microsoft.CodeAnalysis.Options
;
namespace
Microsoft.CodeAnalysis.CSharp.UseExpressionBody
{
...
...
@@ -52,10 +51,9 @@ protected override IndexerDeclarationSyntax WithBody(IndexerDeclarationSyntax de
throw
new
InvalidOperationException
();
}
protected
override
IndexerDeclarationSyntax
WithGenerateBody
(
SemanticModel
semanticModel
,
IndexerDeclarationSyntax
declaration
,
OptionSet
options
,
ParseOptions
parseOptions
)
protected
override
IndexerDeclarationSyntax
WithGenerateBody
(
SemanticModel
semanticModel
,
IndexerDeclarationSyntax
declaration
)
{
return
WithAccessorList
(
semanticModel
,
declaration
,
options
,
parseOptions
);
return
WithAccessorList
(
semanticModel
,
declaration
);
}
protected
override
bool
CreateReturnStatementForExpression
(
SemanticModel
semanticModel
,
IndexerDeclarationSyntax
declaration
)
=>
true
;
...
...
src/Features/CSharp/Portable/UseExpressionBody/Helpers/UseExpressionBodyForPropertiesHelper.cs
浏览文件 @
7607264f
...
...
@@ -6,7 +6,6 @@
using
Microsoft.CodeAnalysis.CSharp.CodeStyle
;
using
Microsoft.CodeAnalysis.CSharp.Syntax
;
using
Microsoft.CodeAnalysis.Diagnostics
;
using
Microsoft.CodeAnalysis.Options
;
namespace
Microsoft.CodeAnalysis.CSharp.UseExpressionBody
{
...
...
@@ -52,11 +51,9 @@ protected override PropertyDeclarationSyntax WithBody(PropertyDeclarationSyntax
throw
new
InvalidOperationException
();
}
protected
override
PropertyDeclarationSyntax
WithGenerateBody
(
SemanticModel
semanticModel
,
PropertyDeclarationSyntax
declaration
,
OptionSet
options
,
ParseOptions
parseOptions
)
protected
override
PropertyDeclarationSyntax
WithGenerateBody
(
SemanticModel
semanticModel
,
PropertyDeclarationSyntax
declaration
)
{
return
WithAccessorList
(
semanticModel
,
declaration
,
options
,
parseOptions
);
return
WithAccessorList
(
semanticModel
,
declaration
);
}
protected
override
bool
CreateReturnStatementForExpression
(
SemanticModel
semanticModel
,
PropertyDeclarationSyntax
declaration
)
=>
true
;
...
...
src/Features/CSharp/Portable/UseExpressionBody/Helpers/UseExpressionBodyHelper.cs
浏览文件 @
7607264f
...
...
@@ -20,7 +20,7 @@ internal abstract class UseExpressionBodyHelper
public
abstract
bool
CanOfferUseExpressionBody
(
OptionSet
optionSet
,
SyntaxNode
declaration
,
bool
forAnalyzer
);
public
abstract
(
bool
canOffer
,
bool
fixesError
)
CanOfferUseBlockBody
(
OptionSet
optionSet
,
SyntaxNode
declaration
,
bool
forAnalyzer
);
public
abstract
SyntaxNode
Update
(
SemanticModel
semanticModel
,
SyntaxNode
declaration
,
OptionSet
options
,
ParseOptions
parseOptions
,
bool
useExpressionBody
);
public
abstract
SyntaxNode
Update
(
SemanticModel
semanticModel
,
SyntaxNode
declaration
,
bool
useExpressionBody
);
public
abstract
Location
GetDiagnosticLocation
(
SyntaxNode
declaration
);
...
...
src/Features/CSharp/Portable/UseExpressionBody/Helpers/UseExpressionBodyHelper`1.cs
浏览文件 @
7607264f
...
...
@@ -69,8 +69,8 @@ public override bool CanOfferUseExpressionBody(OptionSet optionSet, SyntaxNode d
public
override
(
bool
canOffer
,
bool
fixesError
)
CanOfferUseBlockBody
(
OptionSet
optionSet
,
SyntaxNode
declaration
,
bool
forAnalyzer
)
=>
CanOfferUseBlockBody
(
optionSet
,
(
TDeclaration
)
declaration
,
forAnalyzer
);
public
sealed
override
SyntaxNode
Update
(
SemanticModel
semanticModel
,
SyntaxNode
declaration
,
OptionSet
options
,
ParseOptions
parseOptions
,
bool
useExpressionBody
)
=>
Update
(
semanticModel
,
(
TDeclaration
)
declaration
,
options
,
parseOptions
,
useExpressionBody
);
public
sealed
override
SyntaxNode
Update
(
SemanticModel
semanticModel
,
SyntaxNode
declaration
,
bool
useExpressionBody
)
=>
Update
(
semanticModel
,
(
TDeclaration
)
declaration
,
useExpressionBody
);
public
override
Location
GetDiagnosticLocation
(
SyntaxNode
declaration
)
=>
GetDiagnosticLocation
((
TDeclaration
)
declaration
);
...
...
@@ -206,9 +206,7 @@ protected virtual Location GetDiagnosticLocation(TDeclaration declaration)
return
(
canOffer
,
fixesError
:
false
);
}
public
TDeclaration
Update
(
SemanticModel
semanticModel
,
TDeclaration
declaration
,
OptionSet
options
,
ParseOptions
parseOptions
,
bool
useExpressionBody
)
public
TDeclaration
Update
(
SemanticModel
semanticModel
,
TDeclaration
declaration
,
bool
useExpressionBody
)
{
if
(
useExpressionBody
)
{
...
...
@@ -231,7 +229,7 @@ protected virtual Location GetDiagnosticLocation(TDeclaration declaration)
{
return
WithSemicolonToken
(
WithExpressionBody
(
WithGenerateBody
(
semanticModel
,
declaration
,
options
,
parseOptions
),
WithGenerateBody
(
semanticModel
,
declaration
),
expressionBody
:
null
),
default
);
}
...
...
@@ -249,8 +247,7 @@ protected virtual Location GetDiagnosticLocation(TDeclaration declaration)
protected
abstract
TDeclaration
WithExpressionBody
(
TDeclaration
declaration
,
ArrowExpressionClauseSyntax
expressionBody
);
protected
abstract
TDeclaration
WithBody
(
TDeclaration
declaration
,
BlockSyntax
body
);
protected
virtual
TDeclaration
WithGenerateBody
(
SemanticModel
semanticModel
,
TDeclaration
declaration
,
OptionSet
options
,
ParseOptions
parseOptions
)
protected
virtual
TDeclaration
WithGenerateBody
(
SemanticModel
semanticModel
,
TDeclaration
declaration
)
{
var
expressionBody
=
GetExpressionBody
(
declaration
);
...
...
@@ -265,8 +262,7 @@ protected virtual Location GetDiagnosticLocation(TDeclaration declaration)
return
declaration
;
}
protected
TDeclaration
WithAccessorList
(
SemanticModel
semanticModel
,
TDeclaration
declaration
,
OptionSet
options
,
ParseOptions
parseOptions
)
protected
TDeclaration
WithAccessorList
(
SemanticModel
semanticModel
,
TDeclaration
declaration
)
{
var
expressionBody
=
GetExpressionBody
(
declaration
);
var
semicolonToken
=
GetSemicolonToken
(
declaration
);
...
...
src/Features/CSharp/Portable/UseExpressionBody/UseExpressionBodyCodeFixProvider.cs
浏览文件 @
7607264f
...
...
@@ -56,17 +56,16 @@ public sealed override async Task RegisterCodeFixesAsync(CodeFixContext context)
SyntaxEditor
editor
,
CancellationToken
cancellationToken
)
{
var
semanticModel
=
await
document
.
GetSemanticModelAsync
(
cancellationToken
).
ConfigureAwait
(
false
);
var
options
=
await
document
.
GetOptionsAsync
(
cancellationToken
).
ConfigureAwait
(
false
);
var
accessorLists
=
new
HashSet
<
AccessorListSyntax
>();
foreach
(
var
diagnostic
in
diagnostics
)
{
cancellationToken
.
ThrowIfCancellationRequested
();
AddEdits
(
semanticModel
,
editor
,
diagnostic
,
options
,
accessorLists
,
cancellationToken
);
AddEdits
(
semanticModel
,
editor
,
diagnostic
,
accessorLists
,
cancellationToken
);
}
// Ensure that if we changed any accessors that the accessor lists they're contained
// in are formatted properly as well. Do this as a last pass so that we see all
// in are formatted properly as well. Do this as a last pass so that we see all
// individual changes made to the child accessors if we're doing a fix-all.
foreach
(
var
accessorList
in
accessorLists
)
{
...
...
@@ -76,16 +75,15 @@ public sealed override async Task RegisterCodeFixesAsync(CodeFixContext context)
private
void
AddEdits
(
SemanticModel
semanticModel
,
SyntaxEditor
editor
,
Diagnostic
diagnostic
,
OptionSet
options
,
HashSet
<
AccessorListSyntax
>
accessorLists
,
HashSet
<
AccessorListSyntax
>
accessorLists
,
CancellationToken
cancellationToken
)
{
var
declarationLocation
=
diagnostic
.
AdditionalLocations
[
0
];
var
helper
=
_helpers
.
Single
(
h
=>
h
.
DiagnosticId
==
diagnostic
.
Id
);
var
declaration
=
declarationLocation
.
FindNode
(
cancellationToken
);
var
useExpressionBody
=
diagnostic
.
Properties
.
ContainsKey
(
nameof
(
UseExpressionBody
));
var
parseOptions
=
declaration
.
SyntaxTree
.
Options
;
var
updatedDeclaration
=
helper
.
Update
(
semanticModel
,
declaration
,
options
,
parseOptions
,
useExpressionBody
)
var
updatedDeclaration
=
helper
.
Update
(
semanticModel
,
declaration
,
useExpressionBody
)
.
WithAdditionalAnnotations
(
Formatter
.
Annotation
);
editor
.
ReplaceNode
(
declaration
,
updatedDeclaration
);
...
...
src/Features/CSharp/Portable/UseExpressionBody/UseExpressionBodyCodeRefactoringProvider.cs
浏览文件 @
7607264f
...
...
@@ -83,7 +83,7 @@ public override async Task ComputeRefactoringsAsync(CodeRefactoringContext conte
context
.
RegisterRefactoring
(
new
MyCodeAction
(
helper
.
UseExpressionBodyTitle
.
ToString
(),
c
=>
UpdateDocumentAsync
(
document
,
root
,
declaration
,
optionSet
,
helper
,
document
,
root
,
declaration
,
helper
,
useExpressionBody
:
true
,
cancellationToken
:
c
)));
succeeded
=
true
;
}
...
...
@@ -94,7 +94,7 @@ public override async Task ComputeRefactoringsAsync(CodeRefactoringContext conte
context
.
RegisterRefactoring
(
new
MyCodeAction
(
helper
.
UseBlockBodyTitle
.
ToString
(),
c
=>
UpdateDocumentAsync
(
document
,
root
,
declaration
,
optionSet
,
helper
,
document
,
root
,
declaration
,
helper
,
useExpressionBody
:
false
,
cancellationToken
:
c
)));
succeeded
=
true
;
}
...
...
@@ -117,12 +117,11 @@ private SyntaxNode GetDeclaration(SyntaxNode node, UseExpressionBodyHelper helpe
private
async
Task
<
Document
>
UpdateDocumentAsync
(
Document
document
,
SyntaxNode
root
,
SyntaxNode
declaration
,
OptionSet
options
,
UseExpressionBodyHelper
helper
,
bool
useExpressionBody
,
UseExpressionBodyHelper
helper
,
bool
useExpressionBody
,
CancellationToken
cancellationToken
)
{
var
parseOptions
=
root
.
SyntaxTree
.
Options
;
var
semanticModel
=
await
document
.
GetSemanticModelAsync
(
cancellationToken
).
ConfigureAwait
(
false
);
var
updatedDeclaration
=
helper
.
Update
(
semanticModel
,
declaration
,
options
,
parseOptions
,
useExpressionBody
);
var
updatedDeclaration
=
helper
.
Update
(
semanticModel
,
declaration
,
useExpressionBody
);
var
parent
=
declaration
is
AccessorDeclarationSyntax
?
declaration
.
Parent
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录