Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
e330bfa6
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,发现更多精彩内容 >>
提交
e330bfa6
编写于
10月 12, 2019
作者:
C
Carl Åstholm
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update features that depend on PreferThrowExpression
上级
0411cef7
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
31 addition
and
6 deletion
+31
-6
src/Features/CSharp/Portable/InitializeParameter/CSharpAddParameterCheckCodeRefactoringProvider.cs
...rameter/CSharpAddParameterCheckCodeRefactoringProvider.cs
+7
-0
src/Features/CSharp/Portable/UseThrowExpression/CSharpUseThrowExpressionDiagnosticAnalyzer.cs
...wExpression/CSharpUseThrowExpressionDiagnosticAnalyzer.cs
+6
-0
src/Features/Core/Portable/InitializeParameter/AbstractAddParameterCheckCodeRefactoringProvider.cs
...meter/AbstractAddParameterCheckCodeRefactoringProvider.cs
+4
-2
src/Features/Core/Portable/UseThrowExpression/AbstractUseThrowExpressionDiagnosticAnalyzer.cs
...xpression/AbstractUseThrowExpressionDiagnosticAnalyzer.cs
+8
-4
src/Features/VisualBasic/Portable/InitializeParameter/VisualBasicAddParameterCheckCodeRefactoringProvider.vb
...er/VisualBasicAddParameterCheckCodeRefactoringProvider.vb
+6
-0
未找到文件。
src/Features/CSharp/Portable/InitializeParameter/CSharpAddParameterCheckCodeRefactoringProvider.cs
浏览文件 @
e330bfa6
...
...
@@ -2,9 +2,11 @@
using
System.Composition
;
using
Microsoft.CodeAnalysis.CodeRefactorings
;
using
Microsoft.CodeAnalysis.CSharp.CodeStyle
;
using
Microsoft.CodeAnalysis.CSharp.Syntax
;
using
Microsoft.CodeAnalysis.Editing
;
using
Microsoft.CodeAnalysis.InitializeParameter
;
using
Microsoft.CodeAnalysis.Options
;
namespace
Microsoft.CodeAnalysis.CSharp.InitializeParameter
{
...
...
@@ -49,5 +51,10 @@ protected override bool CanOffer(SyntaxNode body)
return
true
;
}
protected
override
bool
GetPreferThrowExpressionOptionValue
(
DocumentOptionSet
options
)
{
return
options
.
GetOption
(
CSharpCodeStyleOptions
.
PreferThrowExpression
).
Value
;
}
}
}
src/Features/CSharp/Portable/UseThrowExpression/CSharpUseThrowExpressionDiagnosticAnalyzer.cs
浏览文件 @
e330bfa6
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using
Microsoft.CodeAnalysis.CSharp.CodeStyle
;
using
Microsoft.CodeAnalysis.Diagnostics
;
using
Microsoft.CodeAnalysis.LanguageServices
;
using
Microsoft.CodeAnalysis.UseThrowExpression
;
...
...
@@ -9,6 +10,11 @@ namespace Microsoft.CodeAnalysis.CSharp.UseThrowExpression
[
DiagnosticAnalyzer
(
LanguageNames
.
CSharp
)]
internal
class
CSharpUseThrowExpressionDiagnosticAnalyzer
:
AbstractUseThrowExpressionDiagnosticAnalyzer
{
public
CSharpUseThrowExpressionDiagnosticAnalyzer
()
:
base
(
CSharpCodeStyleOptions
.
PreferThrowExpression
,
LanguageNames
.
CSharp
)
{
}
protected
override
bool
IsSupported
(
ParseOptions
options
)
{
var
csOptions
=
(
CSharpParseOptions
)
options
;
...
...
src/Features/Core/Portable/InitializeParameter/AbstractAddParameterCheckCodeRefactoringProvider.cs
浏览文件 @
e330bfa6
...
...
@@ -7,10 +7,10 @@
using
System.Threading
;
using
System.Threading.Tasks
;
using
Microsoft.CodeAnalysis.CodeActions
;
using
Microsoft.CodeAnalysis.CodeStyle
;
using
Microsoft.CodeAnalysis.Editing
;
using
Microsoft.CodeAnalysis.LanguageServices
;
using
Microsoft.CodeAnalysis.Operations
;
using
Microsoft.CodeAnalysis.Options
;
using
Microsoft.CodeAnalysis.PooledObjects
;
using
Microsoft.CodeAnalysis.Shared.Extensions
;
using
Microsoft.CodeAnalysis.Text
;
...
...
@@ -472,7 +472,7 @@ private static TStatementSyntax CreateNullCheckStatement(SemanticModel semanticM
}
var
options
=
await
document
.
GetOptionsAsync
(
cancellationToken
).
ConfigureAwait
(
false
);
if
(!
options
.
GetOption
(
CodeStyleOptions
.
PreferThrowExpression
).
Value
)
if
(!
GetPreferThrowExpressionOptionValue
(
options
)
)
{
return
null
;
}
...
...
@@ -505,6 +505,8 @@ private static TStatementSyntax CreateNullCheckStatement(SemanticModel semanticM
return
null
;
}
protected
abstract
bool
GetPreferThrowExpressionOptionValue
(
DocumentOptionSet
options
);
private
static
SyntaxNode
GetTypeNode
(
Compilation
compilation
,
SyntaxGenerator
generator
,
Type
type
)
{
...
...
src/Features/Core/Portable/UseThrowExpression/AbstractUseThrowExpressionDiagnosticAnalyzer.cs
浏览文件 @
e330bfa6
...
...
@@ -6,8 +6,8 @@
using
Microsoft.CodeAnalysis.Diagnostics
;
using
Microsoft.CodeAnalysis.LanguageServices
;
using
Microsoft.CodeAnalysis.Operations
;
using
Microsoft.CodeAnalysis.Options
;
using
Microsoft.CodeAnalysis.Shared.Extensions
;
using
Microsoft.CodeAnalysis.Text
;
namespace
Microsoft.CodeAnalysis.UseThrowExpression
{
...
...
@@ -33,12 +33,16 @@ namespace Microsoft.CodeAnalysis.UseThrowExpression
internal
abstract
class
AbstractUseThrowExpressionDiagnosticAnalyzer
:
AbstractBuiltInCodeStyleDiagnosticAnalyzer
{
protected
AbstractUseThrowExpressionDiagnosticAnalyzer
()
private
readonly
Option
<
CodeStyleOption
<
bool
>>
_preferThrowExpressionOption
;
protected
AbstractUseThrowExpressionDiagnosticAnalyzer
(
Option
<
CodeStyleOption
<
bool
>>
preferThrowExpressionOption
,
string
language
)
:
base
(
IDEDiagnosticIds
.
UseThrowExpressionDiagnosticId
,
CodeStyleOptions
.
PreferThrowExpression
,
preferThrowExpressionOption
,
language
,
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Use_throw_expression
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Null_check_can_be_simplified
),
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)))
{
_preferThrowExpressionOption
=
preferThrowExpressionOption
;
}
public
override
DiagnosticAnalyzerCategory
GetAnalyzerCategory
()
...
...
@@ -94,7 +98,7 @@ private void AnalyzeOperation(OperationAnalysisContext context, INamedTypeSymbol
return
;
}
var
option
=
optionSet
.
GetOption
(
CodeStyleOptions
.
PreferThrowExpression
,
throwStatementSyntax
.
Language
);
var
option
=
optionSet
.
GetOption
(
_preferThrowExpressionOption
);
if
(!
option
.
Value
)
{
return
;
...
...
src/Features/VisualBasic/Portable/InitializeParameter/VisualBasicAddParameterCheckCodeRefactoringProvider.vb
浏览文件 @
e330bfa6
...
...
@@ -4,6 +4,7 @@ Imports System.Composition
Imports
Microsoft.CodeAnalysis.CodeRefactorings
Imports
Microsoft.CodeAnalysis.Editing
Imports
Microsoft.CodeAnalysis.InitializeParameter
Imports
Microsoft.CodeAnalysis.Options
Imports
Microsoft.CodeAnalysis.VisualBasic.Syntax
Namespace
Microsoft.CodeAnalysis.VisualBasic.InitializeParameter
...
...
@@ -40,6 +41,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.InitializeParameter
Return
True
End
Function
Protected
Overrides
Function
GetPreferThrowExpressionOptionValue
(
options
As
DocumentOptionSet
)
As
Boolean
' No throw expression preference option is defined for VB because it doesn't support throw expressions.
Return
False
End
Function
Protected
Overrides
Function
GetBody
(
functionDeclaration
As
SyntaxNode
)
As
SyntaxNode
Return
InitializeParameterHelpers
.
GetBody
(
functionDeclaration
)
End
Function
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录