2 // tree.cs: keeps a tree representation of the generated code
4 // Author: Miguel de Icaza (miguel@gnu.org)
6 // Licensed under the terms of the GNU GPL
8 // (C) 2001 Ximian, Inc (http://www.ximian.com)
13 using System.Collections;
14 using System.Reflection;
20 // A storage for temporary IL trees
24 TypeContainer root_types;
30 root_types = new TypeContainer (null, "");
31 assemblies = new ArrayList ();
34 public TypeContainer Types {
40 public int ResolveTypeContainerTypes (TypeContainer type)
45 public int ResolveNames (TypeContainer types)
52 foreach (DictionaryEntry de in types.Types){
53 TypeContainer type = (TypeContainer) de.Value;
55 errors += ResolveTypeContainerTypes (type);
62 public int ResolveTypeContainerParents (TypeContainer type)
64 return type.ResolveParents (this);
71 errors += ResolveTypeContainerParents (root_types);
75 bool fix_me_hit = false;
77 public void AddAssembly (Assembly a)
80 Console.WriteLine ("AddAssembly currently can only hold types from one assembly");
83 types = a.GetExportedTypes ();