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