Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
0905634a
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,发现更多精彩内容 >>
提交
0905634a
编写于
3月 10, 2017
作者:
C
CyrusNajmabadi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Use patterns in more places.
上级
40f44bed
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
152 addition
and
194 deletion
+152
-194
src/Test/Utilities/Portable/Diagnostics/OperationTestAnalyzer.cs
...t/Utilities/Portable/Diagnostics/OperationTestAnalyzer.cs
+2
-2
src/VisualStudio/CSharp/Impl/CodeModel/CSharpCodeModelService.CodeModelEventCollector.cs
...deModel/CSharpCodeModelService.CodeModelEventCollector.cs
+37
-40
src/VisualStudio/CSharp/Impl/CodeModel/CSharpCodeModelService.cs
...ualStudio/CSharp/Impl/CodeModel/CSharpCodeModelService.cs
+75
-110
src/VisualStudio/CSharp/Impl/CodeModel/SyntaxNodeExtensions.cs
...isualStudio/CSharp/Impl/CodeModel/SyntaxNodeExtensions.cs
+16
-16
src/VisualStudio/CSharp/Impl/Debugging/CSharpProximityExpressionsService_ExpressionTermCollector.cs
...arpProximityExpressionsService_ExpressionTermCollector.cs
+11
-14
src/VisualStudio/IntegrationTest/TestUtilities/Input/SendKeys.cs
...ualStudio/IntegrationTest/TestUtilities/Input/SendKeys.cs
+9
-10
src/Workspaces/Remote/Core/Services/AssetStorage.cs
src/Workspaces/Remote/Core/Services/AssetStorage.cs
+2
-2
未找到文件。
src/Test/Utilities/Portable/Diagnostics/OperationTestAnalyzer.cs
浏览文件 @
0905634a
...
...
@@ -1155,9 +1155,9 @@ private static long IntegralValue(object value)
return
(
long
)
value
;
}
if
(
value
is
int
)
if
(
value
is
int
i
)
{
return
(
int
)
value
;
return
i
;
}
return
0
;
...
...
src/VisualStudio/CSharp/Impl/CodeModel/CSharpCodeModelService.CodeModelEventCollector.cs
浏览文件 @
0905634a
...
...
@@ -254,17 +254,17 @@ private bool CompareParameters(ParameterSyntax oldParameter, ParameterSyntax new
{
return
CompareMethodDeclarations
((
BaseMethodDeclarationSyntax
)
oldMember
,
(
BaseMethodDeclarationSyntax
)
newMember
,
newNodeParent
,
eventQueue
);
}
else
if
(
oldMember
is
BaseFieldDeclarationSyntax
)
else
if
(
oldMember
is
BaseFieldDeclarationSyntax
baseField
)
{
return
CompareFieldDeclarations
(
(
BaseFieldDeclarationSyntax
)
oldMember
,
(
BaseFieldDeclarationSyntax
)
newMember
,
newNodeParent
,
eventQueue
);
return
CompareFieldDeclarations
(
baseField
,
(
BaseFieldDeclarationSyntax
)
newMember
,
newNodeParent
,
eventQueue
);
}
else
if
(
oldMember
is
BasePropertyDeclarationSyntax
)
else
if
(
oldMember
is
BasePropertyDeclarationSyntax
baseProperty
)
{
return
ComparePropertyDeclarations
(
(
BasePropertyDeclarationSyntax
)
oldMember
,
(
BasePropertyDeclarationSyntax
)
newMember
,
newNodeParent
,
eventQueue
);
return
ComparePropertyDeclarations
(
baseProperty
,
(
BasePropertyDeclarationSyntax
)
newMember
,
newNodeParent
,
eventQueue
);
}
else
if
(
oldMember
is
EnumMemberDeclarationSyntax
)
else
if
(
oldMember
is
EnumMemberDeclarationSyntax
enumMember
)
{
return
CompareEnumMemberDeclarations
(
(
EnumMemberDeclarationSyntax
)
old
Member
,
(
EnumMemberDeclarationSyntax
)
newMember
,
newNodeParent
,
eventQueue
);
return
CompareEnumMemberDeclarations
(
enum
Member
,
(
EnumMemberDeclarationSyntax
)
newMember
,
newNodeParent
,
eventQueue
);
}
throw
new
NotImplementedException
();
...
...
@@ -335,9 +335,8 @@ private bool CompareParameters(ParameterSyntax oldParameter, ParameterSyntax new
CodeModelEventType
.
Unknown
,
eventQueue
);
if
(
oldProperty
is
IndexerDeclarationSyntax
)
if
(
oldProperty
is
IndexerDeclarationSyntax
oldIndexer
)
{
var
oldIndexer
=
(
IndexerDeclarationSyntax
)
oldProperty
;
var
newIndexer
=
(
IndexerDeclarationSyntax
)
newProperty
;
same
&=
CompareChildren
(
CompareParameters
,
...
...
@@ -528,9 +527,8 @@ private bool CompareParameters(ParameterSyntax oldParameter, ParameterSyntax new
return
false
;
}
if
(
oldMember
is
BaseTypeDeclarationSyntax
)
if
(
oldMember
is
BaseTypeDeclarationSyntax
oldType
)
{
var
oldType
=
(
BaseTypeDeclarationSyntax
)
oldMember
;
var
newType
=
(
BaseTypeDeclarationSyntax
)
newMember
;
var
oldMembers
=
GetValidMembers
(
oldType
);
...
...
@@ -590,9 +588,8 @@ private bool CompareParameters(ParameterSyntax oldParameter, ParameterSyntax new
return
same
;
}
else
if
(
oldMember
is
DelegateDeclarationSyntax
)
else
if
(
oldMember
is
DelegateDeclarationSyntax
oldDelegate
)
{
var
oldDelegate
=
(
DelegateDeclarationSyntax
)
oldMember
;
var
newDelegate
=
(
DelegateDeclarationSyntax
)
newMember
;
bool
same
=
true
;
...
...
@@ -673,9 +670,9 @@ private bool CompareParameters(ParameterSyntax oldParameter, ParameterSyntax new
{
return
CompareTypeDeclarations
(
oldNamespaceOrType
,
newNamespaceOrType
,
newNodeParent
,
eventQueue
);
}
else
if
(
oldNamespaceOrType
is
NamespaceDeclarationSyntax
)
else
if
(
oldNamespaceOrType
is
NamespaceDeclarationSyntax
namespaceDecl
)
{
return
CompareNamespaceDeclarations
(
(
NamespaceDeclarationSyntax
)
oldNamespaceOrType
,
(
NamespaceDeclarationSyntax
)
newNamespaceOrType
,
newNodeParent
,
eventQueue
);
return
CompareNamespaceDeclarations
(
namespaceDecl
,
(
NamespaceDeclarationSyntax
)
newNamespaceOrType
,
newNodeParent
,
eventQueue
);
}
return
false
;
...
...
@@ -837,13 +834,13 @@ private bool CompareTypes(TypeSyntax oldType, TypeSyntax newType)
private
TypeSyntax
GetReturnType
(
BaseMethodDeclarationSyntax
method
)
{
if
(
method
is
MethodDeclarationSyntax
)
if
(
method
is
MethodDeclarationSyntax
methodDecl
)
{
return
((
MethodDeclarationSyntax
)
method
)
.
ReturnType
;
return
methodDecl
.
ReturnType
;
}
else
if
(
method
is
OperatorDeclarationSyntax
)
else
if
(
method
is
OperatorDeclarationSyntax
operatorDecl
)
{
return
((
OperatorDeclarationSyntax
)
method
)
.
ReturnType
;
return
operatorDecl
.
ReturnType
;
}
// TODO(DustinCa): What about conversion operators? How does the legacy code base handle those?
...
...
@@ -868,23 +865,23 @@ protected override void EnqueueAddEvent(SyntaxNode node, SyntaxNode parent, Code
return
;
}
if
(
node
is
BaseFieldDeclarationSyntax
)
if
(
node
is
BaseFieldDeclarationSyntax
baseField
)
{
foreach
(
var
variableDeclarator
in
((
BaseFieldDeclarationSyntax
)
node
)
.
Declaration
.
Variables
)
foreach
(
var
variableDeclarator
in
baseField
.
Declaration
.
Variables
)
{
eventQueue
.
EnqueueAddEvent
(
variableDeclarator
,
parent
);
}
}
else
if
(
node
is
AttributeListSyntax
)
else
if
(
node
is
AttributeListSyntax
attributeList
)
{
foreach
(
var
attribute
in
((
AttributeListSyntax
)
node
)
.
Attributes
)
foreach
(
var
attribute
in
attributeList
.
Attributes
)
{
AddEventToEventQueueForAttributes
(
attribute
,
parent
,
eventQueue
.
EnqueueAddEvent
);
}
}
else
if
(
node
is
AttributeSyntax
)
else
if
(
node
is
AttributeSyntax
attribute
)
{
AddEventToEventQueueForAttributes
(
(
AttributeSyntax
)
nod
e
,
parent
,
eventQueue
.
EnqueueAddEvent
);
AddEventToEventQueueForAttributes
(
attribut
e
,
parent
,
eventQueue
.
EnqueueAddEvent
);
}
else
{
...
...
@@ -904,23 +901,23 @@ protected override void EnqueueChangeEvent(SyntaxNode node, SyntaxNode parent, C
return
;
}
if
(
node
is
BaseFieldDeclarationSyntax
)
if
(
node
is
BaseFieldDeclarationSyntax
baseField
)
{
foreach
(
var
variableDeclarator
in
((
BaseFieldDeclarationSyntax
)
node
)
.
Declaration
.
Variables
)
foreach
(
var
variableDeclarator
in
baseField
.
Declaration
.
Variables
)
{
eventQueue
.
EnqueueChangeEvent
(
variableDeclarator
,
parent
,
eventType
);
}
}
else
if
(
node
is
AttributeListSyntax
)
else
if
(
node
is
AttributeListSyntax
attributeList
)
{
foreach
(
var
attribute
in
((
AttributeListSyntax
)
node
)
.
Attributes
)
foreach
(
var
attribute
in
attributeList
.
Attributes
)
{
ChangeEventQueueForAttributes
(
attribute
,
parent
,
eventType
,
eventQueue
);
}
}
else
if
(
node
is
AttributeSyntax
)
else
if
(
node
is
AttributeSyntax
attribute
)
{
ChangeEventQueueForAttributes
(
(
AttributeSyntax
)
nod
e
,
parent
,
eventType
,
eventQueue
);
ChangeEventQueueForAttributes
(
attribut
e
,
parent
,
eventType
,
eventQueue
);
}
else
{
...
...
@@ -930,9 +927,9 @@ protected override void EnqueueChangeEvent(SyntaxNode node, SyntaxNode parent, C
private
static
void
ChangeEventQueueForAttributes
(
AttributeSyntax
attribute
,
SyntaxNode
parent
,
CodeModelEventType
eventType
,
CodeModelEventQueue
eventQueue
)
{
if
(
parent
is
BaseFieldDeclarationSyntax
)
if
(
parent
is
BaseFieldDeclarationSyntax
baseField
)
{
foreach
(
var
variableDeclarator
in
((
BaseFieldDeclarationSyntax
)
parent
)
.
Declaration
.
Variables
)
foreach
(
var
variableDeclarator
in
baseField
.
Declaration
.
Variables
)
{
eventQueue
.
EnqueueChangeEvent
(
attribute
,
variableDeclarator
,
eventType
);
}
...
...
@@ -955,23 +952,23 @@ protected override void EnqueueRemoveEvent(SyntaxNode node, SyntaxNode parent, C
return
;
}
if
(
node
is
BaseFieldDeclarationSyntax
)
if
(
node
is
BaseFieldDeclarationSyntax
baseField
)
{
foreach
(
var
variableDeclarator
in
((
BaseFieldDeclarationSyntax
)
node
)
.
Declaration
.
Variables
)
foreach
(
var
variableDeclarator
in
baseField
.
Declaration
.
Variables
)
{
eventQueue
.
EnqueueRemoveEvent
(
variableDeclarator
,
parent
);
}
}
else
if
(
node
is
AttributeListSyntax
)
else
if
(
node
is
AttributeListSyntax
attributeList
)
{
foreach
(
var
attribute
in
((
AttributeListSyntax
)
node
)
.
Attributes
)
foreach
(
var
attribute
in
attributeList
.
Attributes
)
{
AddEventToEventQueueForAttributes
(
attribute
,
parent
,
eventQueue
.
EnqueueRemoveEvent
);
}
}
else
if
(
node
is
AttributeSyntax
)
else
if
(
node
is
AttributeSyntax
attribute
)
{
AddEventToEventQueueForAttributes
(
(
AttributeSyntax
)
nod
e
,
parent
,
eventQueue
.
EnqueueRemoveEvent
);
AddEventToEventQueueForAttributes
(
attribut
e
,
parent
,
eventQueue
.
EnqueueRemoveEvent
);
}
else
{
...
...
@@ -981,9 +978,9 @@ protected override void EnqueueRemoveEvent(SyntaxNode node, SyntaxNode parent, C
private
void
AddEventToEventQueueForAttributes
(
AttributeSyntax
attribute
,
SyntaxNode
parent
,
Action
<
SyntaxNode
,
SyntaxNode
>
enqueueAddOrRemoveEvent
)
{
if
(
parent
is
BaseFieldDeclarationSyntax
)
if
(
parent
is
BaseFieldDeclarationSyntax
baseField
)
{
foreach
(
var
variableDeclarator
in
((
BaseFieldDeclarationSyntax
)
parent
)
.
Declaration
.
Variables
)
foreach
(
var
variableDeclarator
in
baseField
.
Declaration
.
Variables
)
{
enqueueAddOrRemoveEvent
(
attribute
,
variableDeclarator
);
}
...
...
src/VisualStudio/CSharp/Impl/CodeModel/CSharpCodeModelService.cs
浏览文件 @
0905634a
...
...
@@ -294,46 +294,46 @@ private static IEnumerable<SyntaxNode> GetAttributeNodes(SyntaxList<AttributeLis
public
override
IEnumerable
<
SyntaxNode
>
GetAttributeNodes
(
SyntaxNode
parent
)
{
if
(
parent
is
CompilationUnitSyntax
)
if
(
parent
is
CompilationUnitSyntax
compilationUnit
)
{
return
GetAttributeNodes
(
((
CompilationUnitSyntax
)
parent
)
.
AttributeLists
);
return
GetAttributeNodes
(
compilationUnit
.
AttributeLists
);
}
else
if
(
parent
is
BaseTypeDeclarationSyntax
)
else
if
(
parent
is
BaseTypeDeclarationSyntax
baseType
)
{
return
GetAttributeNodes
(
((
BaseTypeDeclarationSyntax
)
parent
)
.
AttributeLists
);
return
GetAttributeNodes
(
baseType
.
AttributeLists
);
}
else
if
(
parent
is
BaseMethodDeclarationSyntax
)
else
if
(
parent
is
BaseMethodDeclarationSyntax
baseMethod
)
{
return
GetAttributeNodes
(
((
BaseMethodDeclarationSyntax
)
parent
)
.
AttributeLists
);
return
GetAttributeNodes
(
baseMethod
.
AttributeLists
);
}
else
if
(
parent
is
BasePropertyDeclarationSyntax
)
else
if
(
parent
is
BasePropertyDeclarationSyntax
baseProperty
)
{
return
GetAttributeNodes
(
((
BasePropertyDeclarationSyntax
)
parent
)
.
AttributeLists
);
return
GetAttributeNodes
(
baseProperty
.
AttributeLists
);
}
else
if
(
parent
is
BaseFieldDeclarationSyntax
)
else
if
(
parent
is
BaseFieldDeclarationSyntax
baseField
)
{
return
GetAttributeNodes
(
((
BaseFieldDeclarationSyntax
)
parent
)
.
AttributeLists
);
return
GetAttributeNodes
(
baseField
.
AttributeLists
);
}
else
if
(
parent
is
DelegateDeclarationSyntax
)
else
if
(
parent
is
DelegateDeclarationSyntax
delegateDecl
)
{
return
GetAttributeNodes
(
((
DelegateDeclarationSyntax
)
parent
)
.
AttributeLists
);
return
GetAttributeNodes
(
delegateDecl
.
AttributeLists
);
}
else
if
(
parent
is
EnumMemberDeclarationSyntax
)
else
if
(
parent
is
EnumMemberDeclarationSyntax
enumMember
)
{
return
GetAttributeNodes
(
((
EnumMemberDeclarationSyntax
)
parent
)
.
AttributeLists
);
return
GetAttributeNodes
(
enumMember
.
AttributeLists
);
}
else
if
(
parent
is
ParameterSyntax
)
else
if
(
parent
is
ParameterSyntax
parameter
)
{
return
GetAttributeNodes
(
((
ParameterSyntax
)
parent
)
.
AttributeLists
);
return
GetAttributeNodes
(
parameter
.
AttributeLists
);
}
else
if
(
parent
is
VariableDeclaratorSyntax
||
parent
is
VariableDeclarationSyntax
)
{
return
GetAttributeNodes
(
parent
.
Parent
);
}
else
if
(
parent
is
AccessorDeclarationSyntax
)
else
if
(
parent
is
AccessorDeclarationSyntax
accessor
)
{
return
GetAttributeNodes
(
((
AccessorDeclarationSyntax
)
parent
)
.
AttributeLists
);
return
GetAttributeNodes
(
accessor
.
AttributeLists
);
}
return
SpecializedCollections
.
EmptyEnumerable
<
SyntaxNode
>();
...
...
@@ -341,10 +341,8 @@ public override IEnumerable<SyntaxNode> GetAttributeNodes(SyntaxNode parent)
public
override
IEnumerable
<
SyntaxNode
>
GetAttributeArgumentNodes
(
SyntaxNode
parent
)
{
if
(
parent
is
AttributeSyntax
)
if
(
parent
is
AttributeSyntax
attribute
)
{
var
attribute
=
(
AttributeSyntax
)
parent
;
if
(
attribute
.
ArgumentList
==
null
)
{
return
SpecializedCollections
.
EmptyEnumerable
<
SyntaxNode
>();
...
...
@@ -380,9 +378,9 @@ public override IEnumerable<SyntaxNode> GetImplementsNodes(SyntaxNode parent)
private
static
IEnumerable
<
MemberDeclarationSyntax
>
GetChildMemberNodes
(
SyntaxNode
container
)
{
if
(
container
is
CompilationUnitSyntax
)
if
(
container
is
CompilationUnitSyntax
compilationUnit
)
{
foreach
(
var
member
in
((
CompilationUnitSyntax
)
container
)
.
Members
)
foreach
(
var
member
in
compilationUnit
.
Members
)
{
if
(
IsNamespaceOrTypeDeclaration
(
member
))
{
...
...
@@ -390,9 +388,9 @@ private static IEnumerable<MemberDeclarationSyntax> GetChildMemberNodes(SyntaxNo
}
}
}
else
if
(
container
is
NamespaceDeclarationSyntax
)
else
if
(
container
is
NamespaceDeclarationSyntax
namespaceDecl
)
{
foreach
(
var
member
in
((
NamespaceDeclarationSyntax
)
container
)
.
Members
)
foreach
(
var
member
in
namespaceDecl
.
Members
)
{
if
(
IsNamespaceOrTypeDeclaration
(
member
))
{
...
...
@@ -400,9 +398,9 @@ private static IEnumerable<MemberDeclarationSyntax> GetChildMemberNodes(SyntaxNo
}
}
}
else
if
(
container
is
TypeDeclarationSyntax
)
else
if
(
container
is
TypeDeclarationSyntax
typeDecl
)
{
foreach
(
var
member
in
((
TypeDeclarationSyntax
)
container
)
.
Members
)
foreach
(
var
member
in
typeDecl
.
Members
)
{
if
(
member
.
Kind
()
!=
SyntaxKind
.
NamespaceDeclaration
)
{
...
...
@@ -410,9 +408,9 @@ private static IEnumerable<MemberDeclarationSyntax> GetChildMemberNodes(SyntaxNo
}
}
}
else
if
(
container
is
EnumDeclarationSyntax
)
else
if
(
container
is
EnumDeclarationSyntax
enumDecl
)
{
foreach
(
var
member
in
((
EnumDeclarationSyntax
)
container
)
.
Members
)
foreach
(
var
member
in
enumDecl
.
Members
)
{
yield
return
member
;
}
...
...
@@ -452,7 +450,7 @@ public override IEnumerable<SyntaxNode> GetMemberNodes(SyntaxNode container, boo
foreach
(
var
member
in
GetChildMemberNodes
(
container
))
{
if
(
member
is
BaseFieldDeclarationSyntax
)
if
(
member
is
BaseFieldDeclarationSyntax
baseField
)
{
// For fields, the 'logical' and 'supported' flags are intrinsically tied.
// * If 'logical' is true, only declarators should be returned, regardless of the value of 'supported'.
...
...
@@ -460,7 +458,7 @@ public override IEnumerable<SyntaxNode> GetMemberNodes(SyntaxNode container, boo
if
(
logicalFields
)
{
foreach
(
var
declarator
in
((
BaseFieldDeclarationSyntax
)
member
)
.
Declaration
.
Variables
)
foreach
(
var
declarator
in
baseField
.
Declaration
.
Variables
)
{
// We know that variable declarators are supported, so there's no need to check them here.
yield
return
declarator
;
...
...
@@ -653,15 +651,14 @@ public override EnvDTE.CodeTypeRef CreateCodeTypeRef(CodeModelState state, Proje
string
typeName
;
object
parent
=
null
;
if
(
type
is
EnvDTE
.
CodeType
)
if
(
type
is
EnvDTE
.
CodeType
codeType
)
{
var
codeType
=
(
EnvDTE
.
CodeType
)
type
;
typeName
=
codeType
.
FullName
;
parent
=
codeType
;
}
else
if
(
type
is
string
)
else
if
(
type
is
string
str
)
{
typeName
=
(
string
)
type
;
typeName
=
str
;
}
else
{
...
...
@@ -967,9 +964,9 @@ public override string GetFullName(SyntaxNode node, SemanticModel semanticModel)
public
override
string
GetFullyQualifiedName
(
string
name
,
int
position
,
SemanticModel
semanticModel
)
{
var
typeName
=
SyntaxFactory
.
ParseTypeName
(
name
);
if
(
typeName
is
PredefinedTypeSyntax
)
if
(
typeName
is
PredefinedTypeSyntax
predefinedTypeNode
)
{
if
(
SyntaxFactsService
.
TryGetPredefinedType
(
((
PredefinedTypeSyntax
)
typeName
)
.
Keyword
,
out
var
predefinedType
))
if
(
SyntaxFactsService
.
TryGetPredefinedType
(
predefinedTypeNode
.
Keyword
,
out
var
predefinedType
))
{
var
specialType
=
predefinedType
.
ToSpecialType
();
return
semanticModel
.
Compilation
.
GetSpecialType
(
specialType
).
GetEscapedFullName
();
...
...
@@ -1461,17 +1458,17 @@ public override SyntaxNode SetDocComment(SyntaxNode node, string value)
public
override
IEnumerable
<
SyntaxNode
>
GetParameterNodes
(
SyntaxNode
parentNode
)
{
if
(
parentNode
is
BaseMethodDeclarationSyntax
)
if
(
parentNode
is
BaseMethodDeclarationSyntax
baseMethod
)
{
return
((
BaseMethodDeclarationSyntax
)
parentNode
)
.
ParameterList
.
Parameters
;
return
baseMethod
.
ParameterList
.
Parameters
;
}
else
if
(
parentNode
is
IndexerDeclarationSyntax
)
else
if
(
parentNode
is
IndexerDeclarationSyntax
indexer
)
{
return
((
IndexerDeclarationSyntax
)
parentNode
)
.
ParameterList
.
Parameters
;
return
indexer
.
ParameterList
.
Parameters
;
}
else
if
(
parentNode
is
DelegateDeclarationSyntax
)
else
if
(
parentNode
is
DelegateDeclarationSyntax
delegateDecl
)
{
return
((
DelegateDeclarationSyntax
)
parentNode
)
.
ParameterList
.
Parameters
;
return
delegateDecl
.
ParameterList
.
Parameters
;
}
return
SpecializedCollections
.
EmptyEnumerable
<
ParameterSyntax
>();
...
...
@@ -2767,13 +2764,13 @@ public override SyntaxNode SetType(SyntaxNode node, ITypeSymbol typeSymbol)
node
is
ParameterSyntax
);
TypeSyntax
oldType
;
if
(
node
is
MemberDeclarationSyntax
)
if
(
node
is
MemberDeclarationSyntax
memberDeclaration
)
{
oldType
=
((
MemberDeclarationSyntax
)
node
)
.
GetMemberType
();
oldType
=
memberDeclaration
.
GetMemberType
();
}
else
if
(
node
is
ParameterSyntax
)
else
if
(
node
is
ParameterSyntax
parameter
)
{
oldType
=
((
ParameterSyntax
)
node
)
.
Type
;
oldType
=
parameter
.
Type
;
}
else
{
...
...
@@ -3277,28 +3274,23 @@ protected override TextSpan GetSpanToFormat(SyntaxNode root, TextSpan span)
protected
SyntaxNode
InsertMemberNodeIntoContainerCore
(
int
index
,
SyntaxNode
member
,
SyntaxNode
container
)
{
if
(
container
is
CompilationUnitSyntax
)
if
(
container
is
CompilationUnitSyntax
compilationUnit
)
{
var
compilationUnit
=
(
CompilationUnitSyntax
)
container
;
var
newMembers
=
compilationUnit
.
Members
.
Insert
(
index
,
(
MemberDeclarationSyntax
)
member
);
return
compilationUnit
.
WithMembers
(
newMembers
);
}
else
if
(
container
is
NamespaceDeclarationSyntax
)
else
if
(
container
is
NamespaceDeclarationSyntax
namespaceDeclaration
)
{
var
namespaceDeclaration
=
(
NamespaceDeclarationSyntax
)
container
;
var
newMembers
=
namespaceDeclaration
.
Members
.
Insert
(
index
,
(
MemberDeclarationSyntax
)
member
);
return
namespaceDeclaration
.
WithMembers
(
newMembers
);
}
else
if
(
container
is
TypeDeclarationSyntax
)
else
if
(
container
is
TypeDeclarationSyntax
typeDeclaration
)
{
var
typeDeclaration
=
(
TypeDeclarationSyntax
)
container
;
var
newMembers
=
typeDeclaration
.
Members
.
Insert
(
index
,
(
MemberDeclarationSyntax
)
member
);
return
typeDeclaration
.
WithMembers
(
newMembers
);
}
else
if
(
container
is
EnumDeclarationSyntax
)
else
if
(
container
is
EnumDeclarationSyntax
enumDeclaration
)
{
var
enumDeclaration
=
(
EnumDeclarationSyntax
)
container
;
// If we're inserting at the end of the list of enum members, we may need to strip the trailing
// line from the last enum member and add it to the separator that comes after it.
if
(
index
>
0
&&
index
==
enumDeclaration
.
Members
.
Count
)
...
...
@@ -3325,24 +3317,20 @@ protected SyntaxNode InsertMemberNodeIntoContainerCore(int index, SyntaxNode mem
private
static
MemberDeclarationSyntax
GetMember
(
SyntaxNode
container
,
int
index
)
{
if
(
container
is
CompilationUnitSyntax
)
if
(
container
is
CompilationUnitSyntax
compilationUnit
)
{
var
compilationUnit
=
(
CompilationUnitSyntax
)
container
;
return
compilationUnit
.
Members
[
index
];
}
else
if
(
container
is
NamespaceDeclarationSyntax
)
else
if
(
container
is
NamespaceDeclarationSyntax
namespaceDeclaration
)
{
var
namespaceDeclaration
=
(
NamespaceDeclarationSyntax
)
container
;
return
namespaceDeclaration
.
Members
[
index
];
}
else
if
(
container
is
TypeDeclarationSyntax
)
else
if
(
container
is
TypeDeclarationSyntax
typeDeclaration
)
{
var
typeDeclaration
=
(
TypeDeclarationSyntax
)
container
;
return
typeDeclaration
.
Members
[
index
];
}
else
if
(
container
is
EnumDeclarationSyntax
)
else
if
(
container
is
EnumDeclarationSyntax
enumDeclaration
)
{
var
enumDeclaration
=
(
EnumDeclarationSyntax
)
container
;
return
enumDeclaration
.
Members
[
index
];
}
...
...
@@ -3389,9 +3377,8 @@ protected override SyntaxNode InsertMemberNodeIntoContainer(int index, SyntaxNod
protected
override
SyntaxNode
InsertAttributeArgumentIntoContainer
(
int
index
,
SyntaxNode
attributeArgument
,
SyntaxNode
container
)
{
if
(
container
is
AttributeSyntax
)
if
(
container
is
AttributeSyntax
attribute
)
{
var
attribute
=
(
AttributeSyntax
)
container
;
var
argumentList
=
attribute
.
ArgumentList
;
AttributeArgumentListSyntax
newArgumentList
;
...
...
@@ -3430,111 +3417,93 @@ protected override SyntaxNode InsertAttributeListIntoContainer(int index, Syntax
}
}
if
(
container
is
CompilationUnitSyntax
)
if
(
container
is
CompilationUnitSyntax
compilationUnit
)
{
var
compilationUnit
=
(
CompilationUnitSyntax
)
container
;
var
newAttributeLists
=
compilationUnit
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
compilationUnit
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
EnumDeclarationSyntax
)
else
if
(
container
is
EnumDeclarationSyntax
enumDeclaration
)
{
var
enumDeclaration
=
(
EnumDeclarationSyntax
)
container
;
var
newAttributeLists
=
enumDeclaration
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
enumDeclaration
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
ClassDeclarationSyntax
)
else
if
(
container
is
ClassDeclarationSyntax
classDeclaration
)
{
var
classDeclaration
=
(
ClassDeclarationSyntax
)
container
;
var
newAttributeLists
=
classDeclaration
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
classDeclaration
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
StructDeclarationSyntax
)
else
if
(
container
is
StructDeclarationSyntax
structDeclaration
)
{
var
structDeclaration
=
(
StructDeclarationSyntax
)
container
;
var
newAttributeLists
=
structDeclaration
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
structDeclaration
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
InterfaceDeclarationSyntax
)
else
if
(
container
is
InterfaceDeclarationSyntax
interfaceDeclaration
)
{
var
interfaceDeclaration
=
(
InterfaceDeclarationSyntax
)
container
;
var
newAttributeLists
=
interfaceDeclaration
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
interfaceDeclaration
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
MethodDeclarationSyntax
)
else
if
(
container
is
MethodDeclarationSyntax
method
)
{
var
method
=
(
MethodDeclarationSyntax
)
container
;
var
newAttributeLists
=
method
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
method
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
OperatorDeclarationSyntax
)
else
if
(
container
is
OperatorDeclarationSyntax
operationDeclaration
)
{
var
operationDeclaration
=
(
OperatorDeclarationSyntax
)
container
;
var
newAttributeLists
=
operationDeclaration
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
operationDeclaration
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
ConversionOperatorDeclarationSyntax
)
else
if
(
container
is
ConversionOperatorDeclarationSyntax
conversion
)
{
var
conversion
=
(
ConversionOperatorDeclarationSyntax
)
container
;
var
newAttributeLists
=
conversion
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
conversion
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
ConstructorDeclarationSyntax
)
else
if
(
container
is
ConstructorDeclarationSyntax
constructor
)
{
var
constructor
=
(
ConstructorDeclarationSyntax
)
container
;
var
newAttributeLists
=
constructor
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
constructor
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
DestructorDeclarationSyntax
)
else
if
(
container
is
DestructorDeclarationSyntax
destructor
)
{
var
destructor
=
(
DestructorDeclarationSyntax
)
container
;
var
newAttributeLists
=
destructor
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
destructor
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
PropertyDeclarationSyntax
)
else
if
(
container
is
PropertyDeclarationSyntax
property
)
{
var
property
=
(
PropertyDeclarationSyntax
)
container
;
var
newAttributeLists
=
property
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
property
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
EventDeclarationSyntax
)
else
if
(
container
is
EventDeclarationSyntax
eventDeclaration
)
{
var
eventDeclaration
=
(
EventDeclarationSyntax
)
container
;
var
newAttributeLists
=
eventDeclaration
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
eventDeclaration
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
IndexerDeclarationSyntax
)
else
if
(
container
is
IndexerDeclarationSyntax
indexer
)
{
var
indexer
=
(
IndexerDeclarationSyntax
)
container
;
var
newAttributeLists
=
indexer
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
indexer
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
FieldDeclarationSyntax
)
else
if
(
container
is
FieldDeclarationSyntax
field
)
{
var
field
=
(
FieldDeclarationSyntax
)
container
;
var
newAttributeLists
=
field
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
field
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
EventFieldDeclarationSyntax
)
else
if
(
container
is
EventFieldDeclarationSyntax
eventFieldDeclaration
)
{
var
eventFieldDeclaration
=
(
EventFieldDeclarationSyntax
)
container
;
var
newAttributeLists
=
eventFieldDeclaration
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
eventFieldDeclaration
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
DelegateDeclarationSyntax
)
else
if
(
container
is
DelegateDeclarationSyntax
delegateDeclaration
)
{
var
delegateDeclaration
=
(
DelegateDeclarationSyntax
)
container
;
var
newAttributeLists
=
delegateDeclaration
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
delegateDeclaration
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
EnumMemberDeclarationSyntax
)
else
if
(
container
is
EnumMemberDeclarationSyntax
member
)
{
var
member
=
(
EnumMemberDeclarationSyntax
)
container
;
var
newAttributeLists
=
member
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
member
.
WithAttributeLists
(
newAttributeLists
);
}
else
if
(
container
is
ParameterSyntax
)
else
if
(
container
is
ParameterSyntax
parameter
)
{
var
parameter
=
(
ParameterSyntax
)
container
;
var
newAttributeLists
=
parameter
.
AttributeLists
.
Insert
(
index
,
(
AttributeListSyntax
)
list
);
return
parameter
.
WithAttributeLists
(
newAttributeLists
);
}
...
...
@@ -3551,9 +3520,8 @@ protected override SyntaxNode InsertImportIntoContainer(int index, SyntaxNode im
{
var
import
=
(
UsingDirectiveSyntax
)
importNode
;
if
(
container
is
CompilationUnitSyntax
)
if
(
container
is
CompilationUnitSyntax
compilationUnit
)
{
var
compilationUnit
=
(
CompilationUnitSyntax
)
container
;
var
usingsList
=
compilationUnit
.
Usings
.
Insert
(
index
,
import
);
return
compilationUnit
.
WithUsings
(
usingsList
);
}
...
...
@@ -3563,21 +3531,18 @@ protected override SyntaxNode InsertImportIntoContainer(int index, SyntaxNode im
protected
override
SyntaxNode
InsertParameterIntoContainer
(
int
index
,
SyntaxNode
parameter
,
SyntaxNode
container
)
{
if
(
container
is
BaseMethodDeclarationSyntax
)
if
(
container
is
BaseMethodDeclarationSyntax
method
)
{
var
method
=
(
BaseMethodDeclarationSyntax
)
container
;
var
parameterList
=
method
.
ParameterList
.
Parameters
.
Insert
(
index
,
(
ParameterSyntax
)
parameter
);
return
method
.
WithParameterList
(
method
.
ParameterList
.
WithParameters
(
parameterList
));
}
else
if
(
container
is
IndexerDeclarationSyntax
)
else
if
(
container
is
IndexerDeclarationSyntax
indexer
)
{
var
indexer
=
(
IndexerDeclarationSyntax
)
container
;
var
parameterList
=
indexer
.
ParameterList
.
Parameters
.
Insert
(
index
,
(
ParameterSyntax
)
parameter
);
return
indexer
.
WithParameterList
(
indexer
.
ParameterList
.
WithParameters
(
parameterList
));
}
else
if
(
container
is
DelegateDeclarationSyntax
)
else
if
(
container
is
DelegateDeclarationSyntax
delegateDeclaration
)
{
var
delegateDeclaration
=
(
DelegateDeclarationSyntax
)
container
;
var
parameterList
=
delegateDeclaration
.
ParameterList
.
Parameters
.
Insert
(
index
,
(
ParameterSyntax
)
parameter
);
return
delegateDeclaration
.
WithParameterList
(
delegateDeclaration
.
ParameterList
.
WithParameters
(
parameterList
));
}
...
...
src/VisualStudio/CSharp/Impl/CodeModel/SyntaxNodeExtensions.cs
浏览文件 @
0905634a
...
...
@@ -9,44 +9,44 @@ internal static class SyntaxNodeExtensions
{
public
static
bool
TryGetAttributeLists
(
this
SyntaxNode
node
,
out
SyntaxList
<
AttributeListSyntax
>
attributeLists
)
{
if
(
node
is
CompilationUnitSyntax
)
if
(
node
is
CompilationUnitSyntax
compilationUnit
)
{
attributeLists
=
((
CompilationUnitSyntax
)
node
)
.
AttributeLists
;
attributeLists
=
compilationUnit
.
AttributeLists
;
return
true
;
}
else
if
(
node
is
BaseTypeDeclarationSyntax
)
else
if
(
node
is
BaseTypeDeclarationSyntax
baseType
)
{
attributeLists
=
((
BaseTypeDeclarationSyntax
)
node
)
.
AttributeLists
;
attributeLists
=
baseType
.
AttributeLists
;
return
true
;
}
else
if
(
node
is
BaseMethodDeclarationSyntax
)
else
if
(
node
is
BaseMethodDeclarationSyntax
baseMethod
)
{
attributeLists
=
((
BaseMethodDeclarationSyntax
)
node
)
.
AttributeLists
;
attributeLists
=
baseMethod
.
AttributeLists
;
return
true
;
}
else
if
(
node
is
BasePropertyDeclarationSyntax
)
else
if
(
node
is
BasePropertyDeclarationSyntax
baseProperty
)
{
attributeLists
=
((
BasePropertyDeclarationSyntax
)
node
)
.
AttributeLists
;
attributeLists
=
baseProperty
.
AttributeLists
;
return
true
;
}
else
if
(
node
is
BaseFieldDeclarationSyntax
)
else
if
(
node
is
BaseFieldDeclarationSyntax
baseField
)
{
attributeLists
=
((
BaseFieldDeclarationSyntax
)
node
)
.
AttributeLists
;
attributeLists
=
baseField
.
AttributeLists
;
return
true
;
}
else
if
(
node
is
DelegateDeclarationSyntax
)
else
if
(
node
is
DelegateDeclarationSyntax
delegateDeclaration
)
{
attributeLists
=
((
DelegateDeclarationSyntax
)
node
)
.
AttributeLists
;
attributeLists
=
delegateDeclaration
.
AttributeLists
;
return
true
;
}
else
if
(
node
is
EnumMemberDeclarationSyntax
)
else
if
(
node
is
EnumMemberDeclarationSyntax
enumMember
)
{
attributeLists
=
((
EnumMemberDeclarationSyntax
)
node
)
.
AttributeLists
;
attributeLists
=
enumMember
.
AttributeLists
;
return
true
;
}
else
if
(
node
is
ParameterSyntax
)
else
if
(
node
is
ParameterSyntax
parameter
)
{
attributeLists
=
((
ParameterSyntax
)
node
)
.
AttributeLists
;
attributeLists
=
parameter
.
AttributeLists
;
return
true
;
}
...
...
src/VisualStudio/CSharp/Impl/Debugging/CSharpProximityExpressionsService_ExpressionTermCollector.cs
浏览文件 @
0905634a
...
...
@@ -112,46 +112,43 @@ private static void AddSubExpressionTerms(ExpressionSyntax expression, IList<str
// +, -, ++, --, !, etc.
//
// This is a valid expression if it doesn't have obvious side effects (i.e. ++, --)
if
(
expression
is
PrefixUnaryExpressionSyntax
)
if
(
expression
is
PrefixUnaryExpressionSyntax
prefixUnary
)
{
AddPrefixUnaryExpressionTerms
(
(
PrefixUnaryExpressionSyntax
)
expression
,
terms
,
ref
expressionType
);
AddPrefixUnaryExpressionTerms
(
prefixUnary
,
terms
,
ref
expressionType
);
return
;
}
if
(
expression
is
AwaitExpressionSyntax
)
if
(
expression
is
AwaitExpressionSyntax
awaitExpression
)
{
AddAwaitExpressionTerms
(
(
AwaitExpressionSyntax
)
e
xpression
,
terms
,
ref
expressionType
);
AddAwaitExpressionTerms
(
awaitE
xpression
,
terms
,
ref
expressionType
);
return
;
}
if
(
expression
is
PostfixUnaryExpressionSyntax
)
if
(
expression
is
PostfixUnaryExpressionSyntax
postfixExpression
)
{
AddPostfixUnaryExpressionTerms
(
(
PostfixUnaryExpressionSyntax
)
e
xpression
,
terms
,
ref
expressionType
);
AddPostfixUnaryExpressionTerms
(
postfixE
xpression
,
terms
,
ref
expressionType
);
return
;
}
if
(
expression
is
BinaryExpressionSyntax
)
if
(
expression
is
BinaryExpressionSyntax
binaryExpression
)
{
var
binaryExpression
=
(
BinaryExpressionSyntax
)
expression
;
AddBinaryExpressionTerms
(
expression
,
binaryExpression
.
Left
,
binaryExpression
.
Right
,
terms
,
ref
expressionType
);
return
;
}
if
(
expression
is
AssignmentExpressionSyntax
)
if
(
expression
is
AssignmentExpressionSyntax
assignmentExpression
)
{
var
assignmentExpression
=
(
AssignmentExpressionSyntax
)
expression
;
AddBinaryExpressionTerms
(
expression
,
assignmentExpression
.
Left
,
assignmentExpression
.
Right
,
terms
,
ref
expressionType
);
return
;
}
if
(
expression
is
ConditionalExpressionSyntax
)
if
(
expression
is
ConditionalExpressionSyntax
conditional
)
{
AddConditionalExpressionTerms
(
(
ConditionalExpressionSyntax
)
expression
,
terms
,
ref
expressionType
);
AddConditionalExpressionTerms
(
conditional
,
terms
,
ref
expressionType
);
return
;
}
var
parenthesizedExpression
=
expression
as
ParenthesizedExpressionSyntax
;
if
(
parenthesizedExpression
!=
null
)
if
(
expression
is
ParenthesizedExpressionSyntax
parenthesizedExpression
)
{
AddSubExpressionTerms
(
parenthesizedExpression
.
Expression
,
terms
,
ref
expressionType
);
}
...
...
src/VisualStudio/IntegrationTest/TestUtilities/Input/SendKeys.cs
浏览文件 @
0905634a
...
...
@@ -21,28 +21,27 @@ public void Send(params object[] keys)
foreach
(
var
key
in
keys
)
{
if
(
key
is
string
)
if
(
key
is
string
s
)
{
var
text
=
((
string
)
key
)
.
Replace
(
"\r\n"
,
"\r"
)
.
Replace
(
"\n"
,
"\r"
);
var
text
=
s
.
Replace
(
"\r\n"
,
"\r"
)
.
Replace
(
"\n"
,
"\r"
);
foreach
(
var
ch
in
text
)
{
AddInputs
(
inputs
,
ch
);
}
}
else
if
(
key
is
char
)
else
if
(
key
is
char
c
)
{
AddInputs
(
inputs
,
(
char
)
key
);
AddInputs
(
inputs
,
c
);
}
else
if
(
key
is
VirtualKey
)
else
if
(
key
is
VirtualKey
virtualKey
)
{
AddInputs
(
inputs
,
(
VirtualKey
)
k
ey
);
AddInputs
(
inputs
,
virtualK
ey
);
}
else
if
(
key
is
KeyPress
)
else
if
(
key
is
KeyPress
keyPress
)
{
AddInputs
(
inputs
,
(
KeyPress
)
key
);
AddInputs
(
inputs
,
keyPress
);
}
else
if
(
key
==
null
)
{
...
...
src/Workspaces/Remote/Core/Services/AssetStorage.cs
浏览文件 @
0905634a
...
...
@@ -84,9 +84,9 @@ public IEnumerable<T> GetGlobalAssetsOfType<T>(CancellationToken cancellationTok
cancellationToken
.
ThrowIfCancellationRequested
();
var
value
=
asset
.
Value
.
Object
;
if
(
value
is
T
)
if
(
value
is
T
tValue
)
{
yield
return
(
T
)
v
alue
;
yield
return
tV
alue
;
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录