Moved IFixedStatement internal until we have time to review the API....

Moved IFixedStatement internal until we have time to review the API. NoneOperation will be used in its place.
上级 3f1185b0
......@@ -27,4 +27,9 @@ partial class BoundLocalFunctionStatement
{
protected override ImmutableArray<BoundNode> Children => ImmutableArray.Create<BoundNode>(this.Body);
}
partial class BoundFixedStatement
{
protected override ImmutableArray<BoundNode> Children => ImmutableArray.Create<BoundNode>(this.Declarations, this.Body);
}
}
......@@ -205,8 +205,9 @@ private IOperation CreateInternal(BoundNode boundNode)
return CreateBoundTryStatementOperation((BoundTryStatement)boundNode);
case BoundKind.CatchBlock:
return CreateBoundCatchBlockOperation((BoundCatchBlock)boundNode);
case BoundKind.FixedStatement:
return CreateBoundFixedStatementOperation((BoundFixedStatement)boundNode);
// https://github.com/dotnet/roslyn/issues/21281
//case BoundKind.FixedStatement:
// return CreateBoundFixedStatementOperation((BoundFixedStatement)boundNode);
case BoundKind.UsingStatement:
return CreateBoundUsingStatementOperation((BoundUsingStatement)boundNode);
case BoundKind.ThrowStatement:
......
......@@ -1659,7 +1659,9 @@ internal sealed partial class LazyFieldReferenceExpression : BaseFieldReferenceE
internal abstract partial class BaseFixedStatement : Operation, IFixedStatement
{
protected BaseFixedStatement(SemanticModel semanticModel, SyntaxNode syntax, ITypeSymbol type, Optional<object> constantValue) :
base(OperationKind.FixedStatement, semanticModel, syntax, type, constantValue)
// https://github.com/dotnet/roslyn/issues/21281
//base(OperationKind.FixedStatement, semanticModel, syntax, type, constantValue)
base(OperationKind.None, semanticModel, syntax, type, constantValue)
{
}
......
......@@ -11,7 +11,8 @@ namespace Microsoft.CodeAnalysis.Semantics
/// This interface is reserved for implementation by its associated APIs. We reserve the right to
/// change it in the future.
/// </remarks>
public interface IFixedStatement : IOperation
// Internal until reviewed: https://github.com/dotnet/roslyn/issues/21281
internal interface IFixedStatement : IOperation
{
/// <summary>
/// Variables to be fixed.
......
......@@ -149,7 +149,8 @@ public override IOperation VisitUsingStatement(IUsingStatement operation, object
return new UsingStatement(Visit(operation.Body), Visit(operation.Declaration), Visit(operation.Value), ((Operation)operation).SemanticModel, operation.Syntax, operation.Type, operation.ConstantValue);
}
public override IOperation VisitFixedStatement(IFixedStatement operation, object argument)
// https://github.com/dotnet/roslyn/issues/21281
internal override IOperation VisitFixedStatement(IFixedStatement operation, object argument)
{
return new FixedStatement(Visit(operation.Variables), Visit(operation.Body), ((Operation)operation).SemanticModel, operation.Syntax, operation.Type, operation.ConstantValue);
}
......
......@@ -51,7 +51,8 @@ public enum OperationKind
// Statements that occur only C#.
/// <summary>Indicates an <see cref="IFixedStatement"/>.</summary>
FixedStatement = 0x30,
// https://github.com/dotnet/roslyn/issues/21281
//FixedStatement = 0x30,
LocalFunctionStatement = 0x31,
......
......@@ -140,7 +140,8 @@ public virtual void VisitUsingStatement(IUsingStatement operation)
DefaultVisit(operation);
}
public virtual void VisitFixedStatement(IFixedStatement operation)
// Make public after review: https://github.com/dotnet/roslyn/issues/21281
internal virtual void VisitFixedStatement(IFixedStatement operation)
{
DefaultVisit(operation);
}
......@@ -610,7 +611,8 @@ public virtual TResult VisitUsingStatement(IUsingStatement operation, TArgument
return DefaultVisit(operation, argument);
}
public virtual TResult VisitFixedStatement(IFixedStatement operation, TArgument argument)
// Make public after review: https://github.com/dotnet/roslyn/issues/21281
internal virtual TResult VisitFixedStatement(IFixedStatement operation, TArgument argument)
{
return DefaultVisit(operation, argument);
}
......
......@@ -78,7 +78,6 @@ Microsoft.CodeAnalysis.OperationKind.EventReferenceExpression = 268 -> Microsoft
Microsoft.CodeAnalysis.OperationKind.ExpressionStatement = 17 -> Microsoft.CodeAnalysis.OperationKind
Microsoft.CodeAnalysis.OperationKind.FieldInitializer = 1025 -> Microsoft.CodeAnalysis.OperationKind
Microsoft.CodeAnalysis.OperationKind.FieldReferenceExpression = 264 -> Microsoft.CodeAnalysis.OperationKind
Microsoft.CodeAnalysis.OperationKind.FixedStatement = 48 -> Microsoft.CodeAnalysis.OperationKind
Microsoft.CodeAnalysis.OperationKind.IfStatement = 5 -> Microsoft.CodeAnalysis.OperationKind
Microsoft.CodeAnalysis.OperationKind.IncrementExpression = 518 -> Microsoft.CodeAnalysis.OperationKind
Microsoft.CodeAnalysis.OperationKind.InstanceReferenceExpression = 277 -> Microsoft.CodeAnalysis.OperationKind
......@@ -429,9 +428,6 @@ Microsoft.CodeAnalysis.Semantics.IFieldInitializer
Microsoft.CodeAnalysis.Semantics.IFieldInitializer.InitializedFields.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.IFieldSymbol>
Microsoft.CodeAnalysis.Semantics.IFieldReferenceExpression
Microsoft.CodeAnalysis.Semantics.IFieldReferenceExpression.Field.get -> Microsoft.CodeAnalysis.IFieldSymbol
Microsoft.CodeAnalysis.Semantics.IFixedStatement
Microsoft.CodeAnalysis.Semantics.IFixedStatement.Body.get -> Microsoft.CodeAnalysis.IOperation
Microsoft.CodeAnalysis.Semantics.IFixedStatement.Variables.get -> Microsoft.CodeAnalysis.Semantics.IVariableDeclarationStatement
Microsoft.CodeAnalysis.Semantics.IForEachLoopStatement
Microsoft.CodeAnalysis.Semantics.IForEachLoopStatement.Collection.get -> Microsoft.CodeAnalysis.IOperation
Microsoft.CodeAnalysis.Semantics.IForEachLoopStatement.IterationVariable.get -> Microsoft.CodeAnalysis.ILocalSymbol
......@@ -804,7 +800,6 @@ virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor.VisitEventReferenceExp
virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor.VisitExpressionStatement(Microsoft.CodeAnalysis.Semantics.IExpressionStatement operation) -> void
virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor.VisitFieldInitializer(Microsoft.CodeAnalysis.Semantics.IFieldInitializer operation) -> void
virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor.VisitFieldReferenceExpression(Microsoft.CodeAnalysis.Semantics.IFieldReferenceExpression operation) -> void
virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor.VisitFixedStatement(Microsoft.CodeAnalysis.Semantics.IFixedStatement operation) -> void
virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor.VisitForEachLoopStatement(Microsoft.CodeAnalysis.Semantics.IForEachLoopStatement operation) -> void
virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor.VisitForLoopStatement(Microsoft.CodeAnalysis.Semantics.IForLoopStatement operation) -> void
virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor.VisitIfStatement(Microsoft.CodeAnalysis.Semantics.IIfStatement operation) -> void
......@@ -894,7 +889,6 @@ virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor<TArgument, TResult>.Vi
virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor<TArgument, TResult>.VisitExpressionStatement(Microsoft.CodeAnalysis.Semantics.IExpressionStatement operation, TArgument argument) -> TResult
virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor<TArgument, TResult>.VisitFieldInitializer(Microsoft.CodeAnalysis.Semantics.IFieldInitializer operation, TArgument argument) -> TResult
virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor<TArgument, TResult>.VisitFieldReferenceExpression(Microsoft.CodeAnalysis.Semantics.IFieldReferenceExpression operation, TArgument argument) -> TResult
virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor<TArgument, TResult>.VisitFixedStatement(Microsoft.CodeAnalysis.Semantics.IFixedStatement operation, TArgument argument) -> TResult
virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor<TArgument, TResult>.VisitForEachLoopStatement(Microsoft.CodeAnalysis.Semantics.IForEachLoopStatement operation, TArgument argument) -> TResult
virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor<TArgument, TResult>.VisitForLoopStatement(Microsoft.CodeAnalysis.Semantics.IForLoopStatement operation, TArgument argument) -> TResult
virtual Microsoft.CodeAnalysis.Semantics.OperationVisitor<TArgument, TResult>.VisitIfStatement(Microsoft.CodeAnalysis.Semantics.IIfStatement operation, TArgument argument) -> TResult
......
......@@ -565,7 +565,8 @@ public override void VisitUsingStatement(IUsingStatement operation)
Visit(operation.Body, "Body");
}
public override void VisitFixedStatement(IFixedStatement operation)
// https://github.com/dotnet/roslyn/issues/21281
internal override void VisitFixedStatement(IFixedStatement operation)
{
LogString(nameof(IFixedStatement));
LogCommonPropertiesAndNewLine(operation);
......
......@@ -187,7 +187,8 @@ public override void VisitUsingStatement(IUsingStatement operation)
base.VisitUsingStatement(operation);
}
public override void VisitFixedStatement(IFixedStatement operation)
// https://github.com/dotnet/roslyn/issues/21281
internal override void VisitFixedStatement(IFixedStatement operation)
{
base.VisitFixedStatement(operation);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册