Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
19623b8d
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,发现更多精彩内容 >>
未验证
提交
19623b8d
编写于
2月 06, 2019
作者:
A
Andy Gocke
提交者:
GitHub
2月 06, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make '^' operation nodes internal (#32918)
上级
e70bf116
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
18 addition
and
26 deletion
+18
-26
src/Compilers/CSharp/Test/IOperation/IOperation/IOperationTests_IBinaryOperatorExpression.cs
...n/IOperation/IOperationTests_IBinaryOperatorExpression.cs
+2
-2
src/Compilers/CSharp/Test/IOperation/IOperation/IOperationTests_IFromEndIndexOperation_IRangeOperation.cs
...IOperationTests_IFromEndIndexOperation_IRangeOperation.cs
+2
-2
src/Compilers/CSharp/Test/IOperation/IOperation/IOperationTests_IUnaryOperatorExpression.cs
...on/IOperation/IOperationTests_IUnaryOperatorExpression.cs
+3
-3
src/Compilers/Core/Portable/Operations/ControlFlowGraphBuilder.cs
...ilers/Core/Portable/Operations/ControlFlowGraphBuilder.cs
+1
-1
src/Compilers/Core/Portable/Operations/IIndexOperation.cs
src/Compilers/Core/Portable/Operations/IIndexOperation.cs
+1
-1
src/Compilers/Core/Portable/Operations/OperationCloner.cs
src/Compilers/Core/Portable/Operations/OperationCloner.cs
+1
-1
src/Compilers/Core/Portable/Operations/OperationKind.cs
src/Compilers/Core/Portable/Operations/OperationKind.cs
+2
-2
src/Compilers/Core/Portable/Operations/OperationNodes.cs
src/Compilers/Core/Portable/Operations/OperationNodes.cs
+1
-1
src/Compilers/Core/Portable/Operations/OperationVisitor.cs
src/Compilers/Core/Portable/Operations/OperationVisitor.cs
+2
-2
src/Compilers/Core/Portable/PublicAPI.Unshipped.txt
src/Compilers/Core/Portable/PublicAPI.Unshipped.txt
+0
-7
src/Test/Utilities/Portable/Compilation/ControlFlowGraphVerifier.cs
...tilities/Portable/Compilation/ControlFlowGraphVerifier.cs
+0
-1
src/Test/Utilities/Portable/Compilation/OperationTreeVerifier.cs
...t/Utilities/Portable/Compilation/OperationTreeVerifier.cs
+1
-1
src/Test/Utilities/Portable/Compilation/TestOperationVisitor.cs
...st/Utilities/Portable/Compilation/TestOperationVisitor.cs
+2
-2
未找到文件。
src/Compilers/CSharp/Test/IOperation/IOperation/IOperationTests_IBinaryOperatorExpression.cs
浏览文件 @
19623b8d
...
...
@@ -7937,7 +7937,7 @@ void M(int arg)
Operand:
ILiteralOperation (OperationKind.Literal, Type: System.Int32, Constant: 0) (Syntax: '0')
RightOperand:
IFromEndIndexOperation (OperationKind.
FromEndIndex
, Type: System.Index) (Syntax: '^1')
IFromEndIndexOperation (OperationKind.
None
, Type: System.Index) (Syntax: '^1')
Operand:
ILiteralOperation (OperationKind.Literal, Type: System.Int32, Constant: 1) (Syntax: '1')
"
;
...
...
@@ -8079,7 +8079,7 @@ void M(int? start, int? end)
Operand:
IParameterReferenceOperation: start (OperationKind.ParameterReference, Type: System.Int32?) (Syntax: 'start')
RightOperand:
IFromEndIndexOperation (IsLifted) (OperationKind.
FromEndIndex
, Type: System.Index?) (Syntax: '^end')
IFromEndIndexOperation (IsLifted) (OperationKind.
None
, Type: System.Index?) (Syntax: '^end')
Operand:
IParameterReferenceOperation: end (OperationKind.ParameterReference, Type: System.Int32?) (Syntax: 'end')
"
;
...
...
src/Compilers/CSharp/Test/IOperation/IOperation/IOperationTests_IFromEndIndexOperation_IRangeOperation.cs
浏览文件 @
19623b8d
...
...
@@ -34,7 +34,7 @@ void M(int arg)
IVariableDeclaratorOperation (Symbol: System.Index x) (OperationKind.VariableDeclarator, Type: null) (Syntax: 'x = ^arg')
Initializer:
IVariableInitializerOperation (OperationKind.VariableInitializer, Type: null) (Syntax: '= ^arg')
IFromEndIndexOperation (OperationKind.
FromEndIndex
, Type: System.Index) (Syntax: '^arg')
IFromEndIndexOperation (OperationKind.
None
, Type: System.Index) (Syntax: '^arg')
Operand:
IParameterReferenceOperation: arg (OperationKind.ParameterReference, Type: System.Int32) (Syntax: 'arg')
Initializer:
...
...
@@ -60,7 +60,7 @@ void M(int arg)
Left:
ILocalReferenceOperation: x (IsDeclaration: True) (OperationKind.LocalReference, Type: System.Index, IsImplicit) (Syntax: 'x = ^arg')
Right:
IFromEndIndexOperation (OperationKind.
FromEndIndex
, Type: System.Index) (Syntax: '^arg')
IFromEndIndexOperation (OperationKind.
None
, Type: System.Index) (Syntax: '^arg')
Operand:
IParameterReferenceOperation: arg (OperationKind.ParameterReference, Type: System.Int32) (Syntax: 'arg')
...
...
src/Compilers/CSharp/Test/IOperation/IOperation/IOperationTests_IUnaryOperatorExpression.cs
浏览文件 @
19623b8d
...
...
@@ -3629,7 +3629,7 @@ void M(int arg)
}"
).
VerifyDiagnostics
();
string
expectedOperationTree
=
@"
IFromEndIndexOperation (OperationKind.
FromEndIndex
, Type: System.Index) (Syntax: '^arg')
IFromEndIndexOperation (OperationKind.
None
, Type: System.Index) (Syntax: '^arg')
Operand:
IParameterReferenceOperation: arg (OperationKind.ParameterReference, Type: System.Int32) (Syntax: 'arg')
"
;
...
...
@@ -3652,7 +3652,7 @@ void M(int? arg)
}"
).
VerifyDiagnostics
();
string
expectedOperationTree
=
@"
IFromEndIndexOperation (IsLifted) (OperationKind.
FromEndIndex
, Type: System.Index?) (Syntax: '^arg')
IFromEndIndexOperation (IsLifted) (OperationKind.
None
, Type: System.Index?) (Syntax: '^arg')
Operand:
IParameterReferenceOperation: arg (OperationKind.ParameterReference, Type: System.Int32?) (Syntax: 'arg')
"
;
...
...
@@ -3675,7 +3675,7 @@ void M(byte arg)
}"
).
VerifyDiagnostics
();
string
expectedOperationTree
=
@"
IFromEndIndexOperation (OperationKind.
FromEndIndex
, Type: System.Index) (Syntax: '^arg')
IFromEndIndexOperation (OperationKind.
None
, Type: System.Index) (Syntax: '^arg')
Operand:
IConversionOperation (TryCast: False, Unchecked) (OperationKind.Conversion, Type: System.Int32, IsImplicit) (Syntax: 'arg')
Conversion: CommonConversion (Exists: True, IsIdentity: False, IsNumeric: True, IsReference: False, IsUserDefined: False) (MethodSymbol: null)
...
...
src/Compilers/Core/Portable/Operations/ControlFlowGraphBuilder.cs
浏览文件 @
19623b8d
...
...
@@ -6567,7 +6567,7 @@ public override IOperation VisitDelegateCreation(IDelegateCreationOperation oper
operation
.
Syntax
,
operation
.
Type
,
operation
.
ConstantValue
,
IsImplicit
(
operation
));
}
public
override
IOperation
VisitFromEndIndexOperation
(
IFromEndIndexOperation
operation
,
int
?
argument
)
internal
override
IOperation
VisitFromEndIndexOperation
(
IFromEndIndexOperation
operation
,
int
?
argument
)
{
return
new
FromEndIndexOperation
(
operation
.
IsLifted
,
semanticModel
:
null
,
operation
.
Syntax
,
operation
.
Type
,
Visit
(
operation
.
Operand
),
operation
.
Symbol
,
isImplicit
:
IsImplicit
(
operation
));
}
...
...
src/Compilers/Core/Portable/Operations/IIndexOperation.cs
浏览文件 @
19623b8d
...
...
@@ -12,7 +12,7 @@ namespace Microsoft.CodeAnalysis.Operations
/// <remarks>
/// This interface is reserved for implementation by its associated APIs. We reserve the right to change it in the future.
/// </remarks>
public
interface
IFromEndIndexOperation
:
IOperation
internal
interface
IFromEndIndexOperation
:
IOperation
{
/// <summary>
/// The operand.
...
...
src/Compilers/Core/Portable/Operations/OperationCloner.cs
浏览文件 @
19623b8d
...
...
@@ -625,7 +625,7 @@ public override IOperation VisitStaticLocalInitializationSemaphore(IStaticLocalI
throw
ExceptionUtilities
.
Unreachable
;
}
public
override
IOperation
VisitFromEndIndexOperation
(
IFromEndIndexOperation
operation
,
object
argument
)
internal
override
IOperation
VisitFromEndIndexOperation
(
IFromEndIndexOperation
operation
,
object
argument
)
{
return
new
FromEndIndexOperation
(
operation
.
IsLifted
,
((
Operation
)
operation
).
OwningSemanticModel
,
operation
.
Syntax
,
operation
.
Type
,
Visit
(
operation
.
Operand
),
operation
.
Symbol
,
operation
.
IsImplicit
);
}
...
...
src/Compilers/Core/Portable/Operations/OperationKind.cs
浏览文件 @
19623b8d
...
...
@@ -227,8 +227,8 @@ public enum OperationKind
/// <summary>Indicates an <see cref="IRangeOperation"/>.</summary>
Range
=
0x63
,
//
/ <summary>Indicates an <see cref="IFromEndIndexOperation"/>.</summary>
FromEndIndex
=
0x64
,
//
Unused, FromEndIndex will be a unary operator: https://github.com/dotnet/roslyn/pull/32918
//
FromEndIndex = 0x64,
/// <summary>Indicates an <see cref="IReDimOperation"/>.</summary>
ReDim
=
0x65
,
/// <summary>Indicates an <see cref="IReDimClauseOperation"/>.</summary>
...
...
src/Compilers/Core/Portable/Operations/OperationNodes.cs
浏览文件 @
19623b8d
...
...
@@ -9401,7 +9401,7 @@ public override IObjectOrCollectionInitializerOperation Initializer
internal
abstract
class
BaseFromEndIndexOperation
:
Operation
,
IFromEndIndexOperation
{
protected
BaseFromEndIndexOperation
(
bool
isLifted
,
SemanticModel
semanticModel
,
SyntaxNode
syntax
,
ITypeSymbol
type
,
IMethodSymbol
symbol
,
bool
isImplicit
)
:
base
(
OperationKind
.
FromEndIndex
,
semanticModel
,
syntax
,
type
,
constantValue
:
default
,
isImplicit
:
isImplicit
)
base
(
OperationKind
.
None
,
semanticModel
,
syntax
,
type
,
constantValue
:
default
,
isImplicit
:
isImplicit
)
{
IsLifted
=
isLifted
;
Symbol
=
symbol
;
...
...
src/Compilers/Core/Portable/Operations/OperationVisitor.cs
浏览文件 @
19623b8d
...
...
@@ -585,7 +585,7 @@ public virtual void VisitStaticLocalInitializationSemaphore(IStaticLocalInitiali
DefaultVisit
(
operation
);
}
public
virtual
void
VisitFromEndIndexOperation
(
IFromEndIndexOperation
operation
)
internal
virtual
void
VisitFromEndIndexOperation
(
IFromEndIndexOperation
operation
)
{
DefaultVisit
(
operation
);
}
...
...
@@ -1193,7 +1193,7 @@ public virtual TResult VisitStaticLocalInitializationSemaphore(IStaticLocalIniti
return
DefaultVisit
(
operation
,
argument
);
}
public
virtual
TResult
VisitFromEndIndexOperation
(
IFromEndIndexOperation
operation
,
TArgument
argument
)
internal
virtual
TResult
VisitFromEndIndexOperation
(
IFromEndIndexOperation
operation
,
TArgument
argument
)
{
return
DefaultVisit
(
operation
,
argument
);
}
...
...
src/Compilers/Core/Portable/PublicAPI.Unshipped.txt
浏览文件 @
19623b8d
...
...
@@ -5,7 +5,6 @@ Microsoft.CodeAnalysis.ITypeSymbol.IsUnmanagedType.get -> bool
Microsoft.CodeAnalysis.OperationKind.Binary = 32 -> Microsoft.CodeAnalysis.OperationKind
Microsoft.CodeAnalysis.OperationKind.ConstructorBody = 89 -> Microsoft.CodeAnalysis.OperationKind
Microsoft.CodeAnalysis.OperationKind.DiscardPattern = 104 -> Microsoft.CodeAnalysis.OperationKind
Microsoft.CodeAnalysis.OperationKind.FromEndIndex = 100 -> Microsoft.CodeAnalysis.OperationKind
Microsoft.CodeAnalysis.OperationKind.MethodBody = 88 -> Microsoft.CodeAnalysis.OperationKind
Microsoft.CodeAnalysis.OperationKind.Range = 99 -> Microsoft.CodeAnalysis.OperationKind
Microsoft.CodeAnalysis.OperationKind.RecursivePattern = 103 -> Microsoft.CodeAnalysis.OperationKind
...
...
@@ -168,10 +167,6 @@ Microsoft.CodeAnalysis.Operations.ICoalesceOperation.ValueConversion.get -> Micr
Microsoft.CodeAnalysis.Operations.IEventAssignmentOperation.EventReference.get -> Microsoft.CodeAnalysis.IOperation
Microsoft.CodeAnalysis.Operations.IForLoopOperation.ConditionLocals.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.ILocalSymbol>
Microsoft.CodeAnalysis.Operations.IForToLoopOperation.IsChecked.get -> bool
Microsoft.CodeAnalysis.Operations.IFromEndIndexOperation
Microsoft.CodeAnalysis.Operations.IFromEndIndexOperation.IsLifted.get -> bool
Microsoft.CodeAnalysis.Operations.IFromEndIndexOperation.Operand.get -> Microsoft.CodeAnalysis.IOperation
Microsoft.CodeAnalysis.Operations.IFromEndIndexOperation.Symbol.get -> Microsoft.CodeAnalysis.IMethodSymbol
Microsoft.CodeAnalysis.Operations.IInstanceReferenceOperation.ReferenceKind.get -> Microsoft.CodeAnalysis.Operations.InstanceReferenceKind
Microsoft.CodeAnalysis.Operations.ILoopOperation.ContinueLabel.get -> Microsoft.CodeAnalysis.ILabelSymbol
Microsoft.CodeAnalysis.Operations.ILoopOperation.ExitLabel.get -> Microsoft.CodeAnalysis.ILabelSymbol
...
...
@@ -213,7 +208,6 @@ virtual Microsoft.CodeAnalysis.Operations.OperationVisitor.VisitDiscardPattern(M
virtual Microsoft.CodeAnalysis.Operations.OperationVisitor.VisitFlowAnonymousFunction(Microsoft.CodeAnalysis.FlowAnalysis.IFlowAnonymousFunctionOperation operation) -> void
virtual Microsoft.CodeAnalysis.Operations.OperationVisitor.VisitFlowCapture(Microsoft.CodeAnalysis.FlowAnalysis.IFlowCaptureOperation operation) -> void
virtual Microsoft.CodeAnalysis.Operations.OperationVisitor.VisitFlowCaptureReference(Microsoft.CodeAnalysis.FlowAnalysis.IFlowCaptureReferenceOperation operation) -> void
virtual Microsoft.CodeAnalysis.Operations.OperationVisitor.VisitFromEndIndexOperation(Microsoft.CodeAnalysis.Operations.IFromEndIndexOperation operation) -> void
virtual Microsoft.CodeAnalysis.Operations.OperationVisitor.VisitIsNull(Microsoft.CodeAnalysis.FlowAnalysis.IIsNullOperation operation) -> void
virtual Microsoft.CodeAnalysis.Operations.OperationVisitor.VisitRangeOperation(Microsoft.CodeAnalysis.Operations.IRangeOperation operation) -> void
virtual Microsoft.CodeAnalysis.Operations.OperationVisitor.VisitReDim(Microsoft.CodeAnalysis.Operations.IReDimOperation operation) -> void
...
...
@@ -228,7 +222,6 @@ virtual Microsoft.CodeAnalysis.Operations.OperationVisitor<TArgument, TResult>.V
virtual Microsoft.CodeAnalysis.Operations.OperationVisitor<TArgument, TResult>.VisitFlowAnonymousFunction(Microsoft.CodeAnalysis.FlowAnalysis.IFlowAnonymousFunctionOperation operation, TArgument argument) -> TResult
virtual Microsoft.CodeAnalysis.Operations.OperationVisitor<TArgument, TResult>.VisitFlowCapture(Microsoft.CodeAnalysis.FlowAnalysis.IFlowCaptureOperation operation, TArgument argument) -> TResult
virtual Microsoft.CodeAnalysis.Operations.OperationVisitor<TArgument, TResult>.VisitFlowCaptureReference(Microsoft.CodeAnalysis.FlowAnalysis.IFlowCaptureReferenceOperation operation, TArgument argument) -> TResult
virtual Microsoft.CodeAnalysis.Operations.OperationVisitor<TArgument, TResult>.VisitFromEndIndexOperation(Microsoft.CodeAnalysis.Operations.IFromEndIndexOperation operation, TArgument argument) -> TResult
virtual Microsoft.CodeAnalysis.Operations.OperationVisitor<TArgument, TResult>.VisitIsNull(Microsoft.CodeAnalysis.FlowAnalysis.IIsNullOperation operation, TArgument argument) -> TResult
virtual Microsoft.CodeAnalysis.Operations.OperationVisitor<TArgument, TResult>.VisitRangeOperation(Microsoft.CodeAnalysis.Operations.IRangeOperation operation, TArgument argument) -> TResult
virtual Microsoft.CodeAnalysis.Operations.OperationVisitor<TArgument, TResult>.VisitReDim(Microsoft.CodeAnalysis.Operations.IReDimOperation operation, TArgument argument) -> TResult
...
...
src/Test/Utilities/Portable/Compilation/ControlFlowGraphVerifier.cs
浏览文件 @
19623b8d
...
...
@@ -1800,7 +1800,6 @@ private static bool CanBeInControlFlowGraph(IOperation n)
case
OperationKind
.
Discard
:
case
OperationKind
.
ReDim
:
case
OperationKind
.
ReDimClause
:
case
OperationKind
.
FromEndIndex
:
case
OperationKind
.
Range
:
case
OperationKind
.
RecursivePattern
:
case
OperationKind
.
DiscardPattern
:
...
...
src/Test/Utilities/Portable/Compilation/OperationTreeVerifier.cs
浏览文件 @
19623b8d
...
...
@@ -1878,7 +1878,7 @@ public override void VisitStaticLocalInitializationSemaphore(IStaticLocalInitial
LogCommonPropertiesAndNewLine
(
operation
);
}
public
override
void
VisitFromEndIndexOperation
(
IFromEndIndexOperation
operation
)
internal
override
void
VisitFromEndIndexOperation
(
IFromEndIndexOperation
operation
)
{
LogString
(
nameof
(
IFromEndIndexOperation
));
...
...
src/Test/Utilities/Portable/Compilation/TestOperationVisitor.cs
浏览文件 @
19623b8d
...
...
@@ -1421,9 +1421,9 @@ public override void VisitStaticLocalInitializationSemaphore(IStaticLocalInitial
Assert
.
True
(
operation
.
Local
.
IsStatic
);
}
public
override
void
VisitFromEndIndexOperation
(
IFromEndIndexOperation
operation
)
internal
override
void
VisitFromEndIndexOperation
(
IFromEndIndexOperation
operation
)
{
Assert
.
Equal
(
OperationKind
.
FromEndIndex
,
operation
.
Kind
);
Assert
.
Equal
(
OperationKind
.
None
,
operation
.
Kind
);
Assert
.
Same
(
operation
.
Operand
,
operation
.
Children
.
Single
());
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录