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:
authorMichal Strehovský <MichalStrehovsky@users.noreply.github.com>2017-05-16 00:01:24 +0300
committerGitHub <noreply@github.com>2017-05-16 00:01:24 +0300
commit85d38d522ca2b96a823cbbb99c903e5638a412a3 (patch)
treea2687a9f497dc27499a83df1e21ee0972dd3917d /src/ILCompiler.DependencyAnalysisFramework
parent3a91ef88ae57b344f632cc76e56166cccac92077 (diff)
Add IL scanner phase (#3503)
This adds an initial implementation of an IL scanner that will scan method bodies, starting from the provided compilation roots, and expand the dependency graph based on scanning the IL, to determine the set of methods (and types, and other interesting artifacts) that will be compiled. This nicely plugs into the existing architecture where the scanner looks almost just like another codegen backend - we have a separate NodeFactory for it, a separate builder class, and a separate compilation class. The actual IL parsing reuses the importer written for CppCodegen and ILVerifier. The results of the scanning phase will flow into the metadata generator and potentially other parts of the system.
Diffstat (limited to 'src/ILCompiler.DependencyAnalysisFramework')
-rw-r--r--src/ILCompiler.DependencyAnalysisFramework/src/DependencyNodeCore.cs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ILCompiler.DependencyAnalysisFramework/src/DependencyNodeCore.cs b/src/ILCompiler.DependencyAnalysisFramework/src/DependencyNodeCore.cs
index d43c61e57..9b01f5eb3 100644
--- a/src/ILCompiler.DependencyAnalysisFramework/src/DependencyNodeCore.cs
+++ b/src/ILCompiler.DependencyAnalysisFramework/src/DependencyNodeCore.cs
@@ -34,6 +34,13 @@ namespace ILCompiler.DependencyAnalysisFramework
public class DependencyList : List<DependencyListEntry>
{
+ public DependencyList() { }
+
+ public DependencyList(IEnumerable<DependencyListEntry> collection)
+ : base(collection)
+ {
+ }
+
public void Add(DependencyNodeCore<DependencyContextType> node,
string reason)
{