15 instantiations of BoundThisReference
Microsoft.CodeAnalysis.CSharp (15)
Binder\Binder_Expressions.cs (1)
2521
return new
BoundThisReference
(node, thisTypeOpt ?? CreateErrorType(), hasErrors) { WasCompilerGenerated = wasCompilerGenerated };
Binder\Binder_Statements.cs (2)
3970
BoundExpression receiver = new
BoundThisReference
(syntax, constructor.ContainingType) { WasCompilerGenerated = true };
4012
BoundExpression receiver = new
BoundThisReference
(syntax, constructor.ContainingType) { WasCompilerGenerated = true };
Compiler\MethodBodySynthesizer.cs (5)
40
BoundExpression receiver = new
BoundThisReference
(syntax, constructor.ContainingType) { WasCompilerGenerated = true };
96
var thisReference = new
BoundThisReference
(syntax, submissionConstructor.ContainingType) { WasCompilerGenerated = true };
184
thisReference = new
BoundThisReference
(syntax, thisSymbol.Type) { WasCompilerGenerated = true };
280
field.IsStatic ? null : new
BoundThisReference
(syntax, accessor.ThisParameter.Type),
378
new
BoundThisReference
(syntax, thisParameter.Type) { WasCompilerGenerated = true };
Generated\BoundNodes.xml.Generated.cs (1)
4388
var result = new
BoundThisReference
(this.Syntax, type, this.HasErrors);
Lowering\ClosureConversion\ClosureConversion.cs (1)
604
return new
BoundThisReference
(syntax, frameClass);
Lowering\InitializerRewriter.cs (1)
95
new
BoundThisReference
(syntax, field.ContainingType);
Lowering\LocalRewriter\LocalRewriter.cs (1)
318
var result = new BoundFieldAccess(node.Syntax, new
BoundThisReference
(node.Syntax, primaryCtor.ContainingType), field, ConstantValue.NotAvailable, LookupResultKind.Viable, node.Type);
Lowering\LocalRewriter\LocalRewriter_HostObjectMemberReference.cs (1)
19
var thisReference = new
BoundThisReference
(syntax, _factory.CurrentType);
Lowering\LocalRewriter\LocalRewriter_PreviousSubmissionReference.cs (1)
23
var thisReference = new
BoundThisReference
(syntax, _factory.CurrentType);
Lowering\SyntheticBoundNodeFactory.cs (1)
225
return new
BoundThisReference
(Syntax, CurrentFunction.ThisParameter.Type) { WasCompilerGenerated = true };
52 references to BoundThisReference
Microsoft.CodeAnalysis.CSharp (52)
Binder\Binder.ValueChecks.cs (8)
862
var isValueType = ((
BoundThisReference
)expr).Type.IsValueType;
1309
if (parameter is
BoundThisReference
)
1357
!CanModifyReadonlyField(fieldAccess.ReceiverOpt is
BoundThisReference
, fieldSymbol))
1912
if (!(receiver is
BoundThisReference
|| receiver is BoundBaseReference))
3487
Debug.Assert(thisParam.Type.Equals(((
BoundThisReference
)expr).Type, TypeCompareKind.ConsiderEverything));
3813
Debug.Assert(thisParam.Type.Equals(((
BoundThisReference
)expr).Type, TypeCompareKind.ConsiderEverything));
4157
Debug.Assert(thisParam.Type.Equals(((
BoundThisReference
)expr).Type, TypeCompareKind.ConsiderEverything));
4863
Debug.Assert(thisParam.Type.Equals(((
BoundThisReference
)expr).Type, TypeCompareKind.ConsiderEverything));
Binder\Binder_Deconstruct.cs (1)
945
BoundThisReference
receiver = ThisReference(designation, this.ContainingType, hasErrors: false,
Binder\Binder_Expressions.cs (5)
1483
var
implicitReceiver = field.IsStatic ? null : ThisReference(node, field.ContainingType, wasCompilerGenerated: true);
2500
private
BoundThisReference
BindThis(ThisExpressionSyntax node, BindingDiagnosticBag diagnostics)
2519
private
BoundThisReference
ThisReference(SyntaxNode node, NamedTypeSymbol thisTypeOpt, bool hasErrors = false, bool wasCompilerGenerated = false)
10867
case
BoundThisReference
{ WasCompilerGenerated: true }:
11017
case
BoundThisReference
{ WasCompilerGenerated: true }:
BoundTree\BoundNode_Source.cs (1)
262
case
BoundThisReference
thisReference:
BoundTree\BoundTreeVisitors.cs (1)
100
return VisitThisReference(node as
BoundThisReference
, arg);
CodeGen\EmitExpression.cs (6)
168
EmitThisReferenceExpression((
BoundThisReference
)expression);
806
private void EmitThisReferenceExpression(
BoundThisReference
thisRef)
2872
var
left = (
BoundThisReference
)assignmentTarget;
3102
EmitThisStore((
BoundThisReference
)expression);
3187
private void EmitThisStore(
BoundThisReference
thisRef)
Compiler\MethodBodySynthesizer.cs (2)
96
var
thisReference = new BoundThisReference(syntax, submissionConstructor.ContainingType) { WasCompilerGenerated = true };
376
BoundThisReference
fieldReceiver = eventSymbol.IsStatic ?
FlowAnalysis\AbstractFlowPass.cs (1)
2043
public override BoundNode VisitThisReference(
BoundThisReference
node)
FlowAnalysis\DefiniteAssignment.cs (1)
2481
public override BoundNode VisitThisReference(
BoundThisReference
node)
FlowAnalysis\NullableWalker.cs (1)
10415
public override BoundNode? VisitThisReference(
BoundThisReference
node)
Generated\BoundNodes.xml.Generated.cs (10)
4384
public
BoundThisReference
Update(TypeSymbol type)
4388
var
result = new BoundThisReference(this.Syntax, type, this.HasErrors);
9087
return VisitThisReference((
BoundThisReference
)node, arg);
9445
public virtual R VisitThisReference(
BoundThisReference
node, A arg) => this.DefaultVisit(node, arg);
9681
public virtual BoundNode? VisitThisReference(
BoundThisReference
node) => this.DefaultVisit(node);
10257
public override BoundNode? VisitThisReference(
BoundThisReference
node) => null;
11554
public override BoundNode? VisitThisReference(
BoundThisReference
node)
13648
public override BoundNode? VisitThisReference(
BoundThisReference
node)
13655
BoundThisReference
updatedNode = node.Update(infoAndType.Type!);
16111
public override TreeDumperNode VisitThisReference(
BoundThisReference
node, object? arg) => new TreeDumperNode("thisReference", null, new TreeDumperNode[]
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (1)
499
public override BoundNode VisitThisReference(
BoundThisReference
node)
Lowering\ClosureConversion\ClosureConversion.cs (1)
835
public override BoundNode VisitThisReference(
BoundThisReference
node)
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
165
public override BoundNode VisitThisReference(
BoundThisReference
node)
Lowering\ExtensionMethodBodyRewriter.cs (1)
85
public override BoundNode? VisitThisReference(
BoundThisReference
node)
Lowering\InitializerRewriter.cs (1)
94
var
boundReceiver = field.IsStatic ? null :
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
915
return structThisCanChangeValueBetweenReads && ((
BoundThisReference
)expression).Type.IsStructType();
Lowering\LocalRewriter\LocalRewriter_HostObjectMemberReference.cs (1)
19
var
thisReference = new BoundThisReference(syntax, _factory.CurrentType);
Lowering\LocalRewriter\LocalRewriter_PreviousSubmissionReference.cs (1)
23
var
thisReference = new BoundThisReference(syntax, _factory.CurrentType);
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (2)
306
public override BoundNode VisitThisReference(
BoundThisReference
node)
400
public override BoundNode VisitThisReference(
BoundThisReference
node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (2)
208
var
result = F.This();
962
public sealed override BoundNode VisitThisReference(
BoundThisReference
node)
Lowering\SyntheticBoundNodeFactory.cs (1)
222
public
BoundThisReference
This()
Operations\CSharpOperationFactory.cs (2)
112
return CreateBoundThisReferenceOperation((
BoundThisReference
)boundNode);
1310
private IInstanceReferenceOperation CreateBoundThisReferenceOperation(
BoundThisReference
boundThisReference)