1 instantiation of CodeGenerator
Microsoft.CodeAnalysis.CSharp (1)
Compiler\MethodCompiler.cs (1)
1670var codeGen = new CodeGen.CodeGenerator(method, block, builder, moduleBuilder, diagnosticsForThisMethod, optimizations, emittingPdb);
54 references to CodeGenerator
Microsoft.CodeAnalysis.CSharp (54)
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 (6)
1221if (CodeGenerator.IsRef(receiver) && 1222CodeGenerator.IsPossibleReferenceTypeReceiverOfConstrainedCall(receiver) && 1223!CodeGenerator.IsSafeToDereferenceReceiverRefAfterEvaluatingArguments(call.Arguments)) 1276RefKind argRefKind = CodeGenerator.GetArgumentRefKind(arguments, parameters, argRefKindsOpt, i); 1371CodeGenerator.FieldLoadMustUseRef(receiver))) 2263if (CodeGenerator.IsRef(right))
Compiler\MethodCompiler.cs (1)
1670var codeGen = new CodeGen.CodeGenerator(method, block, builder, moduleBuilder, diagnosticsForThisMethod, optimizations, emittingPdb);
Lowering\LocalRewriter\LocalRewriter_AssignmentOperator.cs (3)
256else if (CodeGen.CodeGenerator.IsRef(rewrittenRight)) 304CodeGen.CodeGenerator.HasHome(rewrittenReceiver, 305CodeGen.CodeGenerator.AddressKind.ReadOnly,
Lowering\LocalRewriter\LocalRewriter_Call.cs (20)
304&& !CodeGenerator.HasHome( 306thisRefKind == RefKind.Ref ? CodeGenerator.AddressKind.Writeable : CodeGenerator.AddressKind.ReadOnly, 754Debug.Assert(!CodeGenerator.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver)); 766!CodeGenerator.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver)) 987(CodeGenerator.HasHome(rewrittenReceiver, 988CodeGenerator.AddressKind.Writeable, 992CodeGenerator.HasHome(rewrittenReceiver, 993CodeGenerator.AddressKind.Writeable, 1000!CodeGenerator.HasHome(rewrittenReceiver, 1001CodeGenerator.AddressKind.Writeable, 1006if (CodeGenerator.HasHome(rewrittenReceiver, 1007CodeGenerator.AddressKind.ReadOnly, 1048if (CodeGenerator.HasHome(rewrittenReceiver, 1049CodeGenerator.AddressKind.ReadOnly, 1062if (CodeGenerator.HasHome(rewrittenReceiver, 1074static CodeGenerator.AddressKind getArgumentAddressKind(RefKind refKind) 1084return CodeGenerator.AddressKind.ReadOnly; 1088return CodeGenerator.AddressKind.Writeable; 1182Debug.Assert(CodeGenerator.ReceiverIsKnownToReferToTempIfReferenceType(result));
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
690CodeGenerator.IsTypeAllowedInBlobWrapper(elementType.EnumUnderlyingTypeOrSelf().SpecialType) &&
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (2)
342Debug.Assert(!CodeGenerator.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver)); 358!CodeGenerator.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver))
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (7)
585Debug.Assert(!CodeGenerator.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver)); 611!CodeGenerator.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver) && 613!CodeGenerator.IsSafeToDereferenceReceiverRefAfterEvaluatingArguments(ImmutableArray.Create(makeOffsetInput))))) 880: CodeGenerator.IsPossibleReferenceTypeReceiverOfConstrainedCall(receiver); 934Debug.Assert(!CodeGenerator.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver)); 960!CodeGenerator.ReceiverIsKnownToReferToTempIfReferenceType(capturedReceiver) && 1180return 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,