1 write to Expression
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
4061
this.
Expression
= expression;
51 references to Expression
Microsoft.CodeAnalysis.CSharp (23)
Binder\RefSafetyAnalysis.cs (4)
1257
this.Visit(node.
Expression
);
1267
inlineArray: node.
Expression
is not BoundConversion { Conversion.IsIdentity: true, ExplicitCastInCode: false, Operand: BoundExpression operand } ? node.
Expression
: operand,
1278
collectionEscape = GetValEscape(node.
Expression
, _localScopeDepth);
FlowAnalysis\AbstractFlowPass.cs (1)
2921
VisitRvalue(node.
Expression
);
FlowAnalysis\NullableWalker.cs (7)
11679
if (node.
Expression
.Kind != BoundKind.Conversion)
11683
VisitRvalue(node.
Expression
);
11688
var (expr, conversion) = RemoveConversion(node.
Expression
, includeExplicitConversions: false);
11689
SnapshotWalkerThroughConversionGroup(node.
Expression
, expr);
11693
node.
Expression
,
11950
if (node.
Expression
is not BoundConversion { Operand.IsSuppressed: true } &&
11987
isSuppressed: node.
Expression
is BoundConversion { Operand.IsSuppressed: true },
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
221
Visit(node.
Expression
);
Generated\BoundNodes.xml.Generated.cs (5)
4081
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 || body != this.Body || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(breakLabel, this.BreakLabel) || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(continueLabel, this.ContinueLabel))
10228
this.Visit(node.
Expression
);
11514
BoundExpression expression = (BoundExpression)this.Visit(node.
Expression
);
13619
BoundExpression expression = (BoundExpression)this.Visit(node.
Expression
);
16054
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)
129
(BoundConversion)node.
Expression
,
1218
var boundConversion = (BoundConversion)node.
Expression
;
Operations\CSharpOperationFactory.cs (2)
1969
boundForEachStatement.
Expression
is not BoundConversion { Conversion.IsIdentity: true, ExplicitCastInCode: false, Operand: BoundExpression operand } ?
1970
boundForEachStatement.
Expression
:
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (28)
Semantics\ForEachTests.cs (28)
1736
Assert.Equal(SpecialType.System_Collections_IEnumerable, boundNode.
Expression
.Type.SpecialType);
1737
Assert.Equal(SymbolKind.ArrayType, ((BoundConversion)boundNode.
Expression
).Operand.Type.Kind);
1742
return ((BoundConversion)boundNode.
Expression
).Conversion;
1774
Assert.Equal(SpecialType.System_String, boundNode.
Expression
.Type.SpecialType);
1775
Assert.Equal(SpecialType.System_String, ((BoundConversion)boundNode.
Expression
).Operand.Type.SpecialType);
1818
Assert.Equal("Enumerable", boundNode.
Expression
.Type.ToTestDisplayString());
1819
Assert.Equal("Enumerable", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
1862
Assert.Equal("Enumerable", boundNode.
Expression
.Type.ToTestDisplayString());
1863
Assert.Equal("Enumerable", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
1895
Assert.Equal("System.Collections.IEnumerable", boundNode.
Expression
.Type.ToTestDisplayString());
1896
Assert.Equal("System.Collections.IEnumerable", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
1935
Assert.Equal("System.Collections.Generic.IEnumerable<System.Int32>", boundNode.
Expression
.Type.ToTestDisplayString());
1936
Assert.Equal("Enumerable", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
1977
Assert.Equal(SpecialType.System_Collections_IEnumerable, boundNode.
Expression
.Type.SpecialType);
1978
Assert.Equal("Enumerable", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
2016
Assert.Equal(SpecialType.System_Collections_IEnumerable, boundNode.
Expression
.Type.SpecialType);
2017
Assert.Equal("Enumerable", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
2197
Assert.Equal(SpecialType.System_Collections_IEnumerable, boundNode.
Expression
.Type.SpecialType);
2198
Assert.Equal(TypeKind.Dynamic, ((BoundConversion)boundNode.
Expression
).Operand.Type.TypeKind);
2230
Assert.Equal(SpecialType.System_Collections_IEnumerable, boundNode.
Expression
.Type.SpecialType);
2231
Assert.Equal(SymbolKind.DynamicType, ((BoundConversion)boundNode.
Expression
).Operand.Type.Kind);
2271
Assert.Equal("Enumerable<T>", boundNode.
Expression
.Type.ToTestDisplayString());
2272
Assert.Equal("Enumerable<T>", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
2355
Assert.Equal("Enumerable<T>", boundNode.
Expression
.Type.ToTestDisplayString());
2356
Assert.Equal("Enumerable<T>", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
2402
Assert.Equal("Enumerable", boundNode.
Expression
.Type.ToTestDisplayString());
2403
Assert.Equal("Enumerable", ((BoundConversion)boundNode.
Expression
).Operand.Type.ToTestDisplayString());
3764
Assert.Equal("C", boundNode.
Expression
.Type.ToDisplayString());