15 instantiations of BoundThisReference
Microsoft.CodeAnalysis.CSharp (15)
Binder\Binder_Expressions.cs (1)
2521return new BoundThisReference(node, thisTypeOpt ?? CreateErrorType(), hasErrors) { WasCompilerGenerated = wasCompilerGenerated };
Binder\Binder_Statements.cs (2)
3993BoundExpression receiver = new BoundThisReference(syntax, constructor.ContainingType) { WasCompilerGenerated = true }; 4035BoundExpression receiver = new BoundThisReference(syntax, constructor.ContainingType) { WasCompilerGenerated = true };
Compiler\MethodBodySynthesizer.cs (5)
40BoundExpression receiver = new BoundThisReference(syntax, constructor.ContainingType) { WasCompilerGenerated = true }; 96var thisReference = new BoundThisReference(syntax, submissionConstructor.ContainingType) { WasCompilerGenerated = true }; 184thisReference = new BoundThisReference(syntax, thisSymbol.Type) { WasCompilerGenerated = true }; 280field.IsStatic ? null : new BoundThisReference(syntax, accessor.ThisParameter.Type), 378new BoundThisReference(syntax, thisParameter.Type) { WasCompilerGenerated = true };
Generated\BoundNodes.xml.Generated.cs (1)
4396var result = new BoundThisReference(this.Syntax, type, this.HasErrors);
Lowering\ClosureConversion\ClosureConversion.cs (1)
604return new BoundThisReference(syntax, frameClass);
Lowering\InitializerRewriter.cs (1)
95new BoundThisReference(syntax, field.ContainingType);
Lowering\LocalRewriter\LocalRewriter.cs (1)
318var result = new BoundFieldAccess(node.Syntax, new BoundThisReference(node.Syntax, primaryCtor.ContainingType), field, ConstantValue.NotAvailable, LookupResultKind.Viable, node.Type);
Lowering\LocalRewriter\LocalRewriter_HostObjectMemberReference.cs (1)
19var thisReference = new BoundThisReference(syntax, _factory.CurrentType);
Lowering\LocalRewriter\LocalRewriter_PreviousSubmissionReference.cs (1)
23var thisReference = new BoundThisReference(syntax, _factory.CurrentType);
Lowering\SyntheticBoundNodeFactory.cs (1)
225return new BoundThisReference(Syntax, CurrentFunction.ThisParameter.Type) { WasCompilerGenerated = true };
52 references to BoundThisReference
Microsoft.CodeAnalysis.CSharp (52)
Binder\Binder.ValueChecks.cs (8)
1083var isValueType = ((BoundThisReference)expr).Type.IsValueType; 1530if (parameter is BoundThisReference) 1578!CanModifyReadonlyField(fieldAccess.ReceiverOpt is BoundThisReference, fieldSymbol)) 2133if (!(receiver is BoundThisReference || receiver is BoundBaseReference)) 3722Debug.Assert(thisParam.Type.Equals(((BoundThisReference)expr).Type, TypeCompareKind.ConsiderEverything)); 4013Debug.Assert(thisParam.Type.Equals(((BoundThisReference)expr).Type, TypeCompareKind.ConsiderEverything)); 4322Debug.Assert(thisParam.Type.Equals(((BoundThisReference)expr).Type, TypeCompareKind.ConsiderEverything)); 4981Debug.Assert(thisParam.Type.Equals(((BoundThisReference)expr).Type, TypeCompareKind.ConsiderEverything));
Binder\Binder_Deconstruct.cs (1)
945BoundThisReference receiver = ThisReference(designation, this.ContainingType, hasErrors: false,
Binder\Binder_Expressions.cs (5)
1483var implicitReceiver = field.IsStatic ? null : ThisReference(node, field.ContainingType, wasCompilerGenerated: true); 2500private BoundThisReference BindThis(ThisExpressionSyntax node, BindingDiagnosticBag diagnostics) 2519private BoundThisReference ThisReference(SyntaxNode node, NamedTypeSymbol thisTypeOpt, bool hasErrors = false, bool wasCompilerGenerated = false) 10822case BoundThisReference { WasCompilerGenerated: true }: 11016case BoundThisReference { WasCompilerGenerated: true }:
BoundTree\BoundNode_Source.cs (1)
262case BoundThisReference thisReference:
BoundTree\BoundTreeVisitors.cs (1)
100return VisitThisReference(node as BoundThisReference, arg);
CodeGen\EmitExpression.cs (6)
168EmitThisReferenceExpression((BoundThisReference)expression); 817private void EmitThisReferenceExpression(BoundThisReference thisRef) 2911var left = (BoundThisReference)assignmentTarget; 3141EmitThisStore((BoundThisReference)expression); 3226private void EmitThisStore(BoundThisReference thisRef)
Compiler\MethodBodySynthesizer.cs (2)
96var thisReference = new BoundThisReference(syntax, submissionConstructor.ContainingType) { WasCompilerGenerated = true }; 376BoundThisReference fieldReceiver = eventSymbol.IsStatic ?
FlowAnalysis\AbstractFlowPass.cs (1)
2044public override BoundNode VisitThisReference(BoundThisReference node)
FlowAnalysis\DefiniteAssignment.cs (1)
2473public override BoundNode VisitThisReference(BoundThisReference node)
FlowAnalysis\NullableWalker.cs (1)
10427public override BoundNode? VisitThisReference(BoundThisReference node)
Generated\BoundNodes.xml.Generated.cs (10)
4392public BoundThisReference Update(TypeSymbol type) 4396var result = new BoundThisReference(this.Syntax, type, this.HasErrors); 9095return VisitThisReference((BoundThisReference)node, arg); 9453public virtual R VisitThisReference(BoundThisReference node, A arg) => this.DefaultVisit(node, arg); 9689public virtual BoundNode? VisitThisReference(BoundThisReference node) => this.DefaultVisit(node); 10267public override BoundNode? VisitThisReference(BoundThisReference node) => null; 11567public override BoundNode? VisitThisReference(BoundThisReference node) 13671public override BoundNode? VisitThisReference(BoundThisReference node) 13678BoundThisReference updatedNode = node.Update(infoAndType.Type!); 16136public override TreeDumperNode VisitThisReference(BoundThisReference node, object? arg) => new TreeDumperNode("thisReference", null, new TreeDumperNode[]
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (1)
499public override BoundNode VisitThisReference(BoundThisReference node)
Lowering\ClosureConversion\ClosureConversion.cs (1)
835public override BoundNode VisitThisReference(BoundThisReference node)
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
165public override BoundNode VisitThisReference(BoundThisReference node)
Lowering\ExtensionMethodBodyRewriter.cs (1)
82public override BoundNode? VisitThisReference(BoundThisReference node)
Lowering\InitializerRewriter.cs (1)
94var boundReceiver = field.IsStatic ? null :
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
974return structThisCanChangeValueBetweenReads && ((BoundThisReference)expression).Type.IsStructType();
Lowering\LocalRewriter\LocalRewriter_HostObjectMemberReference.cs (1)
19var thisReference = new BoundThisReference(syntax, _factory.CurrentType);
Lowering\LocalRewriter\LocalRewriter_PreviousSubmissionReference.cs (1)
23var thisReference = new BoundThisReference(syntax, _factory.CurrentType);
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (2)
325public override BoundNode VisitThisReference(BoundThisReference node) 419public override BoundNode VisitThisReference(BoundThisReference node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (2)
208var result = F.This(); 962public sealed override BoundNode VisitThisReference(BoundThisReference node)
Lowering\SyntheticBoundNodeFactory.cs (1)
222public BoundThisReference This()
Operations\CSharpOperationFactory.cs (2)
112return CreateBoundThisReferenceOperation((BoundThisReference)boundNode); 1310private IInstanceReferenceOperation CreateBoundThisReferenceOperation(BoundThisReference boundThisReference)