1 instantiation of CodeGenerator
Microsoft.CodeAnalysis.CSharp (1)
Compiler\MethodCompiler.cs (1)
1670
var codeGen = new CodeGen.
CodeGenerator
(method, block, builder, moduleBuilder, diagnosticsForThisMethod, optimizations, emittingPdb);
48 references to CodeGenerator
Microsoft.CodeAnalysis.CSharp (48)
CodeGen\CodeGenerator_HasHome.cs (3)
40
/// with those APIs should be limited to <see cref="
CodeGenerator
"/>. In other words, it should not be used
42
/// which it is valid to obtain a readonly reference). Usages like that in <see cref="
CodeGenerator
"/> are
114
if (
CodeGenerator
.IsStackLocal(local, stackLocalsOpt) && localRefKind == RefKind.None)
CodeGen\Optimizer.cs (5)
1221
if (
CodeGenerator
.IsRef(receiver) &&
1222
CodeGenerator
.IsPossibleReferenceTypeReceiverOfConstrainedCall(receiver) &&
1223
!
CodeGenerator
.IsSafeToDereferenceReceiverRefAfterEvaluatingArguments(call.Arguments))
1276
RefKind argRefKind =
CodeGenerator
.GetArgumentRefKind(arguments, parameters, argRefKindsOpt, i);
1371
CodeGenerator
.FieldLoadMustUseRef(receiver)))
Compiler\MethodCompiler.cs (1)
1670
var
codeGen = new CodeGen.CodeGenerator(method, block, builder, moduleBuilder, diagnosticsForThisMethod, optimizations, emittingPdb);
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (2)
296
CodeGen.
CodeGenerator
.HasHome(rewrittenReceiver,
297
CodeGen.
CodeGenerator
.AddressKind.ReadOnly,
Lowering\LocalRewriter\LocalRewriter_Call.cs (14)
304
&& !
CodeGenerator
.HasHome(
306
thisRefKind == RefKind.Ref ?
CodeGenerator
.AddressKind.Writeable :
CodeGenerator
.AddressKind.ReadOnly,
739
CodeGenerator
.HasHome(rewrittenReceiver,
740
CodeGenerator
.AddressKind.Constrained,
769
Debug.Assert(!
CodeGenerator
.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver));
781
!
CodeGenerator
.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver))
1024
if (
CodeGenerator
.HasHome(rewrittenReceiver,
1025
CodeGenerator
.AddressKind.ReadOnly,
1038
if (
CodeGenerator
.HasHome(rewrittenReceiver,
1050
static
CodeGenerator
.AddressKind getArgumentAddressKind(RefKind refKind)
1060
return
CodeGenerator
.AddressKind.ReadOnly;
1064
return
CodeGenerator
.AddressKind.Writeable;
1158
Debug.Assert(
CodeGenerator
.ReceiverIsKnownToReferToTempIfReferenceType(result));
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
690
CodeGenerator
.IsTypeAllowedInBlobWrapper(elementType.EnumUnderlyingTypeOrSelf().SpecialType) &&
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (4)
330
!
CodeGenerator
.HasHome(rewrittenReceiver,
331
CodeGenerator
.AddressKind.Constrained,
350
Debug.Assert(!
CodeGenerator
.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver));
367
!
CodeGenerator
.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver))
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (7)
583
Debug.Assert(!
CodeGenerator
.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver));
609
!
CodeGenerator
.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver) &&
611
!
CodeGenerator
.IsSafeToDereferenceReceiverRefAfterEvaluatingArguments(ImmutableArray.Create(makeOffsetInput)))))
878
:
CodeGenerator
.IsPossibleReferenceTypeReceiverOfConstrainedCall(receiver);
930
Debug.Assert(!
CodeGenerator
.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver));
956
!
CodeGenerator
.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver) &&
1176
return
CodeGenerator
.IsSafeToDereferenceReceiverRefAfterEvaluatingArguments(argumentsBuilder.ToImmutableAndFree());
Lowering\LocalRewriter\LoweredDynamicOperationFactory.cs (2)
551
var hasHome =
CodeGenerator
.HasHome(loweredReceiver,
552
CodeGenerator
.AddressKind.Writeable,
Lowering\SpillSequenceSpiller.cs (3)
1120
CodeGenerator
.IsPossibleReferenceTypeReceiverOfConstrainedCall(receiver) &&
1121
!
CodeGenerator
.ReceiverIsKnownToReferToTempIfReferenceType(receiver) &&
1122
!
CodeGenerator
.IsSafeToDereferenceReceiverRefAfterEvaluatingArguments(node.Arguments))
Lowering\SyntheticBoundNodeFactory.cs (6)
577
CodeGen.
CodeGenerator
.AssertIsEmitConversionKind(conversion.Kind);
1461
if (!method.ContainingType.IsValueType || !Microsoft.CodeAnalysis.CSharp.CodeGen.
CodeGenerator
.MayUseCallForStructMethod(this.CompilationState.Compilation.SourceModule, method))
1533
CodeGen.
CodeGenerator
.AssertIsEmitConversionKind(c.Kind);
1543
CodeGen.
CodeGenerator
.AssertIsEmitConversionKind(conversion.Kind);
1695
if (!
CodeGenerator
.HasHome(argument,
1696
CodeGenerator
.AddressKind.ReadOnly,