Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
AssemblyBuilder.cs
Go to the documentation of this file.
4using System.IO;
9
11
12public sealed class AssemblyBuilder : Assembly
13{
15
17
19
21
22 private static readonly object s_assemblyBuilderLock = new object();
23
25
27
28 public override string? FullName => InternalAssembly.FullName;
29
31
33
34 public override long HostContext => InternalAssembly.HostContext;
35
37
38 [RequiresAssemblyFiles("This member throws an exception for assemblies embedded in a single-file app")]
39 public override string? CodeBase
40 {
41 get
42 {
44 }
45 }
46
47 public override string Location
48 {
49 get
50 {
52 }
53 }
54
55 public override MethodInfo? EntryPoint => null;
56
57 public override bool IsDynamic => true;
58
59 [MethodImpl(MethodImplOptions.InternalCall)]
61
63 {
65 {
67 {
69 }
70 throw new ArgumentException(null, "module");
71 }
72 }
73
104
105 [MemberNotNull("_manifestModuleBuilder")]
113
119
125
126 [DllImport("QCall", CharSet = CharSet.Unicode)]
128
136
138 {
139 lock (SyncRoot)
140 {
142 }
143 }
144
146 {
147 if (name == null)
148 {
149 throw new ArgumentNullException("name");
150 }
151 if (name.Length == 0)
152 {
153 throw new ArgumentException(SR.Argument_EmptyName, "name");
154 }
155 if (name[0] == '\0')
156 {
157 throw new ArgumentException(SR.Argument_InvalidName, "name");
158 }
160 {
162 }
166 {
168 }
170 }
171
172 internal static void CheckContext(params Type[][] typess)
173 {
174 if (typess == null)
175 {
176 return;
177 }
178 foreach (Type[] array in typess)
179 {
180 if (array != null)
181 {
183 }
184 }
185 }
186
187 internal static void CheckContext(params Type[] types)
188 {
189 if (types == null)
190 {
191 return;
192 }
193 foreach (Type type in types)
194 {
195 if (!(type == null))
196 {
197 if (type.Module == null || type.Module.Assembly == null)
198 {
200 }
201 _ = type.Module.Assembly == typeof(object).Module.Assembly;
202 }
203 }
204 }
205
206 public override bool Equals(object? obj)
207 {
209 }
210
211 public override int GetHashCode()
212 {
214 }
215
216 public override object[] GetCustomAttributes(bool inherit)
217 {
219 }
220
221 public override object[] GetCustomAttributes(Type attributeType, bool inherit)
222 {
223 return InternalAssembly.GetCustomAttributes(attributeType, inherit);
224 }
225
226 public override bool IsDefined(Type attributeType, bool inherit)
227 {
228 return InternalAssembly.IsDefined(attributeType, inherit);
229 }
230
235
236 public override AssemblyName GetName(bool copiedName)
237 {
239 }
240
241 [RequiresUnreferencedCode("Types might be removed")]
242 public override Type? GetType(string name, bool throwOnError, bool ignoreCase)
243 {
245 }
246
247 public override Module? GetModule(string name)
248 {
249 return InternalAssembly.GetModule(name);
250 }
251
252 [RequiresUnreferencedCode("Assembly references might be removed")]
257
258 public override Module[] GetModules(bool getResourceModules)
259 {
261 }
262
267
272
274 {
276 }
277
278 public ModuleBuilder? GetDynamicModule(string name)
279 {
280 lock (SyncRoot)
281 {
282 return GetDynamicModuleNoLock(name);
283 }
284 }
285
287 {
288 if (name == null)
289 {
290 throw new ArgumentNullException("name");
291 }
292 if (name.Length == 0)
293 {
294 throw new ArgumentException(SR.Argument_EmptyName, "name");
295 }
296 for (int i = 0; i < _assemblyData._moduleBuilderList.Count; i++)
297 {
299 if (moduleBuilder._moduleData._moduleName.Equals(name))
300 {
301 return moduleBuilder;
302 }
303 }
304 return null;
305 }
306
308 {
309 if (con == null)
310 {
311 throw new ArgumentNullException("con");
312 }
313 if (binaryAttribute == null)
314 {
315 throw new ArgumentNullException("binaryAttribute");
316 }
317 lock (SyncRoot)
318 {
320 }
321 }
322
324 {
325 if (customBuilder == null)
326 {
327 throw new ArgumentNullException("customBuilder");
328 }
329 lock (SyncRoot)
330 {
331 customBuilder.CreateCustomAttribute(_manifestModuleBuilder, 536870913);
332 }
333 }
334
335 [RequiresUnreferencedCode("Types might be removed")]
336 public override Type[] GetExportedTypes()
337 {
339 }
340
341 [RequiresAssemblyFiles("This member throws an exception for assemblies embedded in a single-file app")]
342 public override FileStream GetFile(string name)
343 {
345 }
346
347 [RequiresAssemblyFiles("This member throws an exception for assemblies embedded in a single-file app")]
352
357
358 public override string[] GetManifestResourceNames()
359 {
361 }
362
363 public override Stream? GetManifestResourceStream(string name)
364 {
366 }
367
368 public override Stream? GetManifestResourceStream(Type type, string name)
369 {
371 }
372}
void Add(TKey key, TValue value)
readonly List< ModuleBuilder > _moduleBuilderList
override FileStream GetFile(string name)
readonly InternalAssemblyBuilder _internalAssemblyBuilder
static readonly object s_assemblyBuilderLock
override FileStream[] GetFiles(bool getResourceModules)
void SetCustomAttribute(ConstructorInfo con, byte[] binaryAttribute)
static void CreateDynamicAssembly(ObjectHandleOnStack name, StackCrawlMarkHandle stackMark, int access, ObjectHandleOnStack assemblyLoadContext, ObjectHandleOnStack retAssembly)
override AssemblyName[] GetReferencedAssemblies()
override? Stream GetManifestResourceStream(string name)
override object[] GetCustomAttributes(Type attributeType, bool inherit)
static RuntimeModule GetInMemoryAssemblyModule(RuntimeAssembly assembly)
override Module[] GetLoadedModules(bool getResourceModules)
void SetCustomAttribute(CustomAttributeBuilder customBuilder)
override Assembly GetSatelliteAssembly(CultureInfo culture)
override object[] GetCustomAttributes(bool inherit)
static void CheckContext(params Type[] types)
override Assembly GetSatelliteAssembly(CultureInfo culture, Version? version)
override bool IsDefined(Type attributeType, bool inherit)
override? Type GetType(string name, bool throwOnError, bool ignoreCase)
ModuleBuilder DefineDynamicModuleInternalNoLock(string name)
override? ManifestResourceInfo GetManifestResourceInfo(string resourceName)
override Module[] GetModules(bool getResourceModules)
AssemblyBuilder(AssemblyName name, AssemblyBuilderAccess access, ref StackCrawlMark stackMark, AssemblyLoadContext assemblyLoadContext, IEnumerable< CustomAttributeBuilder > unsafeAssemblyAttributes)
static void CheckContext(params Type[][] typess)
static AssemblyBuilder DefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access)
ModuleBuilder DefineDynamicModule(string name)
override AssemblyName GetName(bool copiedName)
InternalAssemblyBuilder InternalAssembly
ModuleBuilder GetModuleBuilder(InternalModuleBuilder module)
override IList< CustomAttributeData > GetCustomAttributesData()
static AssemblyBuilder InternalDefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access, ref StackCrawlMark stackMark, AssemblyLoadContext assemblyLoadContext, IEnumerable< CustomAttributeBuilder > unsafeAssemblyAttributes)
override? Stream GetManifestResourceStream(Type type, string name)
ModuleBuilder GetDynamicModuleNoLock(string name)
static AssemblyBuilder DefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access, IEnumerable< CustomAttributeBuilder >? assemblyAttributes)
ModuleBuilder? GetDynamicModule(string name)
override? Module GetModule(string name)
int GetConstructorToken(ConstructorInfo con)
void Init(string strModuleName)
InternalModuleBuilder InternalModule
static void DefineCustomAttribute(QCallModule module, int tkAssociate, int tkConstructor, byte[] attr, int attrLength)
static void GetModule(QCallAssembly assembly, string name, ObjectHandleOnStack retModule)
override AssemblyName GetName(bool copiedName)
override bool IsDefined(Type attributeType, bool inherit)
override Module[] GetLoadedModules(bool getResourceModules)
override Assembly GetSatelliteAssembly(CultureInfo culture)
static void GetModules(QCallAssembly assembly, bool loadIfNotFound, bool getResourceModules, ObjectHandleOnStack retModuleHandles)
override object[] GetCustomAttributes(bool inherit)
static void GetType(QCallAssembly assembly, string name, bool throwOnError, bool ignoreCase, ObjectHandleOnStack type, ObjectHandleOnStack keepAlive, ObjectHandleOnStack assemblyLoadContext)
static AssemblyName[] GetReferencedAssemblies(RuntimeAssembly assembly)
override IList< CustomAttributeData > GetCustomAttributesData()
static ? AssemblyLoadContext CurrentContextualReflectionContext
static string Arg_EnumIllegalVal
Definition SR.cs:144
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string Argument_InvalidName
Definition SR.cs:20
static string NotSupported_DynamicAssembly
Definition SR.cs:1668
static string Argument_EmptyName
Definition SR.cs:584
static string InvalidOperation_NoMultiModuleAssembly
Definition SR.cs:1472
static string Argument_TypeNotValid
Definition SR.cs:900
Definition SR.cs:7