129 implementations of Kind
Microsoft.CodeAnalysis (129)
Generated\Operations.Generated.cs (123)
3679public override OperationKind Kind => OperationKind.Block; 3734public override OperationKind Kind => OperationKind.VariableDeclarationGroup; 3804public override OperationKind Kind => OperationKind.Switch; 3910public override OperationKind Kind => OperationKind.Loop; 4002public override OperationKind Kind => OperationKind.Loop; 4114public override OperationKind Kind => OperationKind.Loop; 4138public override OperationKind Kind => OperationKind.Loop; 4191public override OperationKind Kind => OperationKind.Labeled; 4211public override OperationKind Kind => OperationKind.Branch; 4225public override OperationKind Kind => OperationKind.Empty; 4277public override OperationKind Kind { get; } 4341public override OperationKind Kind => OperationKind.Lock; 4420public override OperationKind Kind => OperationKind.Try; 4488public override OperationKind Kind => OperationKind.Using; 4539public override OperationKind Kind => OperationKind.ExpressionStatement; 4603public override OperationKind Kind => OperationKind.LocalFunction; 4617public override OperationKind Kind => OperationKind.Stop; 4631public override OperationKind Kind => OperationKind.End; 4697public override OperationKind Kind => OperationKind.RaiseEvent; 4715public override OperationKind Kind => OperationKind.Literal; 4775public override OperationKind Kind => OperationKind.Conversion; 4848public override OperationKind Kind => OperationKind.Invocation; 4915public override OperationKind Kind => OperationKind.ArrayElementReference; 4937public override OperationKind Kind => OperationKind.LocalReference; 4956public override OperationKind Kind => OperationKind.ParameterReference; 5021public override OperationKind Kind => OperationKind.FieldReference; 5077public override OperationKind Kind => OperationKind.MethodReference; 5146public override OperationKind Kind => OperationKind.PropertyReference; 5200public override OperationKind Kind => OperationKind.EventReference; 5263public override OperationKind Kind => OperationKind.Unary; 5341public override OperationKind Kind => OperationKind.Binary; 5418public override OperationKind Kind => OperationKind.Conditional; 5485public override OperationKind Kind => OperationKind.Coalesce; 5538public override OperationKind Kind => OperationKind.AnonymousFunction; 5608public override OperationKind Kind => OperationKind.ObjectCreation; 5660public override OperationKind Kind => OperationKind.TypeParameterObjectCreation; 5727public override OperationKind Kind => OperationKind.ArrayCreation; 5746public override OperationKind Kind => OperationKind.InstanceReference; 5802public override OperationKind Kind => OperationKind.IsType; 5854public override OperationKind Kind => OperationKind.Await; 5927public override OperationKind Kind => OperationKind.SimpleAssignment; 6002public override OperationKind Kind => OperationKind.CompoundAssignment; 6055public override OperationKind Kind => OperationKind.Parenthesized; 6120public override OperationKind Kind => OperationKind.EventAssignment; 6183public override OperationKind Kind => OperationKind.ConditionalAccess; 6200public override OperationKind Kind => OperationKind.ConditionalAccessInstance; 6257public override OperationKind Kind => OperationKind.InterpolatedString; 6313public override OperationKind Kind => OperationKind.AnonymousObjectCreation; 6369public override OperationKind Kind => OperationKind.ObjectOrCollectionInitializer; 6432public override OperationKind Kind => OperationKind.MemberInitializer; 6485public override OperationKind Kind => OperationKind.NameOf; 6543public override OperationKind Kind => OperationKind.Tuple; 6601public override OperationKind Kind => OperationKind.DynamicMemberReference; 6653public override OperationKind Kind => OperationKind.TranslatedQuery; 6705public override OperationKind Kind => OperationKind.DelegateCreation; 6723public override OperationKind Kind => OperationKind.DefaultValue; 6742public override OperationKind Kind => OperationKind.TypeOf; 6762public override OperationKind Kind => OperationKind.SizeOf; 6814public override OperationKind Kind => OperationKind.AddressOf; 6877public override OperationKind Kind => OperationKind.IsPattern; 6940public override OperationKind Kind { get; } 6992public override OperationKind Kind => OperationKind.Throw; 7051public override OperationKind Kind => OperationKind.DeconstructionAssignment; 7103public override OperationKind Kind => OperationKind.DeclarationExpression; 7120public override OperationKind Kind => OperationKind.OmittedArgument; 7182public override OperationKind Kind => OperationKind.FieldInitializer; 7229public override OperationKind Kind => OperationKind.VariableInitializer; 7280public override OperationKind Kind => OperationKind.PropertyInitializer; 7331public override OperationKind Kind => OperationKind.ParameterInitializer; 7386public override OperationKind Kind => OperationKind.ArrayInitializer; 7454public override OperationKind Kind => OperationKind.VariableDeclarator; 7535public override OperationKind Kind => OperationKind.VariableDeclaration; 7596public override OperationKind Kind => OperationKind.Argument; 7673public override OperationKind Kind => OperationKind.CatchClause; 7747public override OperationKind Kind => OperationKind.SwitchCase; 7771public override OperationKind Kind => OperationKind.CaseClause; 7834public override OperationKind Kind => OperationKind.CaseClause; 7896public override OperationKind Kind => OperationKind.CaseClause; 7949public override OperationKind Kind => OperationKind.CaseClause; 8000public override OperationKind Kind => OperationKind.CaseClause; 8056public override OperationKind Kind => OperationKind.InterpolatedStringText; 8129public override OperationKind Kind => OperationKind.Interpolation; 8191public override OperationKind Kind => OperationKind.ConstantPattern; 8213public override OperationKind Kind => OperationKind.DeclarationPattern; 8278public override OperationKind Kind => OperationKind.TupleBinary; 8345public override OperationKind Kind => OperationKind.MethodBody; 8416public override OperationKind Kind => OperationKind.ConstructorBody; 8435public override OperationKind Kind => OperationKind.Discard; 8488public override OperationKind Kind => OperationKind.FlowCapture; 8510public override OperationKind Kind => OperationKind.FlowCaptureReference; 8563public override OperationKind Kind => OperationKind.IsNull; 8580public override OperationKind Kind => OperationKind.CaughtException; 8599public override OperationKind Kind => OperationKind.StaticLocalInitializationSemaphore; 8658public override OperationKind Kind => OperationKind.CoalesceAssignment; 8725public override OperationKind Kind => OperationKind.Range; 8782public override OperationKind Kind => OperationKind.ReDim; 8848public override OperationKind Kind => OperationKind.ReDimClause; 8924public override OperationKind Kind => OperationKind.RecursivePattern; 8938public override OperationKind Kind => OperationKind.DiscardPattern; 9007public override OperationKind Kind => OperationKind.SwitchExpression; 9082public override OperationKind Kind => OperationKind.SwitchExpressionArm; 9144public override OperationKind Kind => OperationKind.PropertySubpattern; 9207public override OperationKind Kind => OperationKind.None; 9271public override OperationKind Kind => OperationKind.None; 9323public override OperationKind Kind => OperationKind.None; 9342public override OperationKind Kind => OperationKind.None; 9404public override OperationKind Kind => OperationKind.None; 9459public override OperationKind Kind => OperationKind.UsingDeclaration; 9510public override OperationKind Kind => OperationKind.NegatedPattern; 9574public override OperationKind Kind => OperationKind.BinaryPattern; 9592public override OperationKind Kind => OperationKind.TypePattern; 9645public override OperationKind Kind => OperationKind.RelationalPattern; 9710public override OperationKind Kind => OperationKind.With; 9777public override OperationKind Kind => OperationKind.InterpolatedStringHandlerCreation; 9839public override OperationKind Kind => OperationKind.InterpolatedStringAddition; 9891public override OperationKind Kind { get; } 9911public override OperationKind Kind => OperationKind.InterpolatedStringHandlerArgumentPlaceholder; 9978public override OperationKind Kind => OperationKind.FunctionPointerInvocation; 10039public override OperationKind Kind => OperationKind.ListPattern; 10092public override OperationKind Kind => OperationKind.SlicePattern; 10159public override OperationKind Kind => OperationKind.ImplicitIndexerReference; 10178public override OperationKind Kind => OperationKind.Utf8String; 10229public override OperationKind Kind => OperationKind.Attribute;
Operations\Operation.cs (1)
66public abstract OperationKind Kind { get; }
Operations\OperationNodes.cs (5)
137public override OperationKind Kind => OperationKind.Invalid; 168public override OperationKind Kind => OperationKind.FlowAnonymousFunction; 260public override OperationKind Kind => OperationKind.DynamicObjectCreation; 402public override OperationKind Kind => OperationKind.DynamicInvocation; 424public override OperationKind Kind => OperationKind.DynamicIndexerAccess;
479 references to Kind
Microsoft.CodeAnalysis (84)
DiagnosticAnalyzer\AnalysisContextInfo.cs (1)
85sb.AppendLine($"{nameof(IOperation)}: {_operation.Kind}");
DiagnosticAnalyzer\AnalyzerDriver.cs (4)
2830switch (operationBlock.Parent.Kind) 2840Debug.Assert(operationBlock.Kind == OperationKind.Invocation); 2851Debug.Fail($"Expected operation with kind '{operationBlock.Kind}' to be the root operation with null 'Parent', but instead it has a non-null Parent with kind '{operationBlock.Parent.Kind}'");
DiagnosticAnalyzer\AnalyzerExecutor.cs (1)
1095if (operationActionsByKind.TryGetValue(operation.Kind, out var actionsForKind))
Operations\ControlFlowGraph.cs (2)
40Debug.Assert(parent != null == (originalOperation.Kind == OperationKind.LocalFunction || originalOperation.Kind == OperationKind.AnonymousFunction));
Operations\ControlFlowGraphBuilder.cs (73)
96Debug.Assert(body.Kind == OperationKind.Block || 97body.Kind == OperationKind.MethodBody || 98body.Kind == OperationKind.ConstructorBody || 99body.Kind == OperationKind.FieldInitializer || 100body.Kind == OperationKind.PropertyInitializer || 101body.Kind == OperationKind.ParameterInitializer || 102body.Kind == OperationKind.Attribute, 103$"Unexpected root operation kind: {body.Kind}"); 108Debug.Assert(body.Kind == OperationKind.LocalFunction || body.Kind == OperationKind.AnonymousFunction); 124switch (body.Kind) 861value.Kind != OperationKind.LocalReference || 1280|| slot.operationOpt.Kind == OperationKind.FlowCaptureReference 1281|| slot.operationOpt.Kind == OperationKind.DeclarationExpression 1282|| slot.operationOpt.Kind == OperationKind.Discard 1283|| slot.operationOpt.Kind == OperationKind.OmittedArgument)); 1613if (operation.WhenTrue is IConversionOperation whenTrueConversion && whenTrueConversion.Operand.Kind == OperationKind.Throw) 1616Debug.Assert(rewrittenThrow!.Kind == OperationKind.None); 1625else if (operation.WhenFalse is IConversionOperation whenFalseConversion && whenFalseConversion.Operand.Kind == OperationKind.Throw) 1634Debug.Assert(rewrittenThrow.Kind == OperationKind.None); 1681if (result.Kind != OperationKind.FlowCaptureReference || 1843if (operationOpt.Kind != OperationKind.FlowCaptureReference 1844&& operationOpt.Kind != OperationKind.DeclarationExpression 1845&& operationOpt.Kind != OperationKind.Discard 1846&& operationOpt.Kind != OperationKind.OmittedArgument) 2708if (condition.Kind == OperationKind.Binary) 2770switch (condition.Kind) 2908if (conversion.Operand.Kind == OperationKind.Throw) 2912Debug.Assert(rewrittenThrow.Kind == OperationKind.None); 2935while (condition.Kind == OperationKind.Parenthesized) 3028bool alternativeThrows = conversion?.Operand.Kind == OperationKind.Throw; 3054Debug.Assert(rewrittenThrow.Kind == OperationKind.None); 3087bool isStatement = _currentStatement == operation || operation.Parent.Kind == OperationKind.ExpressionStatement; 3350bool isOnStatementLevel = _currentStatement == operation || (_currentStatement == operation.Parent && _currentStatement?.Kind == OperationKind.ExpressionStatement); 3545Debug.Assert(operation.Operation.Kind == OperationKind.ConditionalAccess || operation.Operation.Kind == OperationKind.CoalesceAssignment); 3548else if (operation.Operation.Kind == OperationKind.Throw) 3774if (exceptionDeclarationOrExpression.Kind == OperationKind.VariableDeclarator) 3815switch (operation.Kind) 3832throw ExceptionUtilities.UnexpectedValue(operation.Kind); 3965Debug.Assert(resources.Kind != OperationKind.VariableDeclaration); 3966Debug.Assert(resources.Kind != OperationKind.VariableDeclarator); 4383if (!operation.Locals.IsEmpty && operation.LoopControlVariable.Kind == OperationKind.VariableDeclarator) 4559switch (operation.LoopControlVariable.Kind) 5258Debug.Assert(controlVariableReferenceForAssignment.Kind == OperationKind.FlowCaptureReference); 5328switch (operation.LoopControlVariable.Kind) 5642if (initialization.Length == 1 && initialization[0].Kind == OperationKind.VariableDeclarationGroup) 5950switch (innerInitializer.Kind) 5968Debug.Assert(validKinds.Contains(innerInitializer.Kind)); 6054switch (instance.Kind) 6061if (memberReference.Kind == OperationKind.PropertyReference) 6107Debug.Assert(instance.Kind == OperationKind.Invalid || instance.Kind == OperationKind.None); 6115switch (originalTarget.Kind) 6153throw ExceptionUtilities.UnexpectedValue(originalTarget.Kind); 6196Debug.Assert(propertyReference.Instance.Kind == OperationKind.InstanceReference); 6307if (elementValue.Kind == OperationKind.ArrayInitializer) 6326if (elementValue.Kind == OperationKind.ArrayInitializer) 6374if (operation.Operation.Kind == OperationKind.DynamicMemberReference) 6390if (operation.Operation.Kind == OperationKind.DynamicMemberReference) 6435if (value.Kind == OperationKind.Tuple) 6455if (value.Kind == OperationKind.Tuple) 6676throw ExceptionUtilities.UnexpectedValue(currentAddition.Left.Kind); 6688throw ExceptionUtilities.UnexpectedValue(currentAddition.Left.Kind); 6795if (element.Kind == OperationKind.Interpolation) 6836throw ExceptionUtilities.UnexpectedValue(element.Kind); 7091switch (current.Kind) 7132operation.Kind, semanticModel: null, operation.Syntax, operation.Type, IsImplicit(operation)); 7210if (children.Count != 0 && children.Last().Kind == OperationKind.ObjectOrCollectionInitializer) 7557if (statement.Kind == OperationKind.LocalFunction) 7721if (simpleAssignment.Target.Kind != OperationKind.PropertyReference) 7733Debug.Assert(propertyReference.Instance.Kind == OperationKind.InstanceReference); 7814if (simpleAssignment.Target.Kind != OperationKind.PropertyReference)
Operations\OperationMapBuilder.cs (2)
69$"Duplicate operation node for {operation.Syntax}. Existing node is {(argument.TryGetValue(operation.Syntax, out var original) ? original.Kind : null)}, new node is {operation.Kind}.");
Operations\OperationNodes.cs (1)
699Debug.Assert(statements.All(s => s.Parent != this && s.Parent!.Kind is OperationKind.Block or OperationKind.SwitchCase));
Microsoft.CodeAnalysis.CodeStyle (33)
AbstractMakeFieldReadonlyDiagnosticAnalyzer.cs (1)
247if (fieldReference.Instance?.Kind != OperationKind.InstanceReference ||
AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (2)
90if (instanceOperation.Kind != OperationKind.InstanceReference) 94if (context.Operation.Parent?.Kind == OperationKind.PropertySubpattern)
AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs (1)
93if (operand.ConstantValue.HasValue && operand.Kind == OperationKind.Literal &&
AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (11)
225Debug.Assert(operation.Kind is OperationKind.DelegateCreation or OperationKind.AnonymousFunction); 241(assignment.Target.Kind == OperationKind.LocalReference || 242assignment.Target.Kind == OperationKind.ParameterReference)) 250if (operation.Kind == OperationKind.AnonymousFunction && 274Debug.Assert(operation.Kind is OperationKind.LocalReference or OperationKind.ParameterReference); 308(assignmentOperation.Target.Kind == OperationKind.LocalReference || 309assignmentOperation.Target.Kind == OperationKind.ParameterReference)) 334switch (operationBlock.Kind) 356if (operation.Kind == OperationKind.None) 627switch (assignmentValue.Kind) 638return fieldReference.Instance == null || fieldReference.Instance.Kind == OperationKind.InstanceReference;
AbstractSimplifyInterpolationHelpers.cs (1)
212: alignmentOp is { Kind: OperationKind.Literal })
ControlFlowGraphExtensions.cs (1)
32=> cfg.DescendantOperations().Where(d => d?.Kind == operationKind).Cast<T>();
OperationExtensions.cs (5)
21assignmentOperation.Parent?.Kind == OperationKind.ObjectOrCollectionInitializer; 235switch (operation.Kind) 259switch (current.Kind) 366=> operationBlocks.HasAnyOperationDescendant(predicate: operation => operation.Kind == kind); 369=> operation.Kind == OperationKind.Literal && operation.Type.IsNumericType();
SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
192if (operation.Kind is OperationKind.LocalFunction or OperationKind.AnonymousFunction)
SymbolUsageAnalysis.Walker.cs (6)
154operation.Parent.Parent?.Kind != OperationKind.ExpressionStatement) 162Debug.Assert(symbolOpt != null || operation.Kind == OperationKind.FlowCaptureReference); 192operation.Parent?.Kind != OperationKind.ExpressionStatement; 196if (write.Kind != OperationKind.FlowCaptureReference) 409switch (currentOperation.Kind) 524switch (target.Kind)
UseConditionalExpressionForReturnHelpers.cs (4)
89trueReturn.Kind != falseReturn.Kind) 96if (trueReturn?.Kind == OperationKind.YieldBreak) 103if (trueReturn?.Kind == OperationKind.YieldReturn &&
Microsoft.CodeAnalysis.CodeStyle.Fixes (3)
AbstractUseConditionalExpressionForReturnCodeFixProvider.cs (1)
76var returnStatement = anyReturn.Kind == OperationKind.YieldReturn
SyntaxGeneratorExtensions_Negate.cs (2)
451if (operation?.Kind == OperationKind.Literal && operation.ConstantValue.HasValue && operation.ConstantValue.Value is true) 455else if (operation?.Kind == OperationKind.Literal && operation.ConstantValue.HasValue && operation.ConstantValue.Value is false)
Microsoft.CodeAnalysis.CSharp.CodeStyle (2)
CastSimplifier.cs (2)
90Kind: OperationKind.MethodReference, 91Parent.Kind: OperationKind.DelegateCreation,
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (2)
CodeGen\CodeGenLocalFunctionTests.cs (2)
161Assert.Equal(OperationKind.ExpressionStatement, objectCreationOperation.Parent.Kind); 162Assert.Equal(OperationKind.Block, objectCreationOperation.Parent.Parent.Kind);
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (2)
Diagnostics\GetDiagnosticsTests.cs (2)
1257AssertEx.All(analyzer.AnalyzedOperations, operation => operation.Kind == OperationKind.VariableDeclaration); 1261AssertEx.All(analyzer.AnalyzedOperationsInsideOperationBlock, operation => operation.Kind == OperationKind.VariableDeclaration);
Microsoft.CodeAnalysis.CSharp.Features (2)
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Rewriting.cs (1)
65var v => throw ExceptionUtilities.UnexpectedValue(v.Kind)
ConvertLinq\CSharpConvertLinqQueryToForEachProvider.cs (1)
924return operation.Kind is OperationKind.LocalReference or OperationKind.ParameterReference;
Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests (16)
IOperation\IOperationTests.cs (6)
467Assert.Equal(OperationKind.DeconstructionAssignment, operation1.Kind); 473Assert.Equal(OperationKind.DeconstructionAssignment, operation2.Kind); 479Assert.Equal(OperationKind.DeconstructionAssignment, operation3.Kind); 513Assert.Equal(OperationKind.ExpressionStatement, operation.Kind); 562Assert.Equal(OperationKind.FieldReference, operation.Kind); 689Assert.Equal(expectedRootOperationKind, operation.Kind);
IOperation\IOperationTests_IConversionExpression.cs (2)
183Assert.Equal(OperationKind.Invalid, initializerOperation.Kind); 5246if (operation.Kind == OperationKind.Conversion)
IOperation\IOperationTests_IVariableDeclaration.cs (8)
614Assert.Equal(OperationKind.Literal, declarator.ChildOperations.First().Kind); 615Assert.Equal(OperationKind.VariableInitializer, declarator.ChildOperations.ElementAt(1).Kind); 636Assert.Equal(OperationKind.Literal, declarator.ChildOperations.First().Kind); 657Assert.Equal(OperationKind.VariableInitializer, declarator.ChildOperations.ElementAt(0).Kind); 852Assert.Equal(OperationKind.Literal, declaration.ChildOperations.First().Kind); 853Assert.Equal(OperationKind.VariableDeclarator, declaration.ChildOperations.ElementAt(1).Kind); 874Assert.Equal(OperationKind.Literal, declaration.ChildOperations.First().Kind); 875Assert.Equal(OperationKind.VariableDeclarator, declaration.ChildOperations.ElementAt(1).Kind);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (68)
Semantics\OutVarTests.cs (3)
35940Assert.Equal(OperationKind.ExpressionStatement, initializerOperation.Parent.Kind); 35963Assert.Equal(OperationKind.ConstructorBody, blockBodyOperation.Parent.Kind); 36084Assert.Equal(OperationKind.MethodBody, expressionBodyOperation.Parent.Kind);
Semantics\PrimaryConstructorTests.cs (32)
3933Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 3936Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 3944Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 3947Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 3950Assert.Equal(OperationKind.Invocation, context.OperationBlocks[2].Kind); 3958Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 3961Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 3964Assert.Equal(OperationKind.Block, context.OperationBlocks[2].Kind); 3966Assert.Equal(OperationKind.Invocation, context.OperationBlocks[3].Kind); 3973Assert.Equal(OperationKind.Block, context.OperationBlocks[0].Kind); 4067Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 4070Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 4080Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 4083Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 4086Assert.Equal(OperationKind.Invocation, context.OperationBlocks[2].Kind); 4096Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 4099Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 4102Assert.Equal(OperationKind.Block, context.OperationBlocks[2].Kind); 4104Assert.Equal(OperationKind.Invocation, context.OperationBlocks[3].Kind); 4113Assert.Equal(OperationKind.Block, context.OperationBlocks[0].Kind); 4141Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 4144Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 4152Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 4155Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 4158Assert.Equal(OperationKind.Invocation, context.OperationBlocks[2].Kind); 4166Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 4169Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 4172Assert.Equal(OperationKind.Block, context.OperationBlocks[2].Kind); 4174Assert.Equal(OperationKind.Invocation, context.OperationBlocks[3].Kind); 4181Assert.Equal(OperationKind.Block, context.OperationBlocks[0].Kind); 5209Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 5212Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind);
Semantics\RecordStructTests.cs (2)
6486Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 6489Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind);
Semantics\RecordTests.cs (30)
26994Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 26997Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 27005Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 27008Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 27011Assert.Equal(OperationKind.Invocation, context.OperationBlocks[2].Kind); 27019Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 27022Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 27025Assert.Equal(OperationKind.Block, context.OperationBlocks[2].Kind); 27027Assert.Equal(OperationKind.Invocation, context.OperationBlocks[3].Kind); 27034Assert.Equal(OperationKind.Block, context.OperationBlocks[0].Kind); 27128Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 27131Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 27141Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 27144Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 27147Assert.Equal(OperationKind.Invocation, context.OperationBlocks[2].Kind); 27157Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 27160Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 27163Assert.Equal(OperationKind.Block, context.OperationBlocks[2].Kind); 27165Assert.Equal(OperationKind.Invocation, context.OperationBlocks[3].Kind); 27174Assert.Equal(OperationKind.Block, context.OperationBlocks[0].Kind); 27202Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 27205Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 27213Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 27216Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 27219Assert.Equal(OperationKind.Invocation, context.OperationBlocks[2].Kind); 27227Assert.Equal(OperationKind.ParameterInitializer, context.OperationBlocks[0].Kind); 27230Assert.Equal(OperationKind.Attribute, context.OperationBlocks[1].Kind); 27233Assert.Equal(OperationKind.Block, context.OperationBlocks[2].Kind); 27235Assert.Equal(OperationKind.Invocation, context.OperationBlocks[3].Kind); 27242Assert.Equal(OperationKind.Block, context.OperationBlocks[0].Kind);
Semantics\TopLevelStatementsTests.cs (1)
9669Assert.Equal(OperationKind.Literal, model.GetOperation(tree.GetRoot().DescendantNodes().OfType<LiteralExpressionSyntax>().Single()).Kind);
Microsoft.CodeAnalysis.CSharp.Workspaces (2)
CastSimplifier.cs (2)
90Kind: OperationKind.MethodReference, 91Parent.Kind: OperationKind.DelegateCreation,
Microsoft.CodeAnalysis.Features (28)
AbstractMakeFieldReadonlyDiagnosticAnalyzer.cs (1)
247if (fieldReference.Instance?.Kind != OperationKind.InstanceReference ||
AbstractQualifyMemberAccessDiagnosticAnalyzer.cs (2)
90if (instanceOperation.Kind != OperationKind.InstanceReference) 94if (context.Operation.Parent?.Kind == OperationKind.PropertySubpattern)
AbstractRemoveRedundantEqualityDiagnosticAnalyzer.cs (1)
93if (operand.ConstantValue.HasValue && operand.Kind == OperationKind.Literal &&
AbstractRemoveUnusedParametersAndValuesDiagnosticAnalyzer.SymbolStartAnalyzer.BlockAnalyzer.cs (11)
225Debug.Assert(operation.Kind is OperationKind.DelegateCreation or OperationKind.AnonymousFunction); 241(assignment.Target.Kind == OperationKind.LocalReference || 242assignment.Target.Kind == OperationKind.ParameterReference)) 250if (operation.Kind == OperationKind.AnonymousFunction && 274Debug.Assert(operation.Kind is OperationKind.LocalReference or OperationKind.ParameterReference); 308(assignmentOperation.Target.Kind == OperationKind.LocalReference || 309assignmentOperation.Target.Kind == OperationKind.ParameterReference)) 334switch (operationBlock.Kind) 356if (operation.Kind == OperationKind.None) 627switch (assignmentValue.Kind) 638return fieldReference.Instance == null || fieldReference.Instance.Kind == OperationKind.InstanceReference;
AbstractSimplifyInterpolationHelpers.cs (1)
212: alignmentOp is { Kind: OperationKind.Literal })
AbstractUseConditionalExpressionForReturnCodeFixProvider.cs (1)
76var returnStatement = anyReturn.Kind == OperationKind.YieldReturn
ConvertForEachToFor\AbstractConvertForEachToForCodeRefactoringProvider.cs (1)
374switch (operation.Kind)
ConvertIfToSwitch\AbstractConvertIfToSwitchCodeRefactoringProvider.cs (1)
145return op.Kind;
InitializeParameter\AbstractInitializeParameterCodeRefactoringProvider.cs (1)
172switch (operation.Kind)
InlineMethod\AbstractInlineMethodRefactoringProvider.InlineContext.cs (1)
428if (operation.Kind is OperationKind.AnonymousFunction or OperationKind.LocalFunction)
IntroduceParameter\AbstractIntroduceParameterCodeRefactoringProvider.cs (1)
220containsClassSpecificStatement = operation.Descendants().Any(op => op.Kind == OperationKind.InstanceReference);
IntroduceUsingStatement\AbstractIntroduceUsingStatementCodeRefactoringProvider.cs (1)
91if (initializer is null || initializer.Kind == OperationKind.Invalid)
IntroduceVariable\AbstractIntroduceVariableService.cs (1)
373memberReferenceOperation.Instance?.Kind == OperationKind.InstanceReference;
UseConditionalExpressionForReturnHelpers.cs (4)
89trueReturn.Kind != falseReturn.Kind) 96if (trueReturn?.Kind == OperationKind.YieldBreak) 103if (trueReturn?.Kind == OperationKind.YieldReturn &&
Microsoft.CodeAnalysis.Test.Utilities (199)
Compilation\ControlFlowGraphVerifier.cs (12)
33operationRoot = operationRoot.Kind == OperationKind.Block && 34(operationRoot.Parent?.Kind == OperationKind.ConstructorBody || 35operationRoot.Parent?.Kind == OperationKind.MethodBody) ? 738query.Operation.Kind == OperationKind.AnonymousObjectCreation) 1080if (operation.Parent == null && operation is IsNullOperation isNull && isNull.Operand.Kind == OperationKind.FlowCaptureReference) 1549Assert.Equal(OperationKind.LocalFunction, g.OriginalOperation.Kind); 1659Assert.True(CanBeInControlFlowGraph(root), $"Unexpected node kind OperationKind.{root.Kind}"); 1667Assert.True(CanBeInControlFlowGraph(operation), $"Unexpected node kind OperationKind.{operation.Kind}"); 1851Assert.Equal(OperationKind.AnonymousFunction, g.OriginalOperation.Kind); 1860switch (n.Kind) 1922simpleAssignment.Parent.Kind == OperationKind.AnonymousObjectCreation); 2007Assert.True(false, $"Unhandled node kind OperationKind.{n.Kind}");
Compilation\OperationTreeVerifier.cs (12)
103LogString($"{nameof(OperationKind)}.{GetKindText(operation.Kind)}"); 180var operationKind = (int)operation.Kind; 400if (!children.IsEmpty || operation.Kind != OperationKind.None) 627Assert.Equal(OperationKind.Loop, operation.Kind); 760Assert.NotEqual(OperationKind.VariableDeclaration, operation.Resources.Kind); 761Assert.NotEqual(OperationKind.VariableDeclarator, operation.Resources.Kind); 1452Assert.Equal(OperationKind.InstanceReference, propertyReference.Instance.Kind); 1785Assert.Equal(OperationKind.CaseClause, operation.Kind); 1873if (operation.Text.Kind != OperationKind.Literal) 1875Assert.Equal(OperationKind.Literal, ((IConversionOperation)operation.Text).Operand.Kind); 1889if (operation.FormatString != null && operation.FormatString.Kind != OperationKind.Literal) 1891Assert.Equal(OperationKind.Literal, ((IConversionOperation)operation.FormatString).Operand.Kind);
Compilation\TestOperationVisitor.cs (137)
39Assert.Equal(OperationKind.None, operation.Kind); 55Assert.Equal(OperationKind.None, operation.Kind); 119Assert.Equal(OperationKind.Block, operation.Kind); 127Assert.Equal(OperationKind.VariableDeclarationGroup, operation.Kind); 133Assert.Equal(OperationKind.VariableDeclarator, operation.Kind); 148Assert.Equal(OperationKind.VariableDeclaration, operation.Kind); 162Assert.Equal(OperationKind.Switch, operation.Kind); 170Assert.Equal(OperationKind.SwitchCase, operation.Kind); 222Assert.Equal(OperationKind.CaseClause, operation.Kind); 359Assert.Equal(OperationKind.Loop, operation.Kind); 367Assert.Equal(OperationKind.Labeled, operation.Kind); 382Assert.Equal(OperationKind.Branch, operation.Kind); 401Assert.Equal(OperationKind.Empty, operation.Kind); 407Assert.Contains(operation.Kind, new[] { OperationKind.Return, OperationKind.YieldReturn, OperationKind.YieldBreak }); 410Assert.NotEqual(OperationKind.YieldReturn, operation.Kind); 421Assert.Equal(OperationKind.Lock, operation.Kind); 427Assert.Equal(OperationKind.Try, operation.Kind); 441Assert.Equal(OperationKind.CatchClause, operation.Kind); 462Assert.Equal(OperationKind.Using, operation.Kind); 465Assert.NotEqual(OperationKind.VariableDeclaration, operation.Resources.Kind); 466Assert.NotEqual(OperationKind.VariableDeclarator, operation.Resources.Kind); 482Assert.Equal(OperationKind.None, operation.Kind); 489Assert.Equal(OperationKind.None, operation.Kind); 495Assert.Equal(OperationKind.ExpressionStatement, operation.Kind); 501Assert.Equal(OperationKind.None, operation.Kind); 507Assert.Equal(OperationKind.Stop, operation.Kind); 513Assert.Equal(OperationKind.End, operation.Kind); 519Assert.Equal(OperationKind.Invocation, operation.Kind); 552Assert.Equal(OperationKind.FunctionPointerInvocation, operation.Kind); 566Assert.Equal(OperationKind.Argument, operation.Kind); 582Assert.Equal(OperationKind.OmittedArgument, operation.Kind); 588Assert.Equal(OperationKind.ArrayElementReference, operation.Kind); 594Assert.Equal(OperationKind.ImplicitIndexerReference, operation.Kind); 603Assert.Equal(OperationKind.None, operation.Kind); 609Assert.Equal(OperationKind.LocalReference, operation.Kind); 617Assert.Equal(OperationKind.ParameterReference, operation.Kind); 624Assert.Equal(OperationKind.InstanceReference, operation.Kind); 663Assert.Equal(OperationKind.FieldReference, operation.Kind); 673Assert.Equal(OperationKind.MethodReference, operation.Kind); 687Assert.Equal(OperationKind.PropertyReference, operation.Kind); 695Assert.Equal(OperationKind.EventReference, operation.Kind); 703Assert.Equal(OperationKind.EventAssignment, operation.Kind); 710Assert.Equal(OperationKind.ConditionalAccess, operation.Kind); 717Assert.Equal(OperationKind.ConditionalAccessInstance, operation.Kind); 723Assert.Equal(OperationKind.None, operation.Kind); 729Assert.Equal(OperationKind.UnaryOperator, operation.Kind); 730Assert.Equal(OperationKind.Unary, operation.Kind); 744Assert.Equal(OperationKind.BinaryOperator, operation.Kind); 745Assert.Equal(OperationKind.Binary, operation.Kind); 813Assert.Equal(OperationKind.TupleBinaryOperator, operation.Kind); 814Assert.Equal(OperationKind.TupleBinary, operation.Kind); 822Assert.Equal(OperationKind.Conversion, operation.Kind); 870Assert.Equal(OperationKind.Conditional, operation.Kind); 885Assert.Equal(OperationKind.Coalesce, operation.Kind); 892Assert.Equal(OperationKind.CoalesceAssignment, operation.Kind); 898Assert.Equal(OperationKind.IsType, operation.Kind); 906Assert.Equal(OperationKind.SizeOf, operation.Kind); 913Assert.Equal(OperationKind.TypeOf, operation.Kind); 920Assert.Equal(OperationKind.AnonymousFunction, operation.Kind); 927Assert.Equal(OperationKind.FlowAnonymousFunction, operation.Kind); 934Assert.Equal(OperationKind.LocalFunction, operation.Kind); 960Assert.Equal(OperationKind.Literal, operation.Kind); 966Assert.Equal(OperationKind.Utf8String, operation.Kind); 973Assert.Equal(OperationKind.Await, operation.Kind); 979Assert.Equal(OperationKind.NameOf, operation.Kind); 985Assert.Equal(OperationKind.Throw, operation.Kind); 998Assert.Equal(OperationKind.AddressOf, operation.Kind); 1004Assert.Equal(OperationKind.ObjectCreation, operation.Kind); 1029Assert.Equal(OperationKind.AnonymousObjectCreation, operation.Kind); 1036Assert.Equal(OperationKind.InstanceReference, propertyReference.Instance.Kind); 1043Assert.Equal(OperationKind.DynamicObjectCreation, operation.Kind); 1056Assert.Equal(OperationKind.DynamicInvocation, operation.Kind); 1062Assert.Equal(OperationKind.DynamicIndexerAccess, operation.Kind); 1068Assert.Equal(OperationKind.ObjectOrCollectionInitializer, operation.Kind); 1074Assert.Equal(OperationKind.MemberInitializer, operation.Kind); 1086Assert.Equal(OperationKind.FieldInitializer, operation.Kind); 1096Assert.Equal(OperationKind.VariableInitializer, operation.Kind); 1103Assert.Equal(OperationKind.PropertyInitializer, operation.Kind); 1113Assert.Equal(OperationKind.ParameterInitializer, operation.Kind); 1120Assert.Equal(OperationKind.ArrayCreation, operation.Kind); 1133Assert.Equal(OperationKind.ArrayInitializer, operation.Kind); 1145Assert.Equal(OperationKind.SimpleAssignment, operation.Kind); 1152Assert.Equal(OperationKind.CompoundAssignment, operation.Kind); 1181Assert.Contains(operation.Kind, new[] { OperationKind.Increment, OperationKind.Decrement }); 1193Assert.Equal(OperationKind.Parenthesized, operation.Kind); 1199Assert.Equal(OperationKind.DynamicMemberReference, operation.Kind); 1221Assert.Equal(OperationKind.DefaultValue, operation.Kind); 1227Assert.Equal(OperationKind.TypeParameterObjectCreation, operation.Kind); 1240Assert.Equal(OperationKind.None, operation.Kind); 1253Assert.Equal(OperationKind.Invalid, operation.Kind); 1258Assert.Equal(OperationKind.Tuple, operation.Kind); 1265Assert.Equal(OperationKind.InterpolatedString, operation.Kind); 1271Assert.Equal(OperationKind.InterpolatedStringText, operation.Kind); 1272if (operation.Text.Kind != OperationKind.Literal) 1274Assert.Equal(OperationKind.Literal, ((IConversionOperation)operation.Text).Operand.Kind); 1281Assert.Equal(OperationKind.Interpolation, operation.Kind); 1290if (operation.FormatString.Kind != OperationKind.Literal) 1292Assert.Equal(OperationKind.Literal, ((IConversionOperation)operation.FormatString).Operand.Kind); 1302Assert.Equal(OperationKind.InterpolatedStringHandlerCreation, operation.Kind); 1313Assert.Equal(OperationKind.InterpolatedStringAddition, operation.Kind); 1321Assert.Equal(OperationKind.InterpolatedStringHandlerArgumentPlaceholder, operation.Kind); 1335Assert.True(operation.Kind is OperationKind.InterpolatedStringAppendFormatted or OperationKind.InterpolatedStringAppendLiteral or OperationKind.InterpolatedStringAppendInvalid); 1349Assert.Equal(OperationKind.ConstantPattern, operation.Kind); 1356Assert.Equal(OperationKind.RelationalPattern, operation.Kind); 1369Assert.Equal(OperationKind.BinaryPattern, operation.Kind); 1380Assert.Equal(OperationKind.NegatedPattern, operation.Kind); 1387Assert.Equal(OperationKind.TypePattern, operation.Kind); 1395Assert.Equal(OperationKind.DeclarationPattern, operation.Kind); 1428Assert.Equal(OperationKind.SlicePattern, operation.Kind); 1443Assert.Equal(OperationKind.ListPattern, operation.Kind); 1461Assert.Equal(OperationKind.RecursivePattern, operation.Kind); 1509if (operation.Member.Kind == OperationKind.Invalid) 1533Assert.Equal(OperationKind.SwitchExpression, operation.Kind); 1555Assert.Equal(OperationKind.IsPattern, operation.Kind); 1577Assert.Equal(OperationKind.TranslatedQuery, operation.Kind); 1583Assert.Equal(OperationKind.DeclarationExpression, operation.Kind); 1589Assert.Equal(OperationKind.DeconstructionAssignment, operation.Kind); 1595Assert.Equal(OperationKind.DelegateCreation, operation.Kind); 1601Assert.Equal(OperationKind.RaiseEvent, operation.Kind); 1614Assert.Equal(OperationKind.ConstructorBodyOperation, operation.Kind); 1615Assert.Equal(OperationKind.ConstructorBody, operation.Kind); 1641Assert.Equal(OperationKind.MethodBodyOperation, operation.Kind); 1642Assert.Equal(OperationKind.MethodBody, operation.Kind); 1667Assert.Equal(OperationKind.Discard, operation.Kind); 1676Assert.Equal(OperationKind.DiscardPattern, operation.Kind); 1683Assert.Equal(OperationKind.FlowCapture, operation.Kind); 1687switch (operation.Value.Kind) 1700Assert.False(true, $"A {operation.Value.Kind} node should not be spilled or captured."); 1715Assert.Equal(OperationKind.FlowCaptureReference, operation.Kind); 1722Assert.Equal(OperationKind.IsNull, operation.Kind); 1729Assert.Equal(OperationKind.CaughtException, operation.Kind); 1736Assert.Equal(OperationKind.StaticLocalInitializationSemaphore, operation.Kind); 1745Assert.Equal(OperationKind.Range, operation.Kind); 1766Assert.Equal(OperationKind.ReDim, operation.Kind); 1773Assert.Equal(OperationKind.ReDimClause, operation.Kind); 1800Assert.Equal(OperationKind.With, operation.Kind); 1808Assert.Equal(OperationKind.Attribute, operation.Kind);
Diagnostics\BoxingOperationAnalyzer.cs (2)
45if (operation.Kind == OperationKind.Conversion) 58if (operation.Kind == OperationKind.Invocation)
Diagnostics\CommonDiagnosticAnalyzers.cs (1)
1282var diagnostic = Diagnostic.Create(Descriptor, c.OwningSymbol.Locations[0], c.OwningSymbol.Name, operationRoot.Kind);
Diagnostics\CouldHaveMoreSpecificTypeAnalyzer.cs (2)
239OperationKind targetKind = target.Kind; 281if (value.Kind == OperationKind.Conversion)
Diagnostics\FieldCouldBeReadOnlyAnalyzer.cs (2)
113if (target.Kind == OperationKind.FieldReference) 118switch (fieldReference.Instance.Kind)
Diagnostics\LocalCouldBeConstAnalyzer.cs (2)
116if (target.Kind == OperationKind.LocalReference) 123else if (target.Kind == OperationKind.FieldReference)
Diagnostics\OperationTestAnalyzer.cs (28)
152if (forCondition.Kind == OperationKind.Binary) 160conditionLeft.Kind == OperationKind.LocalReference) 170if (setup.Kind == OperationKind.ExpressionStatement && ((IExpressionStatementOperation)setup).Operation.Kind == OperationKind.SimpleAssignment) 173if (setupAssignment.Target.Kind == OperationKind.LocalReference && 185if (advance.Kind == OperationKind.ExpressionStatement) 234if (advanceExpression.Kind == OperationKind.SimpleAssignment) 238if (advanceAssignment.Target.Kind == OperationKind.LocalReference && 240advanceAssignment.Value.Kind == OperationKind.Binary && 247advanceOperation.LeftOperand.Kind == OperationKind.LocalReference && 258else if (advanceExpression.Kind == OperationKind.CompoundAssignment) 262if (advanceAssignment.Target.Kind == OperationKind.LocalReference && 272else if (advanceExpression.Kind == OperationKind.Increment) 276if (advanceAssignment.Target.Kind == OperationKind.LocalReference && 716Report(operationContext, initializer.Syntax, initializer.Kind == OperationKind.FieldReference ? DoNotUseFieldInitializerDescriptor : DoNotUsePropertyInitializerDescriptor); 753var kind = assignment.Target.Kind; 899switch (operationContext.Operation.Kind) 1044if (eventAssignment.EventReference.Kind == OperationKind.Invalid || eventAssignment.HasErrors(operationContext.Compilation, operationContext.CancellationToken)) 1264if (addressOfOperation.Reference.Kind == OperationKind.Invalid && addressOfOperation.HasErrors(operationContext.Compilation, operationContext.CancellationToken)) 1328if (statement.Kind == OperationKind.None) 1381switch (operation.Kind) 1615if (left.Kind == OperationKind.LocalReference) 1620if (right.Kind == OperationKind.Literal) 1642if (operand.Kind == OperationKind.LocalReference) 1735if (operation.Kind == OperationKind.Argument) 1786if (operation.Kind == OperationKind.Binary) 1794else if (operation.Kind == OperationKind.Unary) 1802else if (operation.Kind == OperationKind.Increment)
Extensions\OperationExtensions.cs (1)
13switch (operation.Kind)
Microsoft.CodeAnalysis.Workspaces (16)
ControlFlowGraphExtensions.cs (1)
32=> cfg.DescendantOperations().Where(d => d?.Kind == operationKind).Cast<T>();
OperationExtensions.cs (5)
21assignmentOperation.Parent?.Kind == OperationKind.ObjectOrCollectionInitializer; 235switch (operation.Kind) 259switch (current.Kind) 366=> operationBlocks.HasAnyOperationDescendant(predicate: operation => operation.Kind == kind); 369=> operation.Kind == OperationKind.Literal && operation.Type.IsNumericType();
Shared\Extensions\SemanticEquivalence.cs (1)
129=> operation is IMemberReferenceOperation { Instance.Kind: OperationKind.InstanceReference };
SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
192if (operation.Kind is OperationKind.LocalFunction or OperationKind.AnonymousFunction)
SymbolUsageAnalysis.Walker.cs (6)
154operation.Parent.Parent?.Kind != OperationKind.ExpressionStatement) 162Debug.Assert(symbolOpt != null || operation.Kind == OperationKind.FlowCaptureReference); 192operation.Parent?.Kind != OperationKind.ExpressionStatement; 196if (write.Kind != OperationKind.FlowCaptureReference) 409switch (currentOperation.Kind) 524switch (target.Kind)
SyntaxGeneratorExtensions_Negate.cs (2)
451if (operation?.Kind == OperationKind.Literal && operation.ConstantValue.HasValue && operation.ConstantValue.Value is true) 455else if (operation?.Kind == OperationKind.Literal && operation.ConstantValue.HasValue && operation.ConstantValue.Value is false)
Roslyn.Compilers.VisualBasic.IOperation.UnitTests (22)
IOperation\IOperationTests.vb (19)
61Assert.Equal(statement1.Kind, OperationKind.ExpressionStatement) 63Assert.Equal(expression1.Kind, OperationKind.SimpleAssignment) 65Assert.Equal(assignment1.Value.Kind, OperationKind.Binary) 70Assert.Equal(left1.Kind, OperationKind.LocalReference) 73Assert.Equal(right1.Kind, OperationKind.Literal) 94Assert.Equal(statement2.Kind, OperationKind.ExpressionStatement) 96Assert.Equal(expression2.Kind, OperationKind.SimpleAssignment) 98Assert.Equal(assignment2.Value.Kind, OperationKind.Binary) 104Assert.Equal(left2.Kind, OperationKind.LocalReference) 107Assert.Equal(right2.Kind, OperationKind.LocalReference) 127Assert.Equal(statement3.Kind, OperationKind.ExpressionStatement) 129Assert.Equal(expression3.Kind, OperationKind.SimpleAssignment) 131Assert.Equal(assignment3.Value.Kind, OperationKind.Unary) 136Assert.Equal(operand3.Kind, OperationKind.LocalReference) 186Assert.Equal(statement1.Kind, OperationKind.ExpressionStatement) 188Assert.Equal(expression1.Kind, OperationKind.CompoundAssignment) 214Assert.Equal(statement2.Kind, OperationKind.ExpressionStatement) 216Assert.Equal(expression2.Kind, OperationKind.CompoundAssignment) 870Assert.Equal(OperationKind.FieldReference, operation.Kind)
IOperation\IOperationTests_IConversionExpression.vb (2)
3347If (conv.Kind = OperationKind.Conversion) Then 3399Select Case operation.Kind
IOperation\IOperationTests_IUsingStatement.vb (1)
85Assert.Equal(OperationKind.Invalid, op.Resources.Kind)