Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
e2864462
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,发现更多精彩内容 >>
提交
e2864462
编写于
8月 12, 2019
作者:
J
Jason Malinowski
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix GenerateConstructorFromMembers to support top-level nullability
上级
a180ec05
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
27 addition
and
6 deletion
+27
-6
src/EditorFeatures/CSharpTest/GenerateFromMembers/GenerateConstructorFromMembers/GenerateConstructorFromMembersTests.cs
...tructorFromMembers/GenerateConstructorFromMembersTests.cs
+23
-0
src/Features/Core/Portable/GenerateConstructorFromMembers/GenerateConstructorFromMembersCodeRefactoringProvider.State.cs
...ateConstructorFromMembersCodeRefactoringProvider.State.cs
+2
-2
src/Features/Core/Portable/GenerateFromMembers/AbstractGenerateFromMembersCodeRefactoringProvider.cs
...ers/AbstractGenerateFromMembersCodeRefactoringProvider.cs
+1
-3
src/Workspaces/Core/Portable/Shared/Extensions/SyntaxGeneratorExtensions.cs
...e/Portable/Shared/Extensions/SyntaxGeneratorExtensions.cs
+1
-1
未找到文件。
src/EditorFeatures/CSharpTest/GenerateFromMembers/GenerateConstructorFromMembers/GenerateConstructorFromMembersTests.cs
浏览文件 @
e2864462
...
...
@@ -709,6 +709,29 @@ class Z
}"
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsGenerateConstructorFromMembers
)]
public
async
Task
NullableReferenceType
()
{
await
TestInRegularAndScriptAsync
(
@"#nullable enable
class Z
{
[|string? a;|]
}"
,
@"#nullable enable
class Z
{
string? a;
public Z(string? a{|Navigation:)|}
{
this.a = a;
}
}"
);
}
[
WorkItem
(
14219
,
"https://github.com/dotnet/roslyn/issues/14219"
)]
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsGenerateConstructorFromMembers
)]
public
async
Task
TestUnderscoreInName1
()
...
...
src/Features/Core/Portable/GenerateConstructorFromMembers/GenerateConstructorFromMembersCodeRefactoringProvider.State.cs
浏览文件 @
e2864462
...
...
@@ -78,8 +78,8 @@ private class State
orderby
c
.
Parameters
.
Length
descending
where
c
.
Parameters
.
Length
>
0
&&
c
.
Parameters
.
Length
<
parameters
.
Length
where
c
.
Parameters
.
All
(
p
=>
p
.
RefKind
==
RefKind
.
None
)
&&
!
c
.
Parameters
.
Any
(
p
=>
p
.
IsParams
)
let
constructorTypes
=
c
.
Parameters
.
Select
(
p
=>
p
.
Type
)
let
symbolTypes
=
parameters
.
Take
(
c
.
Parameters
.
Length
).
Select
(
p
=>
p
.
Type
)
let
constructorTypes
=
c
.
Parameters
.
Select
(
p
=>
p
.
GetTypeWithAnnotatedNullability
()
)
let
symbolTypes
=
parameters
.
Take
(
c
.
Parameters
.
Length
).
Select
(
p
=>
p
.
GetTypeWithAnnotatedNullability
()
)
where
constructorTypes
.
SequenceEqual
(
symbolTypes
)
select
c
;
...
...
src/Features/Core/Portable/GenerateFromMembers/AbstractGenerateFromMembersCodeRefactoringProvider.cs
浏览文件 @
e2864462
...
...
@@ -121,9 +121,7 @@ private static bool IsViableProperty(IPropertySymbol property)
foreach
(
var
symbol
in
selectedMembers
)
{
var
type
=
symbol
is
IFieldSymbol
?
((
IFieldSymbol
)
symbol
).
Type
:
((
IPropertySymbol
)
symbol
).
Type
;
var
type
=
symbol
.
GetMemberType
();
var
identifierNameParts
=
IdentifierNameParts
.
CreateIdentifierNameParts
(
symbol
,
rules
);
if
(
identifierNameParts
.
BaseName
==
""
)
...
...
src/Workspaces/Core/Portable/Shared/Extensions/SyntaxGeneratorExtensions.cs
浏览文件 @
e2864462
...
...
@@ -125,7 +125,7 @@ internal static partial class SyntaxGeneratorExtensions
foreach
(
var
parameter
in
parameters
)
{
var
refKind
=
parameter
.
RefKind
;
var
parameterType
=
parameter
.
Type
;
var
parameterType
=
parameter
.
GetTypeWithAnnotatedNullability
()
;
var
parameterName
=
parameter
.
Name
;
if
(
refKind
!=
RefKind
.
Out
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录