public ReadyToRunCodegenNodeFactory(
            CompilerTypeSystemContext context,
            CompilationModuleGroup compilationModuleGroup,
            MetadataManager metadataManager,
            InteropStubManager interopStubManager,
            NameMangler nameMangler,
            VTableSliceProvider vtableSliceProvider,
            DictionaryLayoutProvider dictionaryLayoutProvider,
            ModuleTokenResolver moduleTokenResolver,
            SignatureContext signatureContext)
            : base(context,
                   compilationModuleGroup,
                   metadataManager,
                   interopStubManager,
                   nameMangler,
                   new LazyGenericsDisabledPolicy(),
                   vtableSliceProvider,
                   dictionaryLayoutProvider,
                   new ImportedNodeProviderThrowing())
        {
            _importMethods = new Dictionary <TypeAndMethod, IMethodNode>();

            Resolver           = moduleTokenResolver;
            InputModuleContext = signatureContext;
        }
Esempio n. 2
0
 public NodeFactory(
     CompilerTypeSystemContext context,
     CompilationModuleGroup compilationModuleGroup,
     MetadataManager metadataManager,
     InteropStubManager interoptStubManager,
     NameMangler nameMangler,
     LazyGenericsPolicy lazyGenericsPolicy,
     VTableSliceProvider vtableSliceProvider,
     DictionaryLayoutProvider dictionaryLayoutProvider)
 {
     _target  = context.Target;
     _context = context;
     _compilationModuleGroup   = compilationModuleGroup;
     _vtableSliceProvider      = vtableSliceProvider;
     _dictionaryLayoutProvider = dictionaryLayoutProvider;
     NameMangler        = nameMangler;
     InteropStubManager = interoptStubManager;
     CreateNodeCaches();
     MetadataManager    = metadataManager;
     LazyGenericsPolicy = lazyGenericsPolicy;
 }
Esempio n. 3
0
 public CompilationBuilder UseGenericDictionaryLayoutProvider(DictionaryLayoutProvider provider)
 {
     _dictionaryLayoutProvider = provider;
     return(this);
 }
Esempio n. 4
0
 public RyuJitNodeFactory(CompilerTypeSystemContext context, CompilationModuleGroup compilationModuleGroup, MetadataManager metadataManager,
                          InteropStubManager interopStubManager, NameMangler nameMangler, VTableSliceProvider vtableSliceProvider, DictionaryLayoutProvider dictionaryLayoutProvider)
     : base(context, compilationModuleGroup, metadataManager, interopStubManager, nameMangler, new LazyGenericsDisabledPolicy(), vtableSliceProvider, dictionaryLayoutProvider)
 {
 }
Esempio n. 5
0
 public WebAssemblyCodegenNodeFactory(CompilerTypeSystemContext context, CompilationModuleGroup compilationModuleGroup, MetadataManager metadataManager,
                                      InteropStubManager interopStubManager, NameMangler nameMangler, VTableSliceProvider vtableSliceProvider, DictionaryLayoutProvider dictionaryLayoutProvider, PreinitializationManager preinitializationManager)
     : base(context,
            compilationModuleGroup,
            metadataManager,
            interopStubManager,
            nameMangler,
            new LazyGenericsDisabledPolicy(),
            vtableSliceProvider,
            dictionaryLayoutProvider,
            new ImportedNodeProviderThrowing(),
            preinitializationManager)
 {
     _vTableSlotNodes = new NodeCache <MethodDesc, WebAssemblyVTableSlotNode>(methodKey =>
     {
         return(new WebAssemblyVTableSlotNode(methodKey));
     });
 }
 public CppCodegenNodeFactory(CompilerTypeSystemContext context, CompilationModuleGroup compilationModuleGroup, MetadataManager metadataManager,
                              InteropStubManager interopStubManager, NameMangler nameMangler, VTableSliceProvider vtableSliceProvider, DictionaryLayoutProvider dictionaryLayoutProvider, PreinitializationManager preinitializationManager)
     : base(context,
            compilationModuleGroup,
            metadataManager,
            interopStubManager,
            nameMangler,
            new LazyGenericsDisabledPolicy(),
            vtableSliceProvider,
            dictionaryLayoutProvider,
            new ImportedNodeProviderThrowing(),
            preinitializationManager)
 {
 }