private static NamedTypeSymbol CreateCallSiteContainer(SyntheticBoundNodeFactory factory, int methodOrdinal) { // We don't reuse call-sites during EnC. Each edit creates a new container and sites. int generation = factory.CompilationState.ModuleBuilderOpt.CurrentGenerationOrdinal; var containerName = GeneratedNames.MakeDynamicCallSiteContainerName(methodOrdinal, generation); var synthesizedContainer = new DynamicSiteContainer(containerName, factory.TopLevelMethod); factory.AddNestedType(synthesizedContainer); if (factory.TopLevelMethod.IsGenericMethod) { return(synthesizedContainer.Construct(factory.TopLevelMethod.TypeParameters.Cast <TypeParameterSymbol, TypeSymbol>())); } return(synthesizedContainer); }