Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
bc6524f9
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,发现更多精彩内容 >>
提交
bc6524f9
编写于
9月 07, 2017
作者:
G
Gen Lu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Address review comments
上级
dbc57e35
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
25 addition
and
39 deletion
+25
-39
src/Compilers/CSharp/Portable/Operations/CSharpArgument.cs
src/Compilers/CSharp/Portable/Operations/CSharpArgument.cs
+2
-2
src/Compilers/CSharp/Test/Semantic/IOperation/IOperationTests_IArgument.cs
...arp/Test/Semantic/IOperation/IOperationTests_IArgument.cs
+2
-1
src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb
src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb
+1
-6
src/Compilers/VisualBasic/Portable/Operations/VisualBasicOperationFactory_Methods.vb
...ortable/Operations/VisualBasicOperationFactory_Methods.vb
+20
-30
未找到文件。
src/Compilers/CSharp/Portable/Operations/CSharpArgument.cs
浏览文件 @
bc6524f9
...
@@ -17,7 +17,7 @@ internal abstract class BaseCSharpArgument : BaseArgument
...
@@ -17,7 +17,7 @@ internal abstract class BaseCSharpArgument : BaseArgument
public
override
CommonConversion
OutConversion
=>
new
CommonConversion
(
exists
:
true
,
isIdentity
:
true
,
isNumeric
:
false
,
isReference
:
false
,
methodSymbol
:
null
);
public
override
CommonConversion
OutConversion
=>
new
CommonConversion
(
exists
:
true
,
isIdentity
:
true
,
isNumeric
:
false
,
isReference
:
false
,
methodSymbol
:
null
);
}
}
internal
sealed
partial
class
CSharpArgument
:
BaseCSharpArgument
internal
sealed
class
CSharpArgument
:
BaseCSharpArgument
{
{
public
CSharpArgument
(
ArgumentKind
argumentKind
,
IParameterSymbol
parameter
,
IOperation
value
,
SemanticModel
semanticModel
,
SyntaxNode
syntax
,
ITypeSymbol
type
,
Optional
<
object
>
constantValue
,
bool
isImplicit
)
:
public
CSharpArgument
(
ArgumentKind
argumentKind
,
IParameterSymbol
parameter
,
IOperation
value
,
SemanticModel
semanticModel
,
SyntaxNode
syntax
,
ITypeSymbol
type
,
Optional
<
object
>
constantValue
,
bool
isImplicit
)
:
base
(
argumentKind
,
parameter
,
semanticModel
,
syntax
,
type
,
constantValue
,
isImplicit
)
base
(
argumentKind
,
parameter
,
semanticModel
,
syntax
,
type
,
constantValue
,
isImplicit
)
...
@@ -28,7 +28,7 @@ internal sealed partial class CSharpArgument : BaseCSharpArgument
...
@@ -28,7 +28,7 @@ internal sealed partial class CSharpArgument : BaseCSharpArgument
protected
override
IOperation
ValueImpl
{
get
;
}
protected
override
IOperation
ValueImpl
{
get
;
}
}
}
internal
sealed
partial
class
LazyCSharpArgument
:
BaseCSharpArgument
internal
sealed
class
LazyCSharpArgument
:
BaseCSharpArgument
{
{
private
readonly
Lazy
<
IOperation
>
_lazyValue
;
private
readonly
Lazy
<
IOperation
>
_lazyValue
;
...
...
src/Compilers/CSharp/Test/Semantic/IOperation/IOperationTests_IArgument.cs
浏览文件 @
bc6524f9
...
@@ -2224,7 +2224,7 @@ struct G<T>
...
@@ -2224,7 +2224,7 @@ struct G<T>
[
CompilerTrait
(
CompilerFeature
.
IOperation
)]
[
CompilerTrait
(
CompilerFeature
.
IOperation
)]
[
Fact
]
[
Fact
]
public
void
GettingInOutConverionFromCSharpArgumentShouldThrowException
()
public
void
GettingInOutConver
s
ionFromCSharpArgumentShouldThrowException
()
{
{
string
source
=
@"
string
source
=
@"
class P
class P
...
@@ -2245,6 +2245,7 @@ static void M2(int x)
...
@@ -2245,6 +2245,7 @@ static void M2(int x)
var
invocation
=
(
IInvocationExpression
)
operation
;
var
invocation
=
(
IInvocationExpression
)
operation
;
var
argument
=
invocation
.
ArgumentsInEvaluationOrder
[
0
];
var
argument
=
invocation
.
ArgumentsInEvaluationOrder
[
0
];
// We are calling VB extension methods on IArgument in C# code, therefore exception is expteced here.
Assert
.
Throws
<
ArgumentException
>(()
=>
argument
.
GetInConversion
());
Assert
.
Throws
<
ArgumentException
>(()
=>
argument
.
GetInConversion
());
Assert
.
Throws
<
ArgumentException
>(()
=>
argument
.
GetOutConversion
());
Assert
.
Throws
<
ArgumentException
>(()
=>
argument
.
GetOutConversion
());
}
}
...
...
src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb
浏览文件 @
bc6524f9
...
@@ -861,12 +861,7 @@ Public MustInherit Class BasicTestBaseBase
...
@@ -861,12 +861,7 @@ Public MustInherit Class BasicTestBaseBase
Dim
semanticModel
=
compilation
.
GetSemanticModel
(
node
.
SyntaxTree
)
Dim
semanticModel
=
compilation
.
GetSemanticModel
(
node
.
SyntaxTree
)
Dim
operation
=
semanticModel
.
GetOperationInternal
(
node
)
Dim
operation
=
semanticModel
.
GetOperationInternal
(
node
)
If
operation
IsNot
Nothing
Then
Return
(
operation
,
node
)
Return
(
operation
,
node
)
Else
Return
(
Nothing
,
Nothing
)
End
If
End
Function
End
Function
#End Region
#End Region
...
...
src/Compilers/VisualBasic/Portable/Operations/VisualBasicOperationFactory_Methods.vb
浏览文件 @
bc6524f9
...
@@ -105,47 +105,37 @@ Namespace Microsoft.CodeAnalysis.Semantics
...
@@ -105,47 +105,37 @@ Namespace Microsoft.CodeAnalysis.Semantics
isImplicit
:
=
isImplicit
)
isImplicit
:
=
isImplicit
)
Case
Else
Case
Else
Dim
lastParameterIndex
=
parameters
.
Length
-
1
Dim
lastParameterIndex
=
parameters
.
Length
-
1
Dim
kind
As
ArgumentKind
Dim
parameter
As
ParameterSymbol
If
index
=
lastParameterIndex
AndAlso
ParameterIsParamArray
(
parameters
(
lastParameterIndex
))
Then
If
index
=
lastParameterIndex
AndAlso
ParameterIsParamArray
(
parameters
(
lastParameterIndex
))
Then
' TODO: figure out if this is true:
' TODO: figure out if this is true:
' a compiler generated argument for a ParamArray parameter is created iff
' a compiler generated argument for a ParamArray parameter is created iff
' a list of arguments (including 0 argument) is provided for ParamArray parameter in source
' a list of arguments (including 0 argument) is provided for ParamArray parameter in source
' https://github.com/dotnet/roslyn/issues/18550
' https://github.com/dotnet/roslyn/issues/18550
Dim
kind
=
If
(
argument
.
WasCompilerGenerated
AndAlso
argument
.
Kind
=
BoundKind
.
ArrayCreation
,
ArgumentKind
.
ParamArray
,
ArgumentKind
.
Explicit
)
kind
=
If
(
argument
.
WasCompilerGenerated
AndAlso
argument
.
Kind
=
BoundKind
.
ArrayCreation
,
ArgumentKind
.
ParamArray
,
ArgumentKind
.
Explicit
)
Dim
parameter
=
parameters
(
lastParameterIndex
)
parameter
=
parameters
(
lastParameterIndex
)
Dim
value
=
Create
(
argument
)
Return
New
VisualBasicArgument
(
kind
,
parameter
,
value
,
inConversion
:
=
New
Conversion
(
Conversions
.
Identity
),
outConversion
:
=
New
Conversion
(
Conversions
.
Identity
),
semanticModel
:
=
_semanticModel
,
syntax
:
=
value
.
Syntax
,
type
:
=
Nothing
,
constantValue
:
=
Nothing
,
isImplicit
:
=
isImplicit
)
Else
Else
' TODO: figure our if this is true:
' TODO: figure our if this is true:
' a compiler generated argument for an Optional parameter is created iff
' a compiler generated argument for an Optional parameter is created iff
' the argument is omitted from the source
' the argument is omitted from the source
' https://github.com/dotnet/roslyn/issues/18550
' https://github.com/dotnet/roslyn/issues/18550
Dim
kind
=
If
(
argument
.
WasCompilerGenerated
,
ArgumentKind
.
DefaultValue
,
ArgumentKind
.
Explicit
)
kind
=
If
(
argument
.
WasCompilerGenerated
,
ArgumentKind
.
DefaultValue
,
ArgumentKind
.
Explicit
)
Dim
parameter
=
parameters
(
index
)
parameter
=
parameters
(
index
)
Dim
value
=
Create
(
argument
)
Return
New
VisualBasicArgument
(
kind
,
parameter
,
value
,
inConversion
:
=
New
Conversion
(
Conversions
.
Identity
),
outConversion
:
=
New
Conversion
(
Conversions
.
Identity
),
semanticModel
:
=
_semanticModel
,
syntax
:
=
value
.
Syntax
,
type
:
=
Nothing
,
constantValue
:
=
Nothing
,
isImplicit
:
=
isImplicit
)
End
If
End
If
Dim
value
=
Create
(
argument
)
Return
New
VisualBasicArgument
(
kind
,
parameter
,
Create
(
argument
),
inConversion
:
=
New
Conversion
(
Conversions
.
Identity
),
outConversion
:
=
New
Conversion
(
Conversions
.
Identity
),
semanticModel
:
=
_semanticModel
,
syntax
:
=
value
.
Syntax
,
type
:
=
Nothing
,
constantValue
:
=
Nothing
,
isImplicit
:
=
isImplicit
)
End
Select
End
Select
End
Function
End
Function
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录