Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
4b4ce21d
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,发现更多精彩内容 >>
未验证
提交
4b4ce21d
编写于
12月 18, 2019
作者:
J
Jason Malinowski
提交者:
GitHub
12月 18, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #40316 from jasonmalinowski/remove-nullable-helper-methods
Remove some nullable helper methods
上级
2b8a9f75
d62e8eee
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
10 addition
and
32 deletion
+10
-32
src/Features/CSharp/Portable/ExtractMethod/CSharpSelectionResult.ExpressionResult.cs
...e/ExtractMethod/CSharpSelectionResult.ExpressionResult.cs
+2
-2
src/Features/CSharp/Portable/GenerateMember/GenerateParameterizedMember/CSharpGenerateParameterizedMemberService.cs
...terizedMember/CSharpGenerateParameterizedMemberService.cs
+1
-1
src/Features/CSharp/Portable/TypeStyle/UseExplicitTypeCodeFixProvider.cs
...harp/Portable/TypeStyle/UseExplicitTypeCodeFixProvider.cs
+1
-1
src/Features/Core/Portable/IntroduceVariable/AbstractIntroduceVariableService.cs
...ble/IntroduceVariable/AbstractIntroduceVariableService.cs
+3
-3
src/Workspaces/CSharp/Portable/LanguageServices/CSharpTypeInferenceService.TypeInferrer.cs
...nguageServices/CSharpTypeInferenceService.TypeInferrer.cs
+2
-2
src/Workspaces/Core/Portable/Shared/Extensions/SemanticModelExtensions.cs
...ore/Portable/Shared/Extensions/SemanticModelExtensions.cs
+1
-1
src/Workspaces/Core/Portable/Utilities/NullableHelpers/NullableExtensions.cs
.../Portable/Utilities/NullableHelpers/NullableExtensions.cs
+0
-22
未找到文件。
src/Features/CSharp/Portable/ExtractMethod/CSharpSelectionResult.ExpressionResult.cs
浏览文件 @
4b4ce21d
...
...
@@ -62,7 +62,7 @@ public override bool ContainingScopeHasAsyncKeyword()
var
variableDeclExpression
=
node
.
GetAncestorOrThis
<
VariableDeclarationSyntax
>();
if
(
variableDeclExpression
!=
null
)
{
return
model
.
GetTypeInfo
(
variableDeclExpression
.
Type
).
GetTypeWithAnnotatedNullability
()
;
return
model
.
GetTypeInfo
(
variableDeclExpression
.
Type
).
Type
;
}
}
...
...
@@ -81,7 +81,7 @@ public override bool ContainingScopeHasAsyncKeyword()
if
(
node
.
Parent
is
CastExpressionSyntax
castExpression
)
{
return
model
.
GetTypeInfo
(
castExpression
).
GetTypeWithFlowNullability
()
;
return
model
.
GetTypeInfo
(
castExpression
).
Type
;
}
}
...
...
src/Features/CSharp/Portable/GenerateMember/GenerateParameterizedMember/CSharpGenerateParameterizedMemberService.cs
浏览文件 @
4b4ce21d
...
...
@@ -171,7 +171,7 @@ protected override ImmutableArray<ITypeSymbol> DetermineTypeArguments(Cancellati
foreach
(
var
typeArgument
in
((
GenericNameSyntax
)
State
.
SimpleNameOpt
).
TypeArgumentList
.
Arguments
)
{
var
typeInfo
=
this
.
Document
.
SemanticModel
.
GetTypeInfo
(
typeArgument
,
cancellationToken
);
result
.
Add
(
typeInfo
.
GetTypeWithAnnotatedNullability
()
);
result
.
Add
(
typeInfo
.
Type
);
}
}
...
...
src/Features/CSharp/Portable/TypeStyle/UseExplicitTypeCodeFixProvider.cs
浏览文件 @
4b4ce21d
...
...
@@ -90,7 +90,7 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
if
(
parensDesignation
is
null
)
{
var
typeSymbol
=
semanticModel
.
GetTypeInfo
(
typeSyntax
.
StripRefIfNeeded
()).
GetConvertedTypeWithAnnotatedNullability
()
;
var
typeSymbol
=
semanticModel
.
GetTypeInfo
(
typeSyntax
.
StripRefIfNeeded
()).
ConvertedType
;
// We're going to be passed through the simplifier. Tell it to not just convert
// this back to var (as that would defeat the purpose of this refactoring entirely).
...
...
src/Features/Core/Portable/IntroduceVariable/AbstractIntroduceVariableService.cs
浏览文件 @
4b4ce21d
...
...
@@ -402,17 +402,17 @@ static bool IsInstanceMemberReference(IOperation operation)
if
(
typeInfo
.
Type
?.
SpecialType
==
SpecialType
.
System_String
&&
typeInfo
.
ConvertedType
?.
IsFormattableString
()
==
true
)
{
return
typeInfo
.
GetConvertedTypeWithFlowNullability
()
;
return
typeInfo
.
ConvertedType
;
}
if
(
typeInfo
.
Type
!=
null
)
{
return
typeInfo
.
GetTypeWithFlowNullability
()
;
return
typeInfo
.
Type
;
}
if
(
typeInfo
.
ConvertedType
!=
null
)
{
return
typeInfo
.
GetConvertedTypeWithFlowNullability
()
;
return
typeInfo
.
ConvertedType
;
}
if
(
objectAsDefault
)
...
...
src/Workspaces/CSharp/Portable/LanguageServices/CSharpTypeInferenceService.TypeInferrer.cs
浏览文件 @
4b4ce21d
...
...
@@ -97,7 +97,7 @@ private IEnumerable<TypeInferenceInfo> GetTypesSimple(SyntaxNode node)
if
(
symbolInfo
.
CandidateReason
!=
CandidateReason
.
WrongArity
)
{
var
typeInferenceInfo
=
new
TypeInferenceInfo
(
typeInfo
.
GetTypeWithFlowNullability
()
);
var
typeInferenceInfo
=
new
TypeInferenceInfo
(
typeInfo
.
Type
);
// If it bound to a method, try to get the Action/Func form of that method.
if
(
typeInferenceInfo
.
InferredType
==
null
)
...
...
@@ -1194,7 +1194,7 @@ private IEnumerable<TypeInferenceInfo> InferTypeInPropertyDeclaration(PropertyDe
Debug
.
Assert
(
propertyDeclaration
?.
Type
!=
null
,
"Property type should never be null"
);
var
typeInfo
=
SemanticModel
.
GetTypeInfo
(
propertyDeclaration
.
Type
);
return
CreateResult
(
typeInfo
.
GetTypeWithAnnotatedNullability
()
);
return
CreateResult
(
typeInfo
.
Type
);
}
private
IEnumerable
<
TypeInferenceInfo
>
InferTypeInExpressionStatement
(
ExpressionStatementSyntax
expressionStatement
,
SyntaxToken
?
previousToken
=
null
)
...
...
src/Workspaces/Core/Portable/Shared/Extensions/SemanticModelExtensions.cs
浏览文件 @
4b4ce21d
...
...
@@ -80,7 +80,7 @@ public static ISymbol GetEnclosingNamedTypeOrAssembly(this SemanticModel semanti
if
(
typeInfo
.
Type
!=
null
)
{
return
typeInfo
.
GetTypeWithFlowNullability
()!
;
return
typeInfo
.
Type
;
}
var
symbolInfo
=
semanticModel
.
GetSymbolInfo
(
expression
,
cancellationToken
);
...
...
src/Workspaces/Core/Portable/Utilities/NullableHelpers/NullableExtensions.cs
浏览文件 @
4b4ce21d
...
...
@@ -8,31 +8,9 @@ namespace Microsoft.CodeAnalysis
{
internal
static
partial
class
NullableExtensions
{
public
static
T
WithNullability
<
T
>(
this
T
typeSymbol
,
NullableFlowState
flowState
)
where
T
:
class
,
ITypeSymbol
{
// TODO: call the compiler API once it's available
switch
(
flowState
)
{
case
NullableFlowState
.
None
:
return
(
T
)
typeSymbol
.
WithNullableAnnotation
(
NullableAnnotation
.
None
);
case
NullableFlowState
.
NotNull
:
return
(
T
)
typeSymbol
.
WithNullableAnnotation
(
NullableAnnotation
.
NotAnnotated
);
case
NullableFlowState
.
MaybeNull
:
return
(
T
)
typeSymbol
.
WithNullableAnnotation
(
NullableAnnotation
.
Annotated
);
default
:
throw
ExceptionUtilities
.
UnexpectedValue
(
typeSymbol
);
}
}
public
static
ITypeSymbol
?
GetConvertedTypeWithFlowNullability
(
this
TypeInfo
typeInfo
)
=>
typeInfo
.
ConvertedType
?.
WithNullability
(
typeInfo
.
ConvertedNullability
.
FlowState
);
public
static
ITypeSymbol
?
GetConvertedTypeWithAnnotatedNullability
(
this
TypeInfo
typeInfo
)
=>
typeInfo
.
ConvertedType
?.
WithNullableAnnotation
(
typeInfo
.
ConvertedNullability
.
Annotation
);
public
static
ITypeSymbol
?
GetTypeWithFlowNullability
(
this
TypeInfo
typeInfo
)
=>
typeInfo
.
Type
?.
WithNullability
(
typeInfo
.
Nullability
.
FlowState
);
public
static
ITypeSymbol
?
GetTypeWithAnnotatedNullability
(
this
TypeInfo
typeInfo
)
=>
typeInfo
.
Type
?.
WithNullableAnnotation
(
typeInfo
.
Nullability
.
Annotation
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录