5 instantiations of LocalDefinition
Microsoft.CodeAnalysis (2)
CodeGen\LocalSlotManager.cs (1)
227
local = new
LocalDefinition
(
Emit\EditAndContinue\EncVariableSlotAllocator.cs (1)
182
return new
LocalDefinition
(
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (1)
EEAssemblyBuilder.cs (1)
111
return new
LocalDefinition
(
Microsoft.CodeAnalysis.VisualBasic (1)
CodeGen\EmitStatement.vb (1)
1451
_builder.AddLocalToScope(New
LocalDefinition
(
Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ExpressionCompiler (1)
EEAssemblyBuilder.vb (1)
111
Return New
LocalDefinition
(
137 references to LocalDefinition
Microsoft.CodeAnalysis (35)
CodeGen\ILBuilder.cs (2)
1146
internal bool PossiblyDefinedOutsideOfTry(
LocalDefinition
local)
1180
internal void AddLocalToScope(
LocalDefinition
local)
CodeGen\ILBuilderEmit.cs (4)
233
LocalDefinition
? keyHash,
441
internal void EmitLocalLoad(
LocalDefinition
local)
466
internal void EmitLocalStore(
LocalDefinition
local)
490
internal void EmitLocalAddress(
LocalDefinition
local)
CodeGen\LocalOrParameter.cs (3)
12
public readonly
LocalDefinition
? Local;
15
private LocalOrParameter(
LocalDefinition
? local, int parameterIndex)
21
public static implicit operator LocalOrParameter(
LocalDefinition
? local)
CodeGen\LocalScopeManager.cs (7)
105
internal void AddLocal(
LocalDefinition
variable)
174
internal bool PossiblyDefinedOutsideOfTry(
LocalDefinition
local)
305
internal virtual bool ContainsLocal(
LocalDefinition
local) => false;
314
private ImmutableArray<
LocalDefinition
>.Builder _localVariables;
339
internal void AddLocal(
LocalDefinition
variable)
343
_localVariables = ImmutableArray.CreateBuilder<
LocalDefinition
>(1);
374
internal override bool ContainsLocal(
LocalDefinition
local)
CodeGen\LocalSlotManager.cs (15)
65
private Dictionary<ILocalSymbolInternal,
LocalDefinition
>? _localMap;
68
private KeyedStack<LocalSignature,
LocalDefinition
>? _freeSlots;
90
private Dictionary<ILocalSymbolInternal,
LocalDefinition
> LocalMap
97
map = new Dictionary<ILocalSymbolInternal,
LocalDefinition
>(ReferenceEqualityComparer.Instance);
105
private KeyedStack<LocalSignature,
LocalDefinition
> FreeSlots
112
slots = new KeyedStack<LocalSignature,
LocalDefinition
>();
120
internal
LocalDefinition
DeclareLocal(
132
LocalDefinition
? local;
146
internal
LocalDefinition
GetLocal(ILocalSymbolInternal symbol)
157
var
slot = GetLocal(symbol);
165
internal
LocalDefinition
AllocateSlot(
171
if (!FreeSlots.TryPop(new LocalSignature(type, constraints), out
LocalDefinition
? local))
188
private
LocalDefinition
DeclareLocalImpl(
204
LocalDefinition
? local;
246
internal void FreeSlot(
LocalDefinition
slot)
CodeGen\SwitchStringJumpTableEmitter.cs (2)
64
private readonly
LocalDefinition
? _keyHash;
71
LocalDefinition
? keyHash,
CodeGen\VariableSlotAllocator.cs (1)
17
public abstract
LocalDefinition
? GetPreviousLocal(
Emit\EditAndContinue\EncVariableSlotAllocator.cs (1)
146
public override
LocalDefinition
? GetPreviousLocal(
Microsoft.CodeAnalysis.CSharp (66)
CodeGen\CodeGenerator.cs (8)
41
private ArrayBuilder<
LocalDefinition
> _expressionTemps;
74
private
LocalDefinition
_returnTemp;
161
private
LocalDefinition
LazyReturnTemp
165
var
result = _returnTemp;
505
private void AddExpressionTemp(
LocalDefinition
temp)
513
ArrayBuilder<
LocalDefinition
> exprTemps = _expressionTemps;
516
exprTemps = ArrayBuilder<
LocalDefinition
>.GetInstance();
531
var
temp = _expressionTemps[i];
CodeGen\EmitAddress.cs (15)
26
private
LocalDefinition
EmitAddress(BoundExpression expression, AddressKind addressKind)
140
var
temp = this.AllocateTemp(type, expression.Syntax);
181
private
LocalDefinition
EmitPassByCopyAddress(BoundPassByCopy passByCopyExpr, AddressKind addressKind)
245
var
receiverTemp = EmitAddress(expression.ReferenceTypeReceiver, AddressKind.ReadOnly);
260
private
LocalDefinition
EmitLocalAddress(BoundLocal localAccess, AddressKind addressKind)
293
private
LocalDefinition
EmitDupAddress(BoundDup dup, AddressKind addressKind)
325
private
LocalDefinition
EmitAddressOfTempClone(BoundExpression expression)
328
var
value = this.AllocateTemp(expression.Type, expression.Syntax);
338
private
LocalDefinition
EmitSequenceAddress(BoundSequence sequence, AddressKind addressKind)
342
var
result = EmitAddress(sequence.Value, addressKind);
433
private
LocalDefinition
EmitFieldAddress(BoundFieldAccess fieldAccess, AddressKind addressKind)
466
private
LocalDefinition
EmitParameterAddress(BoundParameter parameter, AddressKind addressKind)
499
private
LocalDefinition
EmitReceiverRef(BoundExpression receiver, AddressKind addressKind)
540
private
LocalDefinition
EmitInstanceFieldAddress(BoundFieldAccess fieldAccess, AddressKind addressKind)
549
var
tempOpt = EmitReceiverRef(
CodeGen\EmitExpression.cs (29)
395
LocalDefinition
receiverTemp = null;
417
LocalDefinition
cloneTemp = null;
664
var
temp = EmitAddress(expression.Operand, AddressKind.Writeable);
712
var
temp = EmitAddress(argument, AddressKind.ReadOnly);
719
var
unexpectedTemp = EmitAddress(argument, refKind == RefKindExtensions.StrictIn ? AddressKind.ReadOnlyStrict : AddressKind.Writeable);
735
var
temp = EmitAddress(expression.Operand, AddressKind.ReadOnlyStrict);
900
var
seqLocal = DefineLocal(local, sequence.Syntax);
1139
var
temp = EmitFieldLoadReceiver(receiver);
1157
private
LocalDefinition
EmitFieldLoadReceiver(BoundExpression receiver)
1362
LocalDefinition
definition = GetLocal(local);
1608
LocalDefinition
tempOpt = EmitReceiverRef(receiver, AddressKind.Writeable);
1651
LocalDefinition
tempOpt = null;
1801
LocalDefinition
emitGenericReceiver(BoundCall call, out CallKind callKind)
1813
LocalDefinition
tempOpt = EmitReceiverRef(receiver, callKind == CallKind.ConstrainedCallVirt ? AddressKind.Constrained : AddressKind.Writeable);
2340
LocalDefinition
temp = EmitAssignmentDuplication(assignmentOperator, useKind, lhsUsesStack);
2457
var
temp = EmitAddress(target, AddressKind.Writeable);
2486
var
temp = EmitAddress(target, AddressKind.Writeable);
2572
var
temp = EmitReceiverRef(left.ReceiverOpt, AddressKind.Writeable);
2618
LocalDefinition
localDefinition = GetLocal(left);
2656
var
temp = EmitAddress(left, AddressKind.Writeable);
2667
var
temp = EmitAddress(left, AddressKind.Writeable);
2679
var
temp = EmitAddress(left, AddressKind.Writeable);
2776
LocalDefinition
temp = EmitAddress(assignmentOperator.Right, lhs.GetRefKind() == RefKind.RefReadOnly ? AddressKind.ReadOnlyStrict : AddressKind.Writeable);
2804
private
LocalDefinition
EmitAssignmentDuplication(BoundAssignmentOperator assignmentOperator, UseKind useKind, bool lhsUsesStack)
2806
LocalDefinition
temp = null;
2948
private void EmitAssignmentPostfix(BoundAssignmentOperator assignment,
LocalDefinition
temp, UseKind useKind)
3273
var
temp = this.AllocateTemp(type, syntaxNode);
3726
var
temp = AllocateTemp(to, syntax);
3743
LocalDefinition
temp = null;
CodeGen\EmitStatement.cs (14)
848
var
unexpectedTemp = this.EmitAddress(expressionOpt, this._method.RefKind == RefKind.RefReadOnly ? AddressKind.ReadOnlyStrict : AddressKind.Writeable);
1144
var
temp = AllocateTemp(exceptionSource.Type, exceptionSource.Syntax);
1147
var
receiverTemp = EmitReceiverRef(left.ReceiverOpt, AddressKind.Writeable);
1235
LocalDefinition
temp = null;
1369
var
stringLength = AllocateTemp(int32Type, syntaxNode);
1394
var
charTemp = AllocateTemp(charType, syntaxNode);
1465
LocalDefinition
keyHash = null;
1722
private
LocalDefinition
GetLocal(BoundLocal localExpression)
1728
private
LocalDefinition
GetLocal(LocalSymbol symbol)
1733
private
LocalDefinition
DefineLocal(LocalSymbol local, SyntaxNode syntaxNode)
1793
var
localDef = _builder.LocalSlotManager.DeclareLocal(
1877
private
LocalDefinition
AllocateTemp(TypeSymbol type, SyntaxNode syntaxNode, LocalSlotConstraints slotConstraints = LocalSlotConstraints.None)
1887
private void FreeTemp(
LocalDefinition
temp)
1895
private void FreeOptTemp(
LocalDefinition
temp)
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (7)
EEAssemblyBuilder.cs (7)
79
private ImmutableArray<
LocalDefinition
> GetLocalDefinitions(ImmutableArray<LocalSymbol> locals, DiagnosticBag diagnostics)
81
var builder = ArrayBuilder<
LocalDefinition
>.GetInstance();
88
var
def = ToLocalDefinition(local, builder.Count, diagnostics);
95
private
LocalDefinition
ToLocalDefinition(LocalSymbol local, int index, DiagnosticBag diagnostics)
126
private readonly ImmutableArray<
LocalDefinition
> _locals;
128
internal SlotAllocator(ImmutableArray<
LocalDefinition
> locals)
138
public override
LocalDefinition
? GetPreviousLocal(
Microsoft.CodeAnalysis.VisualBasic (23)
CodeGen\EmitAddress.vb (7)
42
Private Function EmitAddress(expression As BoundExpression, addressKind As AddressKind) As
LocalDefinition
44
Dim tempOpt As
LocalDefinition
= Nothing
142
Private Function EmitAddressOfTempClone(expression As BoundExpression) As
LocalDefinition
150
Private Function EmitSequenceAddress(sequence As BoundSequence, addressKind As AddressKind) As
LocalDefinition
425
Private Function EmitFieldAddress(fieldAccess As BoundFieldAccess, addressKind As AddressKind) As
LocalDefinition
462
addressKind As AddressKind) As
LocalDefinition
500
Private Function EmitInstanceFieldAddress(fieldAccess As BoundFieldAccess, addressKind As AddressKind) As
LocalDefinition
CodeGen\EmitExpression.vb (7)
279
Dim receiverTemp As
LocalDefinition
= Nothing
280
Dim temp As
LocalDefinition
= Nothing
980
Dim tempOpt As
LocalDefinition
= Nothing
1649
Dim temp As
LocalDefinition
= Me.EmitAssignmentDuplication(assignmentOperator, used, lhsUsesStack)
1851
Private Function EmitAssignmentDuplication(assignmentOperator As BoundAssignmentOperator, used As Boolean, lhsUsesStack As Boolean) As
LocalDefinition
1852
Dim temp As
LocalDefinition
= Nothing
1863
Private Sub EmitAssignmentPostfix(temp As
LocalDefinition
)
CodeGen\EmitStatement.vb (9)
1051
Dim temp As
LocalDefinition
= Nothing
1086
Private Sub EmitStringSwitchJumpTable(caseLabels As KeyValuePair(Of ConstantValue, Object)(), fallThroughLabel As LabelSymbol, key As
LocalDefinition
, syntaxNode As SyntaxNode)
1088
Dim keyHash As
LocalDefinition
= Nothing
1243
Private Function DefineLocal(local As LocalSymbol, syntaxNode As SyntaxNode) As
LocalDefinition
1373
Private Function GetLocal(localExpression As BoundLocal) As
LocalDefinition
1378
Private Function GetLocal(symbol As LocalSymbol) As
LocalDefinition
1385
Private Function AllocateTemp(type As TypeSymbol, syntaxNode As SyntaxNode) As
LocalDefinition
1394
Private Sub FreeTemp(temp As
LocalDefinition
)
1401
Private Sub FreeOptTemp(temp As
LocalDefinition
)
Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ExpressionCompiler (6)
EEAssemblyBuilder.vb (6)
93
Private Function GetLocalDefinitions(locals As ImmutableArray(Of LocalSymbol), diagnostics As DiagnosticBag) As ImmutableArray(Of
LocalDefinition
)
94
Dim builder = ArrayBuilder(Of
LocalDefinition
).GetInstance()
108
Private Function ToLocalDefinition(local As LocalSymbol, index As Integer, diagnostics As DiagnosticBag) As
LocalDefinition
133
Private ReadOnly _locals As ImmutableArray(Of
LocalDefinition
)
135
Friend Sub New(locals As ImmutableArray(Of
LocalDefinition
))
152
tupleElementNames As ImmutableArray(Of String)) As
LocalDefinition