30 instantiations of BoundLocal
Microsoft.CodeAnalysis.CSharp (26)
Binder\Binder_Deconstruct.cs (1)
910return new BoundLocal(syntax, localSymbol, BoundLocalDeclarationKind.WithExplicitType, constantValueOpt: null, isNullableUnknown: false, type: declTypeWithAnnotations.Type, hasErrors: hasErrors);
Binder\Binder_Expressions.cs (2)
1908return new BoundLocal(node, localSymbol, BoundLocalDeclarationKind.None, constantValueOpt: constantValueOpt, isNullableUnknown: isNullableUnknown, type: type, hasErrors: isError); 2975return new BoundLocal(declarationExpression, localSymbol, BoundLocalDeclarationKind.WithExplicitType, constantValueOpt: null, isNullableUnknown: false, type: declType.Type);
Binder\Binder_Patterns.cs (1)
890variableAccess = new BoundLocal(
Binder\Binder_Statements.cs (1)
3241exceptionSource = new BoundLocal(declaration, local, ConstantValue.NotAvailable, local.Type);
Binder\UsingStatementBinder.cs (1)
215: new BoundLocal(syntax, declarationsOpt[0].LocalSymbol, null, type) { WasCompilerGenerated = true };
BoundTree\VariablePendingInference.cs (1)
76return new BoundLocal(this.Syntax, localSymbol, BoundLocalDeclarationKind.WithInferredType, constantValueOpt: null, isNullableUnknown: false, type: type.Type, hasErrors: this.HasErrors || inferenceFailed).WithWasConverted();
Compiler\MethodBodySynthesizer.cs (1)
431boundTmps[i] = new BoundLocal(syntax, tmps[i], null, delegateType) { WasCompilerGenerated = true };
Generated\BoundNodes.xml.Generated.cs (1)
4433var result = new BoundLocal(this.Syntax, localSymbol, declarationKind, constantValueOpt, isNullableUnknown, type, this.HasErrors);
Lowering\ClosureConversion\ClosureConversion.cs (5)
621return new BoundLocal(syntax, localFrame, null, localFrame.Type); 669new BoundLocal(syntax, framePointer, null, frameType), 682BoundExpression left = new BoundFieldAccess(syntax, new BoundLocal(syntax, framePointer, null, frameType), frameParent, null); 765value = new BoundLocal(syntax, localToUse, null, localToUse.Type); 772var left = proxy.Replacement(syntax, frameType1 => new BoundLocal(syntax, framePointer, null, framePointer.Type));
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (1)
336BoundExpression boundRhs = new BoundLocal(syntax, rhsTemp, null, exprType);
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (1)
392var localBound = new BoundLocal(target.Syntax, localSymbol, constantValueOpt: null, type: outputPlaceholder.Type)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
1009return new BoundLocal(syntax,
Lowering\LocalRewriter\LocalRewriter_LocalDeclaration.cs (1)
59new BoundLocal(
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (1)
442BoundExpression boundTemp = new BoundLocal(
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (1)
220BoundLocal boundLocal = new BoundLocal(declarationSyntax, localSymbol, localDeclaration.InitializerOpt.ConstantValueOpt, localType);
Lowering\MethodToClassRewriter.cs (1)
440return new BoundLocal(node.Syntax, replacementLocal, node.ConstantValueOpt, replacementLocal.Type, node.HasErrors);
Lowering\SyntheticBoundNodeFactory.cs (3)
919return new BoundLocal(Syntax, local, null, local.Type) { WasCompilerGenerated = true }; 1554var local = new BoundLocal( 1599return new BoundLocal(node.Syntax, temp, constantValueOpt: null, type: node.Type) { WasCompilerGenerated = true };
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (2)
469var scriptLocal = new BoundLocal( 561var submissionLocal = new BoundLocal(
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (4)
CompilationContext.cs (2)
373var expression = new BoundLocal(syntax, local, constantValueOpt: null, type: local.Type); 632var expression = new BoundLocal(syntax, local, constantValueOpt: local.GetConstantValue(null, null, new BindingDiagnosticBag(diagnostics)), type: local.Type);
Rewriters\LocalDeclarationRewriter.cs (1)
80new BoundLocal(syntax, local, constantValueOpt: null, type: type),
Symbols\DisplayClassInstance.cs (1)
70return new BoundLocal(syntax, this.Local, constantValueOpt: null, type: this.Local.Type) { WasCompilerGenerated = true };
273 references to BoundLocal
Microsoft.CodeAnalysis.CSharp (268)
Binder\Binder.ValueChecks.cs (12)
667var local = (BoundLocal)expr; 818private bool CheckLocalValueKind(SyntaxNode node, BoundLocal local, BindValueKind valueKind, bool checkingReceiver, BindingDiagnosticBag diagnostics) 866private bool CheckLocalRefEscape(SyntaxNode node, BoundLocal local, uint escapeTo, bool checkingReceiver, BindingDiagnosticBag diagnostics) 2155if (argument is BoundDeconstructValuePlaceholder { VariableSymbol: not null } or BoundLocal { DeclarationKind: not BoundLocalDeclarationKind.None }) 2392BoundLocal { DeclarationKind: not BoundLocalDeclarationKind.None } l => l.LocalSymbol, 2963return GetLocalScopes(((BoundLocal)expr).LocalSymbol).RefEscapeScope; 3212var local = (BoundLocal)expr; 3533return GetLocalScopes(((BoundLocal)expr).LocalSymbol).ValEscapeScope; 3940var localSymbol = ((BoundLocal)expr).LocalSymbol; 4635var local = ((BoundLocal)expression).LocalSymbol;
Binder\Binder_Deconstruct.cs (1)
642BoundLocal { DeclarationKind: BoundLocalDeclarationKind.WithExplicitType or BoundLocalDeclarationKind.WithInferredType, LocalSymbol: var symbol } => symbol,
Binder\Binder_Operators.cs (2)
2626BoundLocal localAccess = (BoundLocal)expr;
Binder\DecisionDagBuilder.cs (1)
1681var bindings = cd.Bindings.Select(bpb => $"{(bpb.VariableAccess is BoundLocal l ? l.LocalSymbol.Name : "<var>")}={tempName(bpb.TempContainingValue)}");
Binder\LockOrUsingBinder.cs (1)
62lockedOrDisposedVariables = lockedOrDisposedVariables.Add(((BoundLocal)expression).LocalSymbol);
Binder\RefSafetyAnalysis.cs (1)
377public override BoundNode? VisitLocal(BoundLocal node)
BoundTree\BoundExpression.cs (1)
283public BoundLocal Update(LocalSymbol localSymbol, ConstantValue? constantValueOpt, TypeSymbol type)
BoundTree\BoundExpressionExtensions.cs (1)
25return ((BoundLocal)node).LocalSymbol.RefKind;
BoundTree\BoundImplicitIndexerAccess.cs (1)
20Debug.Assert(LengthOrCountAccess is BoundPropertyAccess or BoundArrayLength or BoundLocal or BoundBadExpression);
BoundTree\BoundNode.cs (1)
632public override BoundNode? VisitLocal(BoundLocal node)
BoundTree\BoundNode_Source.cs (1)
175case BoundLocal local:
BoundTree\BoundTreeVisitors.cs (1)
102return VisitLocal(node as BoundLocal, arg);
BoundTree\Constructors.cs (1)
73var localSymbol = ((BoundLocal)receiver).LocalSymbol;
CodeGen\EmitAddress.cs (4)
35return EmitLocalAddress((BoundLocal)expression, addressKind); 260private LocalDefinition EmitLocalAddress(BoundLocal localAccess, AddressKind addressKind) 353var local = (BoundLocal)value;
CodeGen\EmitExpression.cs (17)
130EmitLocalLoad((BoundLocal)expression, used); 429(receiver.Kind == BoundKind.Local && IsStackLocal(((BoundLocal)receiver).LocalSymbol)) || 1252return ((BoundLocal)receiver).LocalSymbol.RefKind != RefKind.None; 1350private void EmitLocalLoad(BoundLocal local, bool used) 1528return ((BoundLocal)receiver).LocalSymbol.SynthesizedKind == SynthesizedLocalKind.FrameCache; 1884BoundLocal { LocalSymbol.IsKnownToReferToTempIfReferenceType: true } or 1994return ((BoundLocal)receiver).LocalSymbol.RefKind != RefKind.None; 2515var local = left as BoundLocal; 2545return ((BoundLocal)left).LocalSymbol.RefKind == RefKind.None; 2593var left = (BoundLocal)assignmentTarget; 2788if (lhs.Kind == BoundKind.Local && ((BoundLocal)lhs).LocalSymbol.SynthesizedKind.IsLongLived()) 2858BoundLocal local = (BoundLocal)expression; 3667var local = (BoundLocal)expr;
CodeGen\EmitStatement.cs (5)
536(receiver.Kind == BoundKind.Local && IsStackLocal(((BoundLocal)receiver).LocalSymbol)) || 1121var exceptionSourceLocal = (BoundLocal)exceptionSource; 1257var local = ((BoundLocal)expression).LocalSymbol; 1722private LocalDefinition GetLocal(BoundLocal localExpression)
CodeGen\Optimizer.cs (15)
402private BoundLocal _assignmentLocal; 761if (value != null && value.Kind == BoundKind.Local && ((BoundLocal)value).LocalSymbol == local) 833public override BoundNode VisitLocal(BoundLocal node) 850public override BoundNode VisitLocal(BoundLocal node) 925var assignmentLocal = _assignmentLocal; 1048if (((BoundLocal)lhs).LocalSymbol.RefKind != RefKind.None) 1157if (unwrappedSequence is BoundLocal { LocalSymbol: { RefKind: not RefKind.None } localSymbol }) 1360var localSym = ((BoundLocal)boundExpression).LocalSymbol; 1573if (unwrappedSequence is BoundLocal { LocalSymbol: { } localSymbol }) 1632RecordVarWrite(((BoundLocal)exceptionSourceOpt).LocalSymbol); 1870((BoundLocal)top.Item1).LocalSymbol == local; 2056public override BoundNode VisitLocal(BoundLocal node) 2085var left = node.Left as BoundLocal; 2178var sourceLocal = ((BoundLocal)exceptionSource).LocalSymbol;
Compilation\CSharpSemanticModel.cs (1)
2076case BoundLocal local:
Compiler\AnonymousTypeMethodBodySynthesizer.cs (1)
118BoundLocal boundLocal = F.StoreToTemp(F.As(F.Parameter(_parameters[0]), anonymousType), out assignmentToTemp);
Compiler\MethodBodySynthesizer.cs (2)
426BoundLocal[] boundTmps = new BoundLocal[numTemps];
FlowAnalysis\AbstractFlowPass.cs (3)
562VisitLvalue((BoundLocal)node); 611protected virtual void VisitLvalue(BoundLocal node) 1226public override BoundNode VisitLocal(BoundLocal node)
FlowAnalysis\DataFlowsOutWalker.cs (1)
151return ((BoundLocal)node).LocalSymbol;
FlowAnalysis\DefiniteAssignment.cs (9)
808NoteRead(((BoundLocal)n).LocalSymbol); 944_usedVariables.Add(((BoundLocal)n).LocalSymbol); 980NoteWrite(((BoundLocal)n).LocalSymbol, value, read); 1338unassignedSlot = GetOrCreateSlot(((BoundLocal)node).LocalSymbol); 1430var result = ((BoundLocal)expression).LocalSymbol; 1499var local = (BoundLocal)node; 2187public override BoundNode VisitLocal(BoundLocal node) 2433CheckAssigned(((BoundLocal)expr).LocalSymbol, node);
FlowAnalysis\LocalDataFlowPass.cs (1)
214return GetOrCreateSlot(((BoundLocal)node).LocalSymbol);
FlowAnalysis\NullableWalker.cs (4)
2935public override BoundNode? VisitLocal(BoundLocal node) 6748if (argument is BoundLocal local && local.DeclarationKind == BoundLocalDeclarationKind.WithInferredType) 7157if (argument is BoundLocal { DeclarationKind: BoundLocalDeclarationKind.WithInferredType } || IsTargetTypedExpression(argument)) 9387if (variable.Expression is BoundLocal { DeclarationKind: BoundLocalDeclarationKind.WithInferredType } local)
FlowAnalysis\NullableWalker_Patterns.cs (1)
641if (variableAccess is BoundLocal { LocalSymbol: SourceLocalSymbol local } boundLocal)
FlowAnalysis\ReadWriteWalker.cs (1)
178readOrWritten.Add(((BoundLocal)receiver).LocalSymbol);
FlowAnalysis\VariablesDeclaredWalker.cs (2)
172protected override void VisitLvalue(BoundLocal node) 177public override BoundNode VisitLocal(BoundLocal node)
Generated\BoundNodes.xml.Generated.cs (10)
4429public BoundLocal Update(LocalSymbol localSymbol, BoundLocalDeclarationKind declarationKind, ConstantValue? constantValueOpt, bool isNullableUnknown, TypeSymbol type) 4433var result = new BoundLocal(this.Syntax, localSymbol, declarationKind, constantValueOpt, isNullableUnknown, type, this.HasErrors); 8743return VisitLocal((BoundLocal)node, arg); 9084public virtual R VisitLocal(BoundLocal node, A arg) => this.DefaultVisit(node, arg); 9312public virtual BoundNode? VisitLocal(BoundLocal node) => this.DefaultVisit(node); 9876public override BoundNode? VisitLocal(BoundLocal node) => null; 11076public override BoundNode? VisitLocal(BoundLocal node) 13077public override BoundNode? VisitLocal(BoundLocal node) 13080BoundLocal updatedNode; 15426public override TreeDumperNode VisitLocal(BoundLocal node, object? arg) => new TreeDumperNode("local", null, new TreeDumperNode[]
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (2)
309BoundLocal pendingValue = null; 650public override BoundNode VisitLocal(BoundLocal node)
Lowering\AsyncRewriter\AsyncRewriter.AsyncIteratorRewriter.cs (2)
337var versionLocal = F.Local(versionSymbol); 389var instLocal = F.Local(instSymbol);
Lowering\ClosureConversion\ClosureConversion.Analysis.Tree.cs (1)
468public override BoundNode VisitLocal(BoundLocal node)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
764var parameterReference = _bound.Local(param); 815var parameterReference = _bound.Local(param);
Lowering\DiagnosticsPass_ExpressionTrees.cs (2)
170public override BoundNode VisitLocal(BoundLocal node) 450private void CheckOutDeclaration(BoundLocal local)
Lowering\DiagnosticsPass_Warnings.cs (6)
37var local = (BoundLocal)argument; 204var local1 = (BoundLocal)expr1; 205var local2 = (BoundLocal)expr2;
Lowering\Instrumentation\Instrumenter.cs (1)
221Debug.Assert(original.Left is BoundLocal { LocalSymbol.SynthesizedKind: SynthesizedLocalKind.UserDefined } or BoundParameter);
Lowering\Instrumentation\LocalStateTracingInstrumenter.cs (5)
360Debug.Assert(original.Left is BoundLocal { LocalSymbol.SynthesizedKind: SynthesizedLocalKind.UserDefined } or BoundParameter); 368if (original.Right is BoundLocal { LocalSymbol.SynthesizedKind: SynthesizedLocalKind.UserDefined } rightLocal) 413if (node is BoundLocal { LocalSymbol: var localSymbol }) 457var addressOf = value is BoundLocal or BoundParameter ? 566BoundLocal? temp = null;
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (2)
175var state = F.Local(stateLocal); 258private BoundStatement EmitFinallyFrame(IteratorFinallyFrame frame, BoundLocal state)
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
543if (binding.VariableAccess is BoundLocal l)
Lowering\LocalRewriter\LocalRewriter_Await.cs (1)
47var tempAccess = _factory.StoreToTemp(rewrittenAwait, out BoundAssignmentOperator tempAssignment, syntaxOpt: rewrittenAwait.Syntax,
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (13)
83var boundTemp = _factory.StoreToTemp(loweredLeft, out tempAssignment); 649BoundLocal? temp; 653var local = _factory.StoreToTemp(loweredLeft, out assignment); 976BoundLocal boundTempX = _factory.StoreToTemp(xNonNull ?? loweredLeft, out BoundAssignmentOperator tempAssignmentX); 977BoundLocal boundTempY = _factory.StoreToTemp(yNonNull ?? loweredRight, out BoundAssignmentOperator tempAssignmentY); 1129BoundLocal boundTempX = _factory.StoreToTemp(xNonNull ?? loweredLeft, out tempAssignmentX); 1131BoundLocal boundTempY = _factory.StoreToTemp(yNonNull ?? loweredRight, out tempAssignmentY); 1414var tempAccess = _factory.StoreToTemp(operand, out tempAssignment, kind: kind); 1639BoundLocal boundTemp = _factory.StoreToTemp(notAlwaysNull, out tempAssignment); 1696BoundLocal boundTempX = _factory.StoreToTemp(leftNonNull ?? left, out tempAssignmentX); 1698BoundLocal boundTempY = _factory.StoreToTemp(rightNonNull ?? right, out tempAssignmentY); 1750BoundLocal boundTempX = _factory.StoreToTemp(loweredLeft, out tempAssignmentX); 1752BoundLocal boundTempY = _factory.StoreToTemp(loweredRight, out tempAssignmentY);
Lowering\LocalRewriter\LocalRewriter_Call.cs (12)
435BoundLocal? receiverTemp = null; 587BoundLocal? receiverTemp, 615BoundLocal local; 628BoundSequence { Value: BoundLocal l } => l, 629BoundLocal l => l, // Can happen for discard arguments 688private void ReferToTempIfReferenceTypeReceiver(BoundLocal receiverTemp, ref BoundAssignmentOperator assignmentToTemp, out BoundAssignmentOperator? extraRefInitialization, ArrayBuilder<LocalSymbol> temps) 702BoundLocal cache = _factory.Local(_factory.SynthesizedLocal(receiverType)); 709var intermediateRef = _factory.Local(_factory.SynthesizedLocal(receiverType, refKind: RefKind.Ref)); 1111var temp = _factory.StoreToTemp( 1364temporariesBuilder.Add(((BoundLocal)s.Left).LocalSymbol); 1501var localRefKind = ((BoundLocal)argument).LocalSymbol.RefKind; 1512BoundLocal boundTemp = _factory.StoreToTemp(argument, out boundAssignmentToTemp);
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (17)
65var isEvent = _factory.StoreToTemp(_dynamicFactory.MakeDynamicIsEventTest(memberAccess.Name, memberAccess.Receiver).ToExpression(), out BoundAssignmentOperator isEventAssignment); 71eventTemps.Add(((BoundLocal)lhsRead).LocalSymbol); 72var storeNonEvent = _factory.StoreToTemp(_factory.Conditional(_factory.Not(isEvent), receiverAssignment, _factory.Null(receiverAssignment.Type), receiverAssignment.Type), out BoundAssignmentOperator nonEventStore); 80eventTemps.Add(((BoundLocal)loweredRight).LocalSymbol); 204var receiverTemp = _factory.StoreToTemp(rewrittenReceiver, out assignmentToTemp, refKind: variableRepresentsLocation ? RefKind.Ref : RefKind.None); 236var receiverTemp = _factory.StoreToTemp(rewrittenReceiver, out assignmentToTemp); 352var boundTemp = _factory.StoreToTemp(array, out storeToTemp); 376temps.Add(((BoundLocal)tempAssignment.Left).LocalSymbol); 440var variableTemp = _factory.StoreToTemp(arrayAccess, out assignmentToTemp, refKind: RefKind.Ref); 487var receiverTemp = _factory.StoreToTemp(rewrittenReceiver, out assignmentToTemp); 500var temp = _factory.StoreToTemp(VisitExpression(indexerAccess.Receiver), out assignmentToTemp); 518var temp = _factory.StoreToTemp(VisitExpression(arguments[i]), out assignmentToTemp, indexerAccess.ArgumentRefKindsOpt.RefKinds(i) != RefKind.None ? RefKind.Ref : RefKind.None); 742var variableTemp = _factory.StoreToTemp(rewrittenVariable, out assignmentToTemp2, refKind: RefKind.Ref); 771var arrayTemp = _factory.StoreToTemp(loweredExpression, out assignmentToArrayTemp); 774var boundTempArray = arrayTemp; 782var temp = _factory.StoreToTemp(loweredIndices[i], out assignmentToTemp); 842return localsMayBeAssignedOrCaptured || ((BoundLocal)expression).LocalSymbol.RefKind != RefKind.None;
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (3)
821var savedTuple = _factory.StoreToTemp(rewrittenOperand, out assignmentToTemp); 1024var boundTemp = _factory.StoreToTemp(operand, out tempAssignment); 1282BoundLocal boundTemp = _factory.StoreToTemp(rewrittenOperand, out tempAssignment);
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (4)
168case BoundLocal { LocalSymbol: { RefKind: RefKind.None } localSymbol }: 349BoundLocal savedTuple = _factory.StoreToTemp(expression, out assignmentToTemp); 392var localBound = new BoundLocal(target.Syntax, localSymbol, constantValueOpt: null, type: outputPlaceholder.Type) 427var temp = _factory.StoreToTemp(loweredArg, out store);
Lowering\LocalRewriter\LocalRewriter_Event.cs (1)
79BoundLocal? boundTemp = null;
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (14)
126BoundLocal boundEnumeratorVar = MakeBoundLocal(forEachSyntax, enumeratorVar, enumeratorType); 252BoundLocal boundEnumeratorVar, 363BoundLocal boundDisposableVar = MakeBoundLocal(forEachSyntax, disposableVar, idisposableTypeSymbol); 545BoundLocal boundArrayVar = MakeBoundLocal(forEachSyntax, collectionTemp, collectionType); 551BoundLocal boundPositionVar = MakeBoundLocal(forEachSyntax, positionVar, intType); 724BoundLocal boundArrayVar = MakeBoundLocal(forEachSyntax, arrayVar, arrayType); 730BoundLocal boundPositionVar = MakeBoundLocal(forEachSyntax, positionVar, intType); 848BoundLocal boundArrayVar = MakeBoundLocal(forEachSyntax, arrayVar, arrayType); 862BoundLocal[] boundUpperVar = new BoundLocal[rank]; 884BoundLocal[] boundPositionVar = new BoundLocal[rank]; 1007private static BoundLocal MakeBoundLocal(CSharpSyntaxNode syntax, LocalSymbol local, TypeSymbol type) 1027private BoundStatement MakePositionIncrement(CSharpSyntaxNode syntax, BoundLocal boundPositionVar, TypeSymbol intType)
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (11)
268var receiverLocal = F.StoreToTemp( 308locals.Add(((BoundLocal)makeOffsetInput).LocalSymbol); 576var receiverLocal = F.StoreToTemp( 702localsBuilder.Add(((BoundLocal)startMakeOffsetInput).LocalSymbol); 713localsBuilder.Add(((BoundLocal)endMakeOffsetInput).LocalSymbol); 727var lengthLocal = F.StoreToTemp(lengthAccess, out var lengthStore); 738var startLocal = F.StoreToTemp(startExpr, out var startStore); 762var rangeLocal = F.StoreToTemp(rewrittenRangeArg, out var rangeStore); 768var lengthLocal = F.StoreToTemp(lengthAccess, out var lengthStore); 772var startLocal = F.StoreToTemp( 783var rangeSizeLocal = F.StoreToTemp(
Lowering\LocalRewriter\LocalRewriter_LockStatement.cs (2)
56BoundLocal boundLockTemp = _factory.StoreToTemp(rewrittenArgument, out assignmentToLockTemp, syntaxOpt: lockSyntax, kind: SynthesizedLocalKind.Lock); 99BoundLocal boundLockTakenTemp = _factory.StoreToTemp(
Lowering\LocalRewriter\LocalRewriter_NullCoalescingAssignmentOperator.cs (2)
96var lhsTemp = _factory.StoreToTemp(lhsRead, out var store); 103var tmp = _factory.StoreToTemp(BoundCall.Synthesized(leftOperand.Syntax, lhsRead, getValueOrDefault),
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (1)
151BoundLocal boundTemp = _factory.StoreToTemp(rewrittenLeft, out tempAssignment);
Lowering\LocalRewriter\LocalRewriter_ObjectCreationExpression.cs (3)
160BoundLocal oldValue = _factory.StoreToTemp(rewrittenReceiver, out BoundAssignmentOperator boundAssignmentToTemp); 206BoundLocal valueTemp = _factory.StoreToTemp(rewrittenRight, out BoundAssignmentOperator boundAssignmentToTemp); 259BoundLocal value = _factory.StoreToTemp(rewrittenExpression, out boundAssignmentToTemp, isKnownToReferToTempIfReferenceType: true);
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (2)
422var temp = _factory.StoreToTemp(rewrittenIndex, out store); 476var temp = _factory.StoreToTemp(arg, out store, refKind);
Lowering\LocalRewriter\LocalRewriter_StackAlloc.cs (1)
81var tempAccess = _factory.StoreToTemp(constructorCall, out BoundAssignmentOperator tempAssignment, syntaxOpt: stackAllocNode.Syntax);
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (1)
472var temp = _factory.StoreToTemp(expr, out var store);
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (5)
79BoundLocal builderTemp = _factory.Local(builderTempSymbol); 84BoundLocal? appendShouldProceedLocal = null; 411public readonly BoundLocal HandlerTemp; 413public InterpolationHandlerResult(ImmutableArray<BoundStatement> statements, BoundLocal handlerTemp, LocalSymbol outTemp, LocalRewriter rewriter) 422public InterpolationHandlerResult(ImmutableArray<BoundExpression> expressions, BoundLocal handlerTemp, LocalSymbol? outTemp, LocalRewriter rewriter)
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (2)
416private BoundLocal MakeTemp(BoundExpression loweredExpression, ArrayBuilder<LocalSymbol> temps, ArrayBuilder<BoundExpression> effects) 418BoundLocal temp = _factory.StoreToTemp(loweredExpression, out BoundAssignmentOperator assignmentToTemp);
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (3)
198BoundLocal boundTemp = _factory.StoreToTemp(loweredOperand, out tempAssignment); 485return ((BoundLocal)expression).LocalSymbol.RefKind != RefKind.None; 657BoundLocal boundTemp = _factory.StoreToTemp(rewrittenArgument, out tempAssignment);
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (4)
154BoundLocal boundTemp; 220BoundLocal boundLocal = new BoundLocal(declarationSyntax, localSymbol, localDeclaration.InitializerOpt.ConstantValueOpt, localType); 251BoundLocal boundTemp = _factory.StoreToTemp(tempInit, out tempAssignment, kind: SynthesizedLocalKind.Using); 282BoundLocal local,
Lowering\MethodToClassRewriter.cs (5)
395public sealed override BoundNode VisitLocal(BoundLocal node) 436private BoundNode VisitUnhoistedLocal(BoundLocal node) 480var leftLocal = (BoundLocal)originalLeft; 520BoundLocal tempLocal = factory.StoreToTemp(rewrittenRight, out tempAssignment);
Lowering\SpillSequenceSpiller.cs (14)
211public override BoundNode VisitLocal(BoundLocal node) 360out BoundLocal valueTypeReceiver, 361out BoundLocal referenceTypeReceiver)) 397var local = (BoundLocal)expression; 442var replacement = _F.StoreToTemp( 461out BoundLocal outValueTypeReceiver, 462out BoundLocal outReferenceTypeReceiver) 467Left: BoundLocal { LocalSymbol: { SynthesizedKind: SynthesizedLocalKind.LoweringTemp, RefKind: RefKind.Ref } receiverRefLocal }, 470ValueTypeReceiver: BoundLocal { LocalSymbol: { SynthesizedKind: SynthesizedLocalKind.LoweringTemp, RefKind: RefKind.Ref } } valueTypeReceiver, 479Left: BoundLocal { LocalSymbol: { SynthesizedKind: SynthesizedLocalKind.LoweringTemp, RefKind: RefKind.None } referenceTypeClone }, 480Right: BoundLocal { LocalSymbol: { SynthesizedKind: SynthesizedLocalKind.LoweringTemp, RefKind: RefKind.Ref } originalReceiverReference } 483Value: BoundLocal { LocalSymbol: { SynthesizedKind: SynthesizedLocalKind.LoweringTemp, RefKind: RefKind.None } } referenceTypeReceiver 985var cache = _F.Local(_F.SynthesizedLocal(receiverType));
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (3)
210case BoundLocal { LocalSymbol: var symbol }: 315if (node is { IsRef: true, Left: BoundLocal { LocalSymbol: LocalSymbol { IsCompilerGenerated: true } local } }) 384public override BoundNode VisitLocal(BoundLocal node)
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
798var leftLocal = ((BoundLocal)node.Left).LocalSymbol;
Lowering\SyntheticBoundNodeFactory.cs (8)
451return (InstrumentationState?.IsSuppressed == false && left is BoundLocal { LocalSymbol.SynthesizedKind: SynthesizedLocalKind.UserDefined } or BoundParameter) ? 917public BoundLocal Local(LocalSymbol local) 1470var source = Local(local); 1506public BoundLocal StoreToTemp( 1554var local = new BoundLocal( 1586internal BoundLocal MakeTempForDiscard(BoundDiscardExpression node, ArrayBuilder<LocalSymbol> temps) 1589BoundLocal result = MakeTempForDiscard(node, out temp); 1594internal BoundLocal MakeTempForDiscard(BoundDiscardExpression node, out LocalSymbol temp)
Operations\CSharpOperationFactory.cs (3)
44return CreateBoundLocalOperation((BoundLocal)boundNode); 549internal IOperation CreateBoundLocalOperation(BoundLocal boundLocal, bool createDeclaration = true) 1896IOperation? exceptionDeclarationOrExpression = CreateVariableDeclarator((BoundLocal?)boundCatchBlock.ExceptionSourceOpt);
Operations\CSharpOperationFactory_Methods.cs (1)
93internal IVariableDeclaratorOperation? CreateVariableDeclarator(BoundLocal? boundLocal)
Symbols\Synthesized\Records\SynthesizedRecordToString.cs (3)
63BoundLocal builderLocal = F.Local(builderLocalSymbol); 91static BoundStatement makeAppendString(SyntheticBoundNodeFactory F, BoundLocal builder, string value) 96static BoundStatement makeAppendChar(SyntheticBoundNodeFactory F, BoundLocal builder, char value)
Symbols\Synthesized\SynthesizedEntryPointSymbol.cs (2)
469var scriptLocal = new BoundLocal( 561var submissionLocal = new BoundLocal(
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (5)
CompilationContext.cs (2)
373var expression = new BoundLocal(syntax, local, constantValueOpt: null, type: local.Type); 632var expression = new BoundLocal(syntax, local, constantValueOpt: local.GetConstantValue(null, null, new BindingDiagnosticBag(diagnostics)), type: local.Type);
Rewriters\CapturedVariableRewriter.cs (1)
54public override BoundNode VisitLocal(BoundLocal node)
Rewriters\PlaceholderLocalRewriter.cs (2)
32public override BoundNode VisitLocal(BoundLocal node) 39private BoundExpression RewriteLocal(BoundLocal node)