229 references to IsIdentity
Microsoft.AspNetCore.Components.Analyzers (1)
ComponentParameterUsageAnalyzer.cs (1)
90if (conversion.Exists && conversion.IsIdentity)
Microsoft.AspNetCore.Components.SdkAnalyzers (1)
ComponentParameterUsageAnalyzer.cs (1)
90if (conversion.Exists && conversion.IsIdentity)
Microsoft.CodeAnalysis.CSharp (45)
Binder\Binder_Conversions.cs (3)
67Debug.Assert(result is BoundConversion || (conversion.IsIdentity && ((object)result == source) || source.NeedsToBeConverted()) || hasErrors); 110if (conversion.IsIdentity) 1901if (!conversion.IsIdentity)
Binder\Binder_Expressions.cs (4)
3506Debug.Assert(result.ConversionForArg(arg).IsIdentity); 3562else if (!kind.IsIdentity) 3583Debug.Assert(kind.IsIdentity); 5210case BoundConversion { Conversion.IsIdentity: true, Operand: BoundParameter param }:
Binder\Binder_Patterns.cs (1)
472if (patternConversion.IsIdentity || patternConversion.IsConstantExpression || patternConversion.IsNumeric)
Binder\ForEachLoopBinder.cs (2)
585collectionConversionClassification.IsIdentity || 659Debug.Assert(collectionConversionClassification.IsIdentity);
Binder\RefSafetyAnalysis.cs (1)
1261inlineArray: node.Expression is not BoundConversion { Conversion.IsIdentity: true, ExplicitCastInCode: false, Operand: BoundExpression operand } ? node.Expression : operand,
Binder\Semantics\Conversions\Conversion.cs (1)
1154return new CommonConversion(Exists, IsIdentity, IsNumeric, IsReference, IsImplicit, IsNullable, methodSymbol, constrainedToType);
Binder\Semantics\OverloadResolution\OverloadResolution.cs (1)
4657else if (!conversion.IsIdentity)
Binder\SwitchBinder.cs (1)
419Debug.Assert(conversion.UserDefinedToConversion.IsIdentity);
Compilation\BuiltInOperators.cs (2)
934if (leftConversion.IsIdentity || leftConversion.IsReference) 940if (rightConversion.IsIdentity || rightConversion.IsReference)
FlowAnalysis\NullableWalker.cs (2)
10941if (underlyingConversion.IsIdentity) 11761else if (conversion.IsIdentity ||
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (2)
621Debug.Assert(c.IsReference || c.IsIdentity); 742Debug.Assert(c.IsReference || c.IsIdentity);
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (2)
497Debug.Assert(c.IsReference || c.IsIdentity); 538Debug.Assert(c.IsReference || c.IsIdentity);
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
179Debug.Assert(c.IsReference || c.IsIdentity); 1255Debug.Assert(c.IsBoxing || c.IsReference || c.IsIdentity);
Lowering\DiagnosticsPass_Warnings.cs (1)
288if (!node.Operator.Kind.IsDynamic() && node.LeftConversion is BoundConversion { Conversion: { IsIdentity: false, Exists: true } conversion })
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (1)
488Debug.Assert(c.IsNumeric || c.IsReference || c.IsIdentity || c.IsPointer || c.IsBoxing || c.IsEnumeration);
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (2)
208Debug.Assert(_factory.ClassifyEmitConversion(input, inputType).IsIdentity); 497(conv.IsIdentity || conv.Kind == ConversionKind.ImplicitReference || conv.IsBoxing) &&
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
515Debug.Assert(c.IsReference || c.IsIdentity);
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (1)
638Debug.Assert(c.IsReference || c.IsIdentity);
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (1)
373if (BoundNode.GetConversion(conversion, placeholder).IsIdentity)
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (2)
44if (leftConversion is BoundConversion { Conversion: { IsIdentity: false } }) 99if (BoundNode.GetConversion(leftConversion, leftPlaceholder) is { IsIdentity: true } or { Kind: ConversionKind.ExplicitNullable })
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (1)
191Debug.Assert(c.IsReference || c.IsIdentity);
Lowering\LocalRewriter\LocalRewriter_SwitchExpression.cs (1)
132Debug.Assert(c.IsBoxing || c.IsReference || c.IsIdentity);
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (2)
401case BoundConversion { Conversion: { IsIdentity: true }, Operand: var o }: 435case BoundConversion { Conversion: { IsIdentity: true }, Operand: var o }:
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (1)
769if (!conversion.Conversion.IsIdentity)
Lowering\SyntheticBoundNodeFactory.cs (1)
701Debug.Assert(c.IsBoxing || c.IsReference || c.IsIdentity);
Operations\CSharpOperationFactory.cs (3)
1096if (boundConversion.ExplicitCastInCode && conversion.IsIdentity && boundOperand.Kind == BoundKind.Conversion) 1586if (valueConversion.Exists && !valueConversion.IsIdentity && 1969boundForEachStatement.Expression is not BoundConversion { Conversion.IsIdentity: true, ExplicitCastInCode: false, Operand: BoundExpression operand } ?
Symbols\Source\ParameterHelpers.cs (1)
982conversion.IsIdentity && parameterType.SpecialType == SpecialType.System_Object && defaultExpression.Type.IsDynamic())
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeSymbol.cs (1)
793Debug.Assert(c.IsUnboxing || c.IsIdentity);
Symbols\Synthesized\Records\SynthesizedRecordPrintMembers.cs (1)
222Debug.Assert(c.IsIdentity || c.IsReference || c.IsBoxing);
Microsoft.CodeAnalysis.CSharp.CodeStyle (10)
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (1)
167if (conversion.IsIdentity)
src\Analyzers\CSharp\Analyzers\UseDeconstruction\CSharpUseDeconstructionDiagnosticAnalyzer.cs (1)
154if (conversion is { Exists: true, IsIdentity: false, IsTupleConversion: false, IsTupleLiteralConversion: false })
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ConversionExtensions.cs (1)
11return conversion.IsIdentity ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (4)
695if (!conversion.IsIdentity) 1131if (conversion.IsIdentity) 1179if (!conversion.IsIdentity) 1636var convertedType = originalConversion.IsIdentity ? originalConvertedType : originalSemanticModel.Compilation.ObjectType;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (1)
830if (originalConversion.IsIdentity)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (2)
134if (foreachStatementInfo.ElementConversion.IsIdentity) 293if (conversion.IsIdentity)
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (44)
FirstClassSpanTests.cs (1)
2836Assert.False(argConv.IsIdentity);
Semantics\CollectionExpressionTests.cs (15)
16290Assert.True(castConversion.IsIdentity); 16295Assert.True(conversion.IsIdentity); 16414Assert.True(castConversion.IsIdentity); 16420Assert.True(conversion.IsIdentity); 16499Assert.False(conversion.IsIdentity); 16588Assert.False(conversion.IsIdentity); 31056Assert.True(conversion1.IsIdentity); 31061Assert.True(conversion2.IsIdentity); 35025Assert.True(elementConversion.IsIdentity); 35116Assert.True(elementConversion1.IsIdentity); 35122Assert.True(elementConversion2.IsIdentity); 35158Assert.True(elementConversion1.IsIdentity); 35164Assert.True(elementConversion2.IsIdentity); 35204Assert.True(elementConversion1.IsIdentity); 35210Assert.True(elementConversion2.IsIdentity);
Semantics\InlineArrayTests.cs (9)
18597Assert.True(model.GetConversion(f).IsIdentity); 18607Assert.True(forEachInfo.ElementConversion.IsIdentity); 18608Assert.True(forEachInfo.CurrentConversion.IsIdentity); 18923Assert.True(model.GetConversion(f).IsIdentity); 18933Assert.True(forEachInfo.ElementConversion.IsIdentity); 18934Assert.True(forEachInfo.CurrentConversion.IsIdentity); 19260Assert.True(model.GetConversion(collection).IsIdentity); 19270Assert.True(forEachInfo.ElementConversion.IsIdentity); 19271Assert.True(forEachInfo.CurrentConversion.IsIdentity);
Semantics\OutVarTests.cs (9)
1032Assert.True(model.GetConversion(decl).IsIdentity); 1054Assert.True(model.GetConversion(typeSyntax).IsIdentity); 33065Assert.True(model.GetConversion(declaration1.Type).IsIdentity); 33081Assert.True(model.GetConversion(declaration2.Type).IsIdentity); 33137Assert.True(model.GetConversion(declaration1.Type).IsIdentity); 33179Assert.True(model.GetConversion(declaration1.Type).IsIdentity); 33195Assert.True(model.GetConversion(declaration2.Type).IsIdentity); 33243Assert.True(model.GetConversion(declaration1.Type).IsIdentity); 33261Assert.True(model.GetConversion(declaration2.Type).IsIdentity);
Semantics\ParamsCollectionTests.cs (7)
226Assert.True(model.GetConversion(expression).IsIdentity); 342Assert.True(model.GetConversion(expression).IsIdentity); 525Assert.True(model.GetConversion(expression).IsIdentity); 670Assert.True(model.GetConversion(expression).IsIdentity); 1414Assert.True(model.GetConversion(expression).IsIdentity); 2538Assert.True(model.GetConversion(expression).IsIdentity); 2674Assert.True(model.GetConversion(expression).IsIdentity);
Semantics\PatternMatchingTestBase.cs (2)
136Assert.True(model.GetConversion(typeSyntax).IsIdentity); 404Assert.True(model.GetConversion(decl.Type).IsIdentity);
Symbols\UserDefinedCompoundAssignmentOperatorsTests.cs (1)
12053Assert.True(model.GetConversion(opNode.Left).IsIdentity);
Microsoft.CodeAnalysis.CSharp.Features (3)
ConvertForEachToFor\CSharpConvertForEachToForCodeRefactoringProvider.cs (1)
82var donotCastElement = foreachStatementInfo.ElementConversion.IsIdentity;
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (1)
167if (conversion.IsIdentity)
src\Analyzers\CSharp\Analyzers\UseDeconstruction\CSharpUseDeconstructionDiagnosticAnalyzer.cs (1)
154if (conversion is { Exists: true, IsIdentity: false, IsTupleConversion: false, IsTupleLiteralConversion: false })
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (93)
Semantics\DeconstructionTests.cs (78)
4260Assert.True(model.GetConversion(declarations[0]).IsIdentity); 4272Assert.True(model.GetConversion(declarations[0].Type).IsIdentity); 4284Assert.True(model.GetConversion(declarations[1]).IsIdentity); 4290Assert.True(model.GetConversion(declarations[1].Type).IsIdentity); 4301Assert.True(model.GetConversion(declarations[2]).IsIdentity); 4306Assert.True(model.GetConversion(declarations[2].Type).IsIdentity); 4315Assert.True(model.GetConversion(tuple).IsIdentity); 4395Assert.True(model.GetConversion(declarations[0]).IsIdentity); 4403Assert.True(model.GetConversion(declarations[0].Type).IsIdentity); 4415Assert.True(model.GetConversion(declarations[1]).IsIdentity); 4421Assert.True(model.GetConversion(declarations[1].Type).IsIdentity); 4432Assert.True(model.GetConversion(declarations[2]).IsIdentity); 4437Assert.True(model.GetConversion(declarations[2].Type).IsIdentity); 4446Assert.True(model.GetConversion(tuple).IsIdentity); 4519Assert.True(model.GetConversion(declarations[0]).IsIdentity); 4531Assert.True(model.GetConversion(declarations[0].Type).IsIdentity); 4543Assert.True(model.GetConversion(declarations[1]).IsIdentity); 4552Assert.True(model.GetConversion(declarations[1].Type).IsIdentity); 4563Assert.True(model.GetConversion(declarations[2]).IsIdentity); 4571Assert.True(model.GetConversion(declarations[2].Type).IsIdentity); 4580Assert.True(model.GetConversion(tuple).IsIdentity); 4669Assert.True(model.GetConversion(declarations[0]).IsIdentity); 4677Assert.True(model.GetConversion(declarations[0].Type).IsIdentity); 4688Assert.True(model.GetConversion(declarations[1]).IsIdentity); 4693Assert.True(model.GetConversion(declarations[1].Type).IsIdentity); 4763Assert.True(model.GetConversion(declarations[0]).IsIdentity); 4771Assert.True(model.GetConversion(declarations[0].Type).IsIdentity); 4782Assert.True(model.GetConversion(declarations[1]).IsIdentity); 4787Assert.True(model.GetConversion(declarations[1].Type).IsIdentity); 4841Assert.True(model.GetConversion(declarations[0]).IsIdentity); 4849Assert.True(model.GetConversion(declarations[0].Type).IsIdentity); 4860Assert.True(model.GetConversion(declarations[1]).IsIdentity); 4868Assert.True(model.GetConversion(declarations[1].Type).IsIdentity); 4945Assert.True(model.GetConversion(declaration).IsIdentity); 4950Assert.True(model.GetConversion(declaration.Type).IsIdentity); 4991Assert.True(model.GetConversion(declaration).IsIdentity); 4996Assert.True(model.GetConversion(declaration.Type).IsIdentity); 5049Assert.True(model.GetConversion(declaration).IsIdentity); 5057Assert.True(model.GetConversion(declaration.Type).IsIdentity); 5209Assert.True(model.GetConversion(declarations[0]).IsIdentity); 5217Assert.True(model.GetConversion(declarations[0].Type).IsIdentity); 5229Assert.True(model.GetConversion(declarations[1]).IsIdentity); 5235Assert.True(model.GetConversion(declarations[1].Type).IsIdentity); 5246Assert.True(model.GetConversion(declarations[2]).IsIdentity); 5251Assert.True(model.GetConversion(declarations[2].Type).IsIdentity); 5263Assert.True(model.GetConversion(tuples[0]).IsIdentity); 5273Assert.True(model.GetConversion(tuples[1]).IsIdentity); 5353Assert.True(model.GetConversion(declarations[0]).IsIdentity); 5361Assert.True(model.GetConversion(declarations[0].Type).IsIdentity); 5373Assert.True(model.GetConversion(declarations[1]).IsIdentity); 5379Assert.True(model.GetConversion(declarations[1].Type).IsIdentity); 5390Assert.True(model.GetConversion(declarations[2]).IsIdentity); 5395Assert.True(model.GetConversion(declarations[2].Type).IsIdentity); 5407Assert.True(model.GetConversion(tuples[0]).IsIdentity); 5417Assert.True(model.GetConversion(tuples[1]).IsIdentity); 5490Assert.True(model.GetConversion(declarations[0]).IsIdentity); 5498Assert.True(model.GetConversion(declarations[0].Type).IsIdentity); 5510Assert.True(model.GetConversion(declarations[1]).IsIdentity); 5519Assert.True(model.GetConversion(declarations[1].Type).IsIdentity); 5530Assert.True(model.GetConversion(declarations[2]).IsIdentity); 5538Assert.True(model.GetConversion(declarations[2].Type).IsIdentity); 5550Assert.True(model.GetConversion(tuples[0]).IsIdentity); 5560Assert.True(model.GetConversion(tuples[1]).IsIdentity); 5677Assert.True(model.GetConversion(declarations[0]).IsIdentity); 5685Assert.True(model.GetConversion(declarations[0].Type).IsIdentity); 5696Assert.True(model.GetConversion(declarations[1]).IsIdentity); 5701Assert.True(model.GetConversion(declarations[1].Type).IsIdentity); 5710Assert.True(model.GetConversion(tuple).IsIdentity); 5787Assert.True(model.GetConversion(declarations[0]).IsIdentity); 5795Assert.True(model.GetConversion(declarations[0].Type).IsIdentity); 5806Assert.True(model.GetConversion(declarations[1]).IsIdentity); 5811Assert.True(model.GetConversion(declarations[1].Type).IsIdentity); 5820Assert.True(model.GetConversion(tuple).IsIdentity); 5890Assert.True(model.GetConversion(declarations[0]).IsIdentity); 5898Assert.True(model.GetConversion(declarations[0].Type).IsIdentity); 5909Assert.True(model.GetConversion(declarations[1]).IsIdentity); 5917Assert.True(model.GetConversion(declarations[1].Type).IsIdentity); 5926Assert.True(model.GetConversion(tuple).IsIdentity);
Semantics\DynamicTests.cs (5)
10140Assert.True(model.GetDeconstructionInfo(assignment) is { Method: null, Conversion: null, Nested: [{ Method: null, Conversion: { IsIdentity: true }, Nested: [] }, _] }); 10268Assert.True(model.GetDeconstructionInfo(assignment) is { Method: null, Conversion: null, Nested: [{ Method: null, Conversion: { IsIdentity: true }, Nested: [] }, _] }); 10396Assert.True(model.GetDeconstructionInfo(assignment) is { Method: null, Conversion: null, Nested: [{ Method: null, Conversion: { IsIdentity: true }, Nested: [] }, _] }); 10550Assert.True(model.GetDeconstructionInfo(assignment) is { Method: null, Conversion: null, Nested: [{ Method: null, Conversion: { IsIdentity: true }, Nested: [] }, _] }); 11225Assert.True(model.GetDeconstructionInfo(assignment) is { Method: null, Conversion: null, Nested: [{ Method: null, Conversion: null, Nested: [{ Method: null, Conversion: { IsIdentity: true }, Nested: [] }, _] }, _] });
Semantics\IteratorTests.cs (2)
718Assert.True(model.GetConversion(node).IsIdentity); 756Assert.True(model.GetConversion(node).IsIdentity);
Semantics\TargetTypedDefaultTests.cs (1)
3522Assert.True(model.GetConversion(def).IsIdentity);
Semantics\Utf8StringsLiteralsTests.cs (7)
3007Assert.True(model.GetConversion(node).IsIdentity); 3063Assert.True(model.GetConversion(node).IsIdentity); 3119Assert.True(model.GetConversion(node).IsIdentity); 3175Assert.True(model.GetConversion(node).IsIdentity); 3231Assert.True(model.GetConversion(node).IsIdentity); 3259Assert.True(model.GetConversion(node).IsIdentity); 3315Assert.True(model.GetConversion(node).IsIdentity);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (8)
Compilation\GetSemanticInfoTests.cs (1)
679Assert.True(conv.IsIdentity);
Compilation\SemanticModelGetSemanticInfoTests.cs (7)
7486Assert.False(semanticInfo.ImplicitConversion.IsIdentity); 14809Assert.True(conv.IsIdentity); 14825Assert.True(conv.IsIdentity); 14905Assert.True(conv.IsIdentity); 14921Assert.True(conv.IsIdentity); 15016Assert.True(conv.IsIdentity); 15031Assert.True(conv.IsIdentity);
Microsoft.CodeAnalysis.CSharp.Workspaces (8)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ConversionExtensions.cs (1)
11return conversion.IsIdentity ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (4)
695if (!conversion.IsIdentity) 1131if (conversion.IsIdentity) 1179if (!conversion.IsIdentity) 1636var convertedType = originalConversion.IsIdentity ? originalConvertedType : originalSemanticModel.Compilation.ObjectType;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (1)
830if (originalConversion.IsIdentity)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (2)
134if (foreachStatementInfo.ElementConversion.IsIdentity) 293if (conversion.IsIdentity)
Microsoft.Extensions.Logging.Generators (1)
LoggerMessageGenerator.Parser.cs (1)
729return conversion.IsIdentity || (conversion.IsReference && conversion.IsImplicit);
Microsoft.Extensions.Options.SourceGeneration (1)
ParserUtilities.cs (1)
55return conversion.IsIdentity || (conversion.IsReference && conversion.IsImplicit);
Microsoft.Gen.BuildMetadata (1)
src\Generators\Shared\ParserUtilities.cs (1)
60return conversion.IsIdentity || (conversion.IsReference && conversion.IsImplicit);
Microsoft.Gen.Logging (1)
src\Generators\Shared\ParserUtilities.cs (1)
60return conversion.IsIdentity || (conversion.IsReference && conversion.IsImplicit);
Microsoft.Gen.MetadataExtractor (1)
src\Generators\Shared\ParserUtilities.cs (1)
60return conversion.IsIdentity || (conversion.IsReference && conversion.IsImplicit);
Microsoft.Gen.Metrics (1)
src\Generators\Shared\ParserUtilities.cs (1)
60return conversion.IsIdentity || (conversion.IsReference && conversion.IsImplicit);
Microsoft.Gen.MetricsReports (1)
src\Generators\Shared\ParserUtilities.cs (1)
60return conversion.IsIdentity || (conversion.IsReference && conversion.IsImplicit);
Roslyn.Diagnostics.CSharp.Analyzers (8)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ConversionExtensions.cs (1)
11return conversion.IsIdentity ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (4)
695if (!conversion.IsIdentity) 1131if (conversion.IsIdentity) 1179if (!conversion.IsIdentity) 1636var convertedType = originalConversion.IsIdentity ? originalConvertedType : originalSemanticModel.Compilation.ObjectType;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (1)
830if (originalConversion.IsIdentity)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\TypeStyle\CSharpUseImplicitTypeHelper.cs (2)
134if (foreachStatementInfo.ElementConversion.IsIdentity) 293if (conversion.IsIdentity)
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
1135return conversion.IsImplicit || conversion.IsIdentity;