1 write to Expression
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
4045
this.
Expression
= expression;
51 references to Expression
Microsoft.CodeAnalysis.CSharp (23)
Binder\RefSafetyAnalysis.cs (4)
1108
this.Visit(node.
Expression
);
1118
inlineArray: node.
Expression
is not BoundConversion { Conversion.IsIdentity: true, ExplicitCastInCode: false, Operand: BoundExpression operand } ? node.
Expression
: operand,
1135
collectionEscape = GetValEscape(node.
Expression
, _localScopeDepth);
FlowAnalysis\AbstractFlowPass.cs (1)
2919
VisitRvalue(node.
Expression
);
FlowAnalysis\NullableWalker.cs (7)
11527
if (node.
Expression
.Kind != BoundKind.Conversion)
11531
VisitRvalue(node.
Expression
);
11536
var (expr, conversion) = RemoveConversion(node.
Expression
, includeExplicitConversions: false);
11537
SnapshotWalkerThroughConversionGroup(node.
Expression
, expr);
11541
node.
Expression
,
11795
if (node.
Expression
is not BoundConversion { Operand.IsSuppressed: true } &&
11832
isSuppressed: node.
Expression
is BoundConversion { Operand.IsSuppressed: true },
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
222
Visit(node.
Expression
);
Generated\BoundNodes.xml.Generated.cs (5)
4067
if (enumeratorInfoOpt != this.EnumeratorInfoOpt || elementPlaceholder != this.ElementPlaceholder || elementConversion != this.ElementConversion || iterationVariableType != this.IterationVariableType || iterationVariables != this.IterationVariables || iterationErrorExpressionOpt != this.IterationErrorExpressionOpt || expression != this.
Expression
|| deconstructionOpt != this.DeconstructionOpt || awaitOpt != this.AwaitOpt || body != this.Body || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(breakLabel, this.BreakLabel) || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(continueLabel, this.ContinueLabel))
10208
this.Visit(node.
Expression
);
11492
BoundExpression expression = (BoundExpression)this.Visit(node.
Expression
);
13588
BoundExpression expression = (BoundExpression)this.Visit(node.
Expression
);
16031
new TreeDumperNode("expression", null, new TreeDumperNode[] { Visit(node.
Expression
, null) }),
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (1)
536
syntaxForSpan = ((BoundForEachStatement)statement).
Expression
.Syntax;
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (2)
124
(BoundConversion)node.
Expression
,
1214
var boundConversion = (BoundConversion)node.
Expression
;
Operations\CSharpOperationFactory.cs (2)
1978
boundForEachStatement.
Expression
is not BoundConversion { Conversion.IsIdentity: true, ExplicitCastInCode: false, Operand: BoundExpression operand } ?
1979
boundForEachStatement.
Expression
:
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (28)
Semantics\ForEachTests.cs (28)
1220
Assert.Equal(SpecialType.System_Collections_IEnumerable, boundNode.
Expression
.Type.SpecialType);
1221
Assert.Equal(SymbolKind.ArrayType, ((BoundConversion)boundNode.
Expression
).Operand.Type.Kind);
1226
return ((BoundConversion)boundNode.
Expression
).Conversion;
1258
Assert.Equal(SpecialType.System_String, boundNode.
Expression
.Type.SpecialType);
1259
Assert.Equal(SpecialType.System_String, ((BoundConversion)boundNode.
Expression
).Operand.Type.SpecialType);
1302
Assert.Equal("Enumerable", boundNode.
Expression
.Type.ToTestDisplayString());
1303
Assert.Equal("Enumerable", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
1346
Assert.Equal("Enumerable", boundNode.
Expression
.Type.ToTestDisplayString());
1347
Assert.Equal("Enumerable", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
1379
Assert.Equal("System.Collections.IEnumerable", boundNode.
Expression
.Type.ToTestDisplayString());
1380
Assert.Equal("System.Collections.IEnumerable", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
1419
Assert.Equal("System.Collections.Generic.IEnumerable<System.Int32>", boundNode.
Expression
.Type.ToTestDisplayString());
1420
Assert.Equal("Enumerable", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
1461
Assert.Equal(SpecialType.System_Collections_IEnumerable, boundNode.
Expression
.Type.SpecialType);
1462
Assert.Equal("Enumerable", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
1500
Assert.Equal(SpecialType.System_Collections_IEnumerable, boundNode.
Expression
.Type.SpecialType);
1501
Assert.Equal("Enumerable", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
1681
Assert.Equal(SpecialType.System_Collections_IEnumerable, boundNode.
Expression
.Type.SpecialType);
1682
Assert.Equal(TypeKind.Dynamic, ((BoundConversion)boundNode.
Expression
).Operand.Type.TypeKind);
1714
Assert.Equal(SpecialType.System_Collections_IEnumerable, boundNode.
Expression
.Type.SpecialType);
1715
Assert.Equal(SymbolKind.DynamicType, ((BoundConversion)boundNode.
Expression
).Operand.Type.Kind);
1755
Assert.Equal("Enumerable<T>", boundNode.
Expression
.Type.ToTestDisplayString());
1756
Assert.Equal("Enumerable<T>", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
1839
Assert.Equal("Enumerable<T>", boundNode.
Expression
.Type.ToTestDisplayString());
1840
Assert.Equal("Enumerable<T>", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
1886
Assert.Equal("Enumerable", boundNode.
Expression
.Type.ToTestDisplayString());
1887
Assert.Equal("Enumerable", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
3248
Assert.Equal("C", boundNode.
Expression
.Type.ToDisplayString());