Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordotnet-bot <dotnet-bot@microsoft.com>2017-06-29 03:00:26 +0300
committerdotnet-bot <dotnet-bot@microsoft.com>2017-06-29 03:00:26 +0300
commit221b28d9ae571ebaeedcacf94c22ee05e1c5f117 (patch)
treec0f55b918d1d4518160066fcb864d5ebcc98bde1 /src/ILCompiler.CppCodeGen
parentdc6f0721e564c63d73fea63c48af8031b6bdd167 (diff)
ProjectX: EmptyInteropStubManager
An empty InteropStubManager is needed for Project X since there is an upstream MCG transform. An empty InteropStubManager should not enforce any interop-related dependencies. Also Move the creation of DelegateMarshallingStubMapNode and StructMarshallingStubMapNode from MetadataManager to InteropStubManager [tfs-changeset: 1663795]
Diffstat (limited to 'src/ILCompiler.CppCodeGen')
-rw-r--r--src/ILCompiler.CppCodeGen/src/Compiler/CppCodegenCompilationBuilder.cs5
-rw-r--r--src/ILCompiler.CppCodeGen/src/Compiler/DependencyAnalysis/CppCodegenNodeFactory.cs4
2 files changed, 6 insertions, 3 deletions
diff --git a/src/ILCompiler.CppCodeGen/src/Compiler/CppCodegenCompilationBuilder.cs b/src/ILCompiler.CppCodeGen/src/Compiler/CppCodegenCompilationBuilder.cs
index 3f56e757c..a9b278d40 100644
--- a/src/ILCompiler.CppCodeGen/src/Compiler/CppCodegenCompilationBuilder.cs
+++ b/src/ILCompiler.CppCodeGen/src/Compiler/CppCodegenCompilationBuilder.cs
@@ -8,6 +8,8 @@ using System.Collections.Generic;
using ILCompiler.DependencyAnalysis;
using ILCompiler.DependencyAnalysisFramework;
+using Internal.TypeSystem;
+
namespace ILCompiler
{
public sealed class CppCodegenCompilationBuilder : CompilationBuilder
@@ -29,7 +31,8 @@ namespace ILCompiler
public override ICompilation ToCompilation()
{
- CppCodegenNodeFactory factory = new CppCodegenNodeFactory(_context, _compilationGroup, _metadataManager, _nameMangler, _vtableSliceProvider);
+ var interopStubManager = new CompilerGeneratedInteropStubManager(_compilationGroup, _context, new InteropStateManager(_compilationGroup.GeneratedAssembly));
+ CppCodegenNodeFactory factory = new CppCodegenNodeFactory(_context, _compilationGroup, _metadataManager, interopStubManager, _nameMangler, _vtableSliceProvider);
DependencyAnalyzerBase<NodeFactory> graph = CreateDependencyGraph(factory);
return new CppCodegenCompilation(graph, factory, _compilationRoots, _logger, _config);
diff --git a/src/ILCompiler.CppCodeGen/src/Compiler/DependencyAnalysis/CppCodegenNodeFactory.cs b/src/ILCompiler.CppCodeGen/src/Compiler/DependencyAnalysis/CppCodegenNodeFactory.cs
index 2a0e66acb..0aa579bf7 100644
--- a/src/ILCompiler.CppCodeGen/src/Compiler/DependencyAnalysis/CppCodegenNodeFactory.cs
+++ b/src/ILCompiler.CppCodeGen/src/Compiler/DependencyAnalysis/CppCodegenNodeFactory.cs
@@ -11,8 +11,8 @@ namespace ILCompiler.DependencyAnalysis
public sealed class CppCodegenNodeFactory : NodeFactory
{
public CppCodegenNodeFactory(CompilerTypeSystemContext context, CompilationModuleGroup compilationModuleGroup, MetadataManager metadataManager,
- NameMangler nameMangler, VTableSliceProvider vtableSliceProvider)
- : base(context, compilationModuleGroup, metadataManager, nameMangler, new LazyGenericsDisabledPolicy(), vtableSliceProvider)
+ InteropStubManager interopStubManager, NameMangler nameMangler, VTableSliceProvider vtableSliceProvider)
+ : base(context, compilationModuleGroup, metadataManager, interopStubManager, nameMangler, new LazyGenericsDisabledPolicy(), vtableSliceProvider)
{
}