Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
bc56c531
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,发现更多精彩内容 >>
提交
bc56c531
编写于
12月 16, 2018
作者:
K
KristianJakubik
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add feature resources for analyzer
上级
fbd0d4ad
变更
18
隐藏空白更改
内联
并排
Showing
18 changed file
with
118 addition
and
7 deletion
+118
-7
src/EditorFeatures/CSharpTest/MakeStructFieldsWritable/MakeStructFieldsWritableTests.cs
...MakeStructFieldsWritable/MakeStructFieldsWritableTests.cs
+33
-0
src/Features/CSharp/Portable/MakeStructFieldsWritable/CSharpMakeStructFieldsWritableCodeFixProvider.cs
...Writable/CSharpMakeStructFieldsWritableCodeFixProvider.cs
+4
-3
src/Features/CSharp/Portable/MakeStructFieldsWritable/CSharpMakeStructFieldsWritableDiagnosticAnalyzer.cs
...table/CSharpMakeStructFieldsWritableDiagnosticAnalyzer.cs
+3
-2
src/Features/Core/Portable/FeaturesResources.Designer.cs
src/Features/Core/Portable/FeaturesResources.Designer.cs
+10
-2
src/Features/Core/Portable/FeaturesResources.resx
src/Features/Core/Portable/FeaturesResources.resx
+3
-0
src/Features/Core/Portable/xlf/FeaturesResources.cs.xlf
src/Features/Core/Portable/xlf/FeaturesResources.cs.xlf
+5
-0
src/Features/Core/Portable/xlf/FeaturesResources.de.xlf
src/Features/Core/Portable/xlf/FeaturesResources.de.xlf
+5
-0
src/Features/Core/Portable/xlf/FeaturesResources.es.xlf
src/Features/Core/Portable/xlf/FeaturesResources.es.xlf
+5
-0
src/Features/Core/Portable/xlf/FeaturesResources.fr.xlf
src/Features/Core/Portable/xlf/FeaturesResources.fr.xlf
+5
-0
src/Features/Core/Portable/xlf/FeaturesResources.it.xlf
src/Features/Core/Portable/xlf/FeaturesResources.it.xlf
+5
-0
src/Features/Core/Portable/xlf/FeaturesResources.ja.xlf
src/Features/Core/Portable/xlf/FeaturesResources.ja.xlf
+5
-0
src/Features/Core/Portable/xlf/FeaturesResources.ko.xlf
src/Features/Core/Portable/xlf/FeaturesResources.ko.xlf
+5
-0
src/Features/Core/Portable/xlf/FeaturesResources.pl.xlf
src/Features/Core/Portable/xlf/FeaturesResources.pl.xlf
+5
-0
src/Features/Core/Portable/xlf/FeaturesResources.pt-BR.xlf
src/Features/Core/Portable/xlf/FeaturesResources.pt-BR.xlf
+5
-0
src/Features/Core/Portable/xlf/FeaturesResources.ru.xlf
src/Features/Core/Portable/xlf/FeaturesResources.ru.xlf
+5
-0
src/Features/Core/Portable/xlf/FeaturesResources.tr.xlf
src/Features/Core/Portable/xlf/FeaturesResources.tr.xlf
+5
-0
src/Features/Core/Portable/xlf/FeaturesResources.zh-Hans.xlf
src/Features/Core/Portable/xlf/FeaturesResources.zh-Hans.xlf
+5
-0
src/Features/Core/Portable/xlf/FeaturesResources.zh-Hant.xlf
src/Features/Core/Portable/xlf/FeaturesResources.zh-Hant.xlf
+5
-0
未找到文件。
src/EditorFeatures/CSharpTest/MakeStructFieldsWritable/MakeStructFieldsWritableTests.cs
浏览文件 @
bc56c531
...
...
@@ -167,5 +167,38 @@ public void Test()
}"
,
expected
:
Diagnostic
(
IDEDiagnosticIds
.
MakeStructFieldsWritable
));
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsMakeStructFieldsWritable
)]
public
async
Task
SingleReadonlyField_InClass
()
{
await
TestDiagnosticMissingAsync
(
@"class MyClass
{
public readonly int Value;
public MyClass(int value)
{
Value = value;
}
public void Test()
{
[|this = new MyClass(5)|];
}
}"
);
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeActionsMakeStructFieldsWritable
)]
public
async
Task
StructWithoutField
()
{
await
TestDiagnosticMissingAsync
(
@"struct MyStruct
{
public void Test()
{
[|this = new MyStruct()|];
}
}"
);
}
}
}
src/Features/CSharp/Portable/MakeStructFieldsWritable/CSharpMakeStructFieldsWritableCodeFixProvider.cs
浏览文件 @
bc56c531
...
...
@@ -51,10 +51,11 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
{
var
readonlySyntaxToken
=
fieldDeclaration
.
ChildTokens
()
.
FirstOrDefault
(
token
=>
token
.
IsKind
(
SyntaxKind
.
ReadOnlyKeyword
));
if
(
readonlySyntaxToken
!=
default
)
{
var
newFieldDeclaration
=
fieldDeclaration
.
ReplaceToken
(
readonlySyntaxToken
,
emptyToken
);
editor
.
ReplaceNode
(
fieldDeclaration
,
newFieldDeclaration
);
var
fieldWithoutReadonly
=
fieldDeclaration
.
ReplaceToken
(
readonlySyntaxToken
,
emptyToken
);
editor
.
ReplaceNode
(
fieldDeclaration
,
fieldWithoutReadonly
);
}
}
}
...
...
@@ -63,7 +64,7 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
private
class
MyCodeAction
:
CodeAction
.
DocumentChangeAction
{
public
MyCodeAction
(
Func
<
CancellationToken
,
Task
<
Document
>>
createChangedDocument
)
:
base
(
FeaturesResources
.
Make_
field_readonly
,
createChangedDocument
)
base
(
FeaturesResources
.
Make_
readonly_fields_writable
,
createChangedDocument
)
{
}
}
...
...
src/Features/CSharp/Portable/MakeStructFieldsWritable/CSharpMakeStructFieldsWritableDiagnosticAnalyzer.cs
浏览文件 @
bc56c531
...
...
@@ -10,8 +10,8 @@ internal sealed class CSharpMakeStructFieldsWritableDiagnosticAnalyzer : Abstrac
{
private
static
readonly
DiagnosticDescriptor
s_diagnosticDescriptor
=
CreateDescriptor
(
IDEDiagnosticIds
.
MakeStructFieldsWritable
,
new
LocalizableResourceString
(
"test"
,
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
new
LocalizableResourceString
(
"test"
,
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Make_readonly_fields_writable
)
,
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
new
LocalizableResourceString
(
nameof
(
FeaturesResources
.
Make_readonly_fields_writable
)
,
FeaturesResources
.
ResourceManager
,
typeof
(
FeaturesResources
)),
isUnneccessary
:
true
);
public
CSharpMakeStructFieldsWritableDiagnosticAnalyzer
()
...
...
@@ -48,6 +48,7 @@ private void RegisterActions(CompilationStartAnalysisContext context)
{
context
.
RegisterSymbolStartAction
(
symbolStartContext
=>
{
// We are only interested in struct declarations
var
namedTypeSymbol
=
(
INamedTypeSymbol
)
symbolStartContext
.
Symbol
;
if
(
namedTypeSymbol
.
TypeKind
!=
TypeKind
.
Struct
)
return
;
...
...
src/Features/Core/Portable/FeaturesResources.Designer.cs
浏览文件 @
bc56c531
...
...
@@ -10,7 +10,6 @@
namespace
Microsoft.CodeAnalysis
{
using
System
;
using
System.Reflection
;
/// <summary>
...
...
@@ -40,7 +39,7 @@ internal class FeaturesResources {
internal
static
global
::
System
.
Resources
.
ResourceManager
ResourceManager
{
get
{
if
(
object
.
ReferenceEquals
(
resourceMan
,
null
))
{
global
::
System
.
Resources
.
ResourceManager
temp
=
new
global
::
System
.
Resources
.
ResourceManager
(
"Microsoft.CodeAnalysis.FeaturesResources"
,
typeof
(
FeaturesResources
).
GetTypeInfo
().
Assembly
);
global
::
System
.
Resources
.
ResourceManager
temp
=
new
global
::
System
.
Resources
.
ResourceManager
(
"Microsoft.CodeAnalysis.FeaturesResources"
,
typeof
(
FeaturesResources
).
Assembly
);
resourceMan
=
temp
;
}
return
resourceMan
;
...
...
@@ -2242,6 +2241,15 @@ internal class FeaturesResources {
}
}
/// <summary>
/// Looks up a localized string similar to Make readonly fields writable.
/// </summary>
internal
static
string
Make_readonly_fields_writable
{
get
{
return
ResourceManager
.
GetString
(
"Make_readonly_fields_writable"
,
resourceCulture
);
}
}
/// <summary>
/// Looks up a localized string similar to Member name can be simplified.
/// </summary>
...
...
src/Features/Core/Portable/FeaturesResources.resx
浏览文件 @
bc56c531
...
...
@@ -1481,4 +1481,7 @@ This version used in: {2}</value>
<data
name=
"_0_can_be_simplified"
xml:space=
"preserve"
>
<value>
{0} can be simplified
</value>
</data>
<data
name=
"Make_readonly_fields_writable"
xml:space=
"preserve"
>
<value>
Make readonly fields writable
</value>
</data>
</root>
\ No newline at end of file
src/Features/Core/Portable/xlf/FeaturesResources.cs.xlf
浏览文件 @
bc56c531
...
...
@@ -112,6 +112,11 @@
<target
state=
"new"
>
Introduce query variable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Make_readonly_fields_writable"
>
<source>
Make readonly fields writable
</source>
<target
state=
"new"
>
Make readonly fields writable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Private_member_0_can_be_removed_as_the_value_assigned_to_it_is_never_read"
>
<source>
Private member '{0}' can be removed as the value assigned to it is never read.
</source>
<target
state=
"new"
>
Private member '{0}' can be removed as the value assigned to it is never read.
</target>
...
...
src/Features/Core/Portable/xlf/FeaturesResources.de.xlf
浏览文件 @
bc56c531
...
...
@@ -112,6 +112,11 @@
<target
state=
"new"
>
Introduce query variable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Make_readonly_fields_writable"
>
<source>
Make readonly fields writable
</source>
<target
state=
"new"
>
Make readonly fields writable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Private_member_0_can_be_removed_as_the_value_assigned_to_it_is_never_read"
>
<source>
Private member '{0}' can be removed as the value assigned to it is never read.
</source>
<target
state=
"new"
>
Private member '{0}' can be removed as the value assigned to it is never read.
</target>
...
...
src/Features/Core/Portable/xlf/FeaturesResources.es.xlf
浏览文件 @
bc56c531
...
...
@@ -112,6 +112,11 @@
<target
state=
"new"
>
Introduce query variable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Make_readonly_fields_writable"
>
<source>
Make readonly fields writable
</source>
<target
state=
"new"
>
Make readonly fields writable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Private_member_0_can_be_removed_as_the_value_assigned_to_it_is_never_read"
>
<source>
Private member '{0}' can be removed as the value assigned to it is never read.
</source>
<target
state=
"new"
>
Private member '{0}' can be removed as the value assigned to it is never read.
</target>
...
...
src/Features/Core/Portable/xlf/FeaturesResources.fr.xlf
浏览文件 @
bc56c531
...
...
@@ -112,6 +112,11 @@
<target
state=
"new"
>
Introduce query variable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Make_readonly_fields_writable"
>
<source>
Make readonly fields writable
</source>
<target
state=
"new"
>
Make readonly fields writable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Private_member_0_can_be_removed_as_the_value_assigned_to_it_is_never_read"
>
<source>
Private member '{0}' can be removed as the value assigned to it is never read.
</source>
<target
state=
"new"
>
Private member '{0}' can be removed as the value assigned to it is never read.
</target>
...
...
src/Features/Core/Portable/xlf/FeaturesResources.it.xlf
浏览文件 @
bc56c531
...
...
@@ -112,6 +112,11 @@
<target
state=
"new"
>
Introduce query variable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Make_readonly_fields_writable"
>
<source>
Make readonly fields writable
</source>
<target
state=
"new"
>
Make readonly fields writable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Private_member_0_can_be_removed_as_the_value_assigned_to_it_is_never_read"
>
<source>
Private member '{0}' can be removed as the value assigned to it is never read.
</source>
<target
state=
"new"
>
Private member '{0}' can be removed as the value assigned to it is never read.
</target>
...
...
src/Features/Core/Portable/xlf/FeaturesResources.ja.xlf
浏览文件 @
bc56c531
...
...
@@ -112,6 +112,11 @@
<target
state=
"new"
>
Introduce query variable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Make_readonly_fields_writable"
>
<source>
Make readonly fields writable
</source>
<target
state=
"new"
>
Make readonly fields writable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Private_member_0_can_be_removed_as_the_value_assigned_to_it_is_never_read"
>
<source>
Private member '{0}' can be removed as the value assigned to it is never read.
</source>
<target
state=
"new"
>
Private member '{0}' can be removed as the value assigned to it is never read.
</target>
...
...
src/Features/Core/Portable/xlf/FeaturesResources.ko.xlf
浏览文件 @
bc56c531
...
...
@@ -112,6 +112,11 @@
<target
state=
"new"
>
Introduce query variable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Make_readonly_fields_writable"
>
<source>
Make readonly fields writable
</source>
<target
state=
"new"
>
Make readonly fields writable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Private_member_0_can_be_removed_as_the_value_assigned_to_it_is_never_read"
>
<source>
Private member '{0}' can be removed as the value assigned to it is never read.
</source>
<target
state=
"new"
>
Private member '{0}' can be removed as the value assigned to it is never read.
</target>
...
...
src/Features/Core/Portable/xlf/FeaturesResources.pl.xlf
浏览文件 @
bc56c531
...
...
@@ -112,6 +112,11 @@
<target
state=
"new"
>
Introduce query variable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Make_readonly_fields_writable"
>
<source>
Make readonly fields writable
</source>
<target
state=
"new"
>
Make readonly fields writable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Private_member_0_can_be_removed_as_the_value_assigned_to_it_is_never_read"
>
<source>
Private member '{0}' can be removed as the value assigned to it is never read.
</source>
<target
state=
"new"
>
Private member '{0}' can be removed as the value assigned to it is never read.
</target>
...
...
src/Features/Core/Portable/xlf/FeaturesResources.pt-BR.xlf
浏览文件 @
bc56c531
...
...
@@ -112,6 +112,11 @@
<target
state=
"new"
>
Introduce query variable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Make_readonly_fields_writable"
>
<source>
Make readonly fields writable
</source>
<target
state=
"new"
>
Make readonly fields writable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Private_member_0_can_be_removed_as_the_value_assigned_to_it_is_never_read"
>
<source>
Private member '{0}' can be removed as the value assigned to it is never read.
</source>
<target
state=
"new"
>
Private member '{0}' can be removed as the value assigned to it is never read.
</target>
...
...
src/Features/Core/Portable/xlf/FeaturesResources.ru.xlf
浏览文件 @
bc56c531
...
...
@@ -112,6 +112,11 @@
<target
state=
"new"
>
Introduce query variable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Make_readonly_fields_writable"
>
<source>
Make readonly fields writable
</source>
<target
state=
"new"
>
Make readonly fields writable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Private_member_0_can_be_removed_as_the_value_assigned_to_it_is_never_read"
>
<source>
Private member '{0}' can be removed as the value assigned to it is never read.
</source>
<target
state=
"new"
>
Private member '{0}' can be removed as the value assigned to it is never read.
</target>
...
...
src/Features/Core/Portable/xlf/FeaturesResources.tr.xlf
浏览文件 @
bc56c531
...
...
@@ -112,6 +112,11 @@
<target
state=
"new"
>
Introduce query variable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Make_readonly_fields_writable"
>
<source>
Make readonly fields writable
</source>
<target
state=
"new"
>
Make readonly fields writable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Private_member_0_can_be_removed_as_the_value_assigned_to_it_is_never_read"
>
<source>
Private member '{0}' can be removed as the value assigned to it is never read.
</source>
<target
state=
"new"
>
Private member '{0}' can be removed as the value assigned to it is never read.
</target>
...
...
src/Features/Core/Portable/xlf/FeaturesResources.zh-Hans.xlf
浏览文件 @
bc56c531
...
...
@@ -112,6 +112,11 @@
<target
state=
"new"
>
Introduce query variable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Make_readonly_fields_writable"
>
<source>
Make readonly fields writable
</source>
<target
state=
"new"
>
Make readonly fields writable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Private_member_0_can_be_removed_as_the_value_assigned_to_it_is_never_read"
>
<source>
Private member '{0}' can be removed as the value assigned to it is never read.
</source>
<target
state=
"new"
>
Private member '{0}' can be removed as the value assigned to it is never read.
</target>
...
...
src/Features/Core/Portable/xlf/FeaturesResources.zh-Hant.xlf
浏览文件 @
bc56c531
...
...
@@ -112,6 +112,11 @@
<target
state=
"new"
>
Introduce query variable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Make_readonly_fields_writable"
>
<source>
Make readonly fields writable
</source>
<target
state=
"new"
>
Make readonly fields writable
</target>
<note
/>
</trans-unit>
<trans-unit
id=
"Private_member_0_can_be_removed_as_the_value_assigned_to_it_is_never_read"
>
<source>
Private member '{0}' can be removed as the value assigned to it is never read.
</source>
<target
state=
"new"
>
Private member '{0}' can be removed as the value assigned to it is never read.
</target>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录