Added stub classes/methods needed by compiler in an attempt to get it
[mono.git] / mcs / class / corlib / System.Reflection.Emit / AssemblyBuilder.cs
1 //
2 // System.Reflection.Emit/AssemblyBuilder.cs
3 //
4 // Author:
5 //   Paolo Molaro (lupus@ximian.com)
6 //
7 // (C) 2001 Ximian, Inc.  http://www.ximian.com
8 //
9
10 using System;
11 using System.Reflection;
12 using System.Resources;
13 using System.IO;
14 using System.Security.Policy;
15 using System.Runtime.Serialization;
16 using System.Globalization;
17 using System.Runtime.CompilerServices;
18
19 namespace System.Reflection.Emit {
20
21         public sealed class AssemblyBuilder : Assembly {
22                 private IntPtr _impl;
23                 private MethodInfo entry_point;
24
25                 public override string CodeBase {
26                         get {
27                                 return null;
28                         }
29                 }
30                 
31                 public override MethodInfo EntryPoint {
32                         get {
33                                 return entry_point;
34                         }
35                 }
36
37                 public override string Location {
38                         get {
39                                 return null;
40                         }
41                 }
42
43                 public void AddResourceFile (string name, string fileName)
44                 {
45                 }
46
47                 public void AddResourceFile (string name, string fileName, ResourceAttributes attribute)
48                 {
49                 }
50
51                 [MethodImplAttribute(MethodImplOptions.InternalCall)]
52                 private static extern ModuleBuilder defineModule (AssemblyBuilder ab,
53                                                                   string name,
54                                                                   string filename);
55                 
56                 public override ModuleBuilder DefineDynamicModule (string name)
57                 {
58                         return null;
59                 }
60
61                 public override ModuleBuilder DefineDynamicModule (string name, bool emitSymbolInfo)
62                 {
63                         return null;
64                 }
65
66                 public ModuleBuilder DefineDynamicModule(string name, string fileName)
67                 {
68                         return defineModule (this, name, fileName);
69                 }
70
71                 public ModuleBuilder DefineDynamicModule (string name, string fileName,
72                                                           bool emitSymbolInfo)
73                 {
74                         return null;
75                 }
76
77                 public IResourceWriter DefineResource (string name, string description, string fileName)
78                 {
79                         return null;
80                 }
81
82                 public IResourceWriter DefineResource (string name, string description,
83                                                        string fileName, ResourceAttributes attribute)
84                 {
85                         return null;
86                 }
87
88                 public void DefineUnmanagedResource (byte[] resource)
89                 {
90                 }
91
92                 public void DefineUnmanagedResource (string resourceFileName)
93                 {
94                 }
95
96                 public void DefineVersionInfoResource ()
97                 {
98                 }
99
100                 public void DefineVersionInfoResource (string product, string productVersion,
101                                                        string company, string copyright, string trademark)
102                 {
103                 }
104
105                 public ModuleBuilder GetDynamicModule (string name)
106                 {
107                         return null;
108                 }
109
110                 public override Type[] GetExportedTypes ()
111                 {
112                         return null;
113                 }
114
115                 public override FileStream GetFile (string name)
116                 {
117                         return null;
118                 }
119
120                 /*public virtual FileStream[] GetFiles() {
121                         return null;
122                 }
123                 public override FileStream[] GetFiles(bool getResourceModules) {
124                         return null;
125                 }*/
126
127                 /*public virtual ManifestResourceInfo GetManifestResourceInfo(string resourceName)
128                   {
129                         return null;
130                 }
131                 public virtual string[] GetManifestResourceNames() {
132                         return null;
133                 }
134                 public virtual Stream GetManifestResourceStream(string name) {
135                         return null;
136                 }
137                 public virtual Stream GetManifestResourceStream(Type type, string name) {
138                         return null;
139                 }*/
140
141                 [MethodImplAttribute(MethodImplOptions.InternalCall)]
142                 private static extern int getDataChunk (AssemblyBuilder ab, int type, byte[] buf);
143
144                 public void Save (string assemblyFileName)
145                 {
146                         byte[] buf = new byte[8192];
147                         FileStream file;
148                         int count;
149
150                         file = new FileStream (assemblyFileName, FileMode.OpenOrCreate, FileAccess.Write);
151
152                         count = getDataChunk (this, 0, buf);
153                         if (count != 0) {
154                                 file.Write (buf, 0, count);
155                                 count = getDataChunk (this, 1, buf); /* may be a too small buffer */
156                                 file.Write (buf, 0, count);
157                         }
158
159                         file.Close ();
160                 }
161
162                 public void SetEntryPoint (MethodInfo entryMethod)
163                 {
164                         entry_point = entryMethod;
165                 }
166
167                 public void SetEntryPoint (MethodInfo entryMethod, PEFileKinds fileKind)
168                 {
169                         entry_point = entryMethod;
170                 }
171
172         }
173 }