Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
e70e9511
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,发现更多精彩内容 >>
提交
e70e9511
编写于
7月 27, 2020
作者:
C
Cyrus Najmabadi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Pass options
上级
bf91e3f3
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
48 addition
and
4 deletion
+48
-4
src/EditorFeatures/Test/CodeGeneration/CodeGenerationTests.CSharp.cs
...eatures/Test/CodeGeneration/CodeGenerationTests.CSharp.cs
+40
-4
src/EditorFeatures/Test/CodeGeneration/CodeGenerationTests.cs
...EditorFeatures/Test/CodeGeneration/CodeGenerationTests.cs
+8
-0
未找到文件。
src/EditorFeatures/Test/CodeGeneration/CodeGenerationTests.CSharp.cs
浏览文件 @
e70e9511
...
...
@@ -951,10 +951,46 @@ public async Task AddIndexer2()
parameters
:
Parameters
(
Parameter
(
typeof
(
int
),
"i"
)),
getStatements
:
"return String.Empty;"
,
isIndexer
:
true
,
options
:
new
Dictionary
<
OptionKey2
,
object
>
{
{
CSharpCodeStyleOptions
.
PreferExpressionBodiedAccessors
,
CSharpCodeStyleOptions
.
NeverWithSilentEnforcement
},
{
CSharpCodeStyleOptions
.
PreferExpressionBodiedIndexers
,
CSharpCodeStyleOptions
.
NeverWithSilentEnforcement
},
});
codeGenerationOptions
:
new
CodeGenerationOptions
(
options
:
new
TestOptionSet
(
new
Dictionary
<
OptionKey2
,
object
>
{
{
CSharpCodeStyleOptions
.
PreferExpressionBodiedAccessors
,
CSharpCodeStyleOptions
.
NeverWithSilentEnforcement
},
{
CSharpCodeStyleOptions
.
PreferExpressionBodiedIndexers
,
CSharpCodeStyleOptions
.
NeverWithSilentEnforcement
},
})));
}
internal
class
TestOptionSet
:
OptionSet
{
private
readonly
IDictionary
<
OptionKey2
,
object
>
_values
;
public
TestOptionSet
(
Dictionary
<
OptionKey2
,
object
>
values
)
{
_values
=
values
;
}
private
protected
override
object
GetOptionCore
(
OptionKey
optionKey
)
{
Contract
.
ThrowIfFalse
(
_values
.
TryGetValue
(
new
OptionKey2
((
IOption2
)
optionKey
.
Option
,
optionKey
.
Language
),
out
var
value
));
return
value
;
}
public
override
OptionSet
WithChangedOption
(
OptionKey
optionAndLanguage
,
object
value
)
{
throw
new
NotImplementedException
();
}
internal
override
IEnumerable
<
OptionKey
>
GetChangedOptions
(
OptionSet
optionSet
)
{
foreach
(
var
kvp
in
_values
)
{
var
currentValue
=
optionSet
.
GetOption
(
kvp
.
Key
);
if
(!
object
.
Equals
(
currentValue
,
kvp
.
Value
))
{
yield
return
new
OptionKey
(
kvp
.
Key
.
Option
,
kvp
.
Key
.
Language
);
}
}
}
}
[
Fact
,
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
CodeGeneration
)]
...
...
src/EditorFeatures/Test/CodeGeneration/CodeGenerationTests.cs
浏览文件 @
e70e9511
...
...
@@ -420,6 +420,10 @@ public partial class CodeGenerationTests
getAccessor
,
setAccessor
,
isIndexer
);
var
docOptions
=
await
context
.
Document
.
GetOptionsAsync
();
codeGenerationOptions
??=
new
CodeGenerationOptions
();
codeGenerationOptions
=
codeGenerationOptions
.
With
(
options
:
codeGenerationOptions
.
Options
??
docOptions
);
context
.
Result
=
await
context
.
Service
.
AddPropertyAsync
(
context
.
Solution
,
(
INamedTypeSymbol
)
context
.
GetDestination
(),
property
,
codeGenerationOptions
);
}
...
...
@@ -546,6 +550,10 @@ public partial class CodeGenerationTests
.
GetDocument
(
documentId
)
.
GetSemanticModelAsync
();
var
docOptions
=
await
context
.
Document
.
GetOptionsAsync
();
codeGenerationOptions
??=
new
CodeGenerationOptions
();
codeGenerationOptions
=
codeGenerationOptions
.
With
(
options
:
codeGenerationOptions
.
Options
??
docOptions
);
var
symbol
=
TestContext
.
GetSelectedSymbol
<
INamespaceOrTypeSymbol
>(
destSpan
,
semanticModel
);
var
destination
=
context
.
GetDestination
();
if
(
destination
.
IsType
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录