1 <?xml version="1.0" encoding="utf-8" ?>
3 <assembly fullname="mscorlib">
5 <!-- domain.c: mono_defaults.appdomain_class -->
6 <type fullname="System.AppDomain" preserve="fields">
7 <method name="DoDomainUnload" />
8 <!-- appdomain.c: mono_domain_try_type_resolve -->
9 <method name="DoTypeResolve" />
10 <!-- appdomain.c: mono_try_assembly_resolve -->
11 <method name="DoAssemblyResolve" />
12 <!-- appdomain.c: mono_domain_fire_assembly_load -->
13 <method name="DoAssemblyLoad" />
14 <!-- appdomain.c: mono_domain_try_unload -->
15 <method name="DoDomainUnload" />
16 <!-- marshal.c: mono_remoting_marshal_init -->
17 <method name="InternalSetContext" />
18 <!-- System.Runtime.Remoting/RemotingServices.cs: GetDomainProxy(AppDomain domain) -->
19 <method name="GetMarshalledDomainObjRef" feature="remoting" />
22 <!-- appdomain.c: mono_runtime_init -->
23 <type fullname="System.AppDomainSetup" preserve="fields" />
25 <!-- exception.c: mono_get_exception_appdomain_unloaded (used in several places), threadpool.c -->
26 <type fullname="System.AppDomainUnloadedException">
27 <!-- mono_exception_from_name -->
28 <method signature="System.Void .ctor()" />
31 <!-- marshal.c: emit_marshal_custom (should not be used on devices)
32 <type fullname="System.ApplicationException" />
35 <!-- exception.c (mono_get_exception_argument) -->
36 <type fullname="System.ArgumentException">
37 <!-- mono_exception_from_name -->
38 <method signature="System.Void .ctor()" />
39 <!-- MONO_OBJECT_SETREF -->
40 <field name="param_name" />
43 <!-- exception.c (mono_get_exception_argument_null) -->
44 <type fullname="System.ArgumentNullException">
45 <!-- mono_exception_from_name_msg -->
46 <method signature="System.Void .ctor(System.String)" />
49 <!-- exception.c (mono_get_exception_argument_out_of_range) -->
50 <type fullname="System.ArgumentOutOfRangeException">
51 <!-- mono_exception_from_name -->
52 <method signature="System.Void .ctor()" />
55 <!-- exception.c (mono_get_exception_arithmetic) -->
56 <type fullname="System.ArithmeticException">
57 <!-- mono_exception_from_name -->
58 <method signature="System.Void .ctor()" />
61 <!-- domain.c: mono_defaults.array_class -->
62 <type fullname="System.Array">
63 <!-- InternalArray__%s_%s is used in aot-compiler.c -->
64 <method name="InternalArray__ICollection_get_Count" />
65 <method name="InternalArray__ICollection_get_IsReadOnly" />
66 <method name="InternalArray__IEnumerable_GetEnumerator" />
67 <method name="InternalArray__ICollection_Clear" />
68 <method name="InternalArray__ICollection_Add" />
69 <method name="InternalArray__ICollection_Remove" />
70 <method name="InternalArray__ICollection_Contains" />
71 <method name="InternalArray__ICollection_CopyTo" />
72 <method name="InternalArray__Insert" />
73 <method name="InternalArray__RemoveAt" />
74 <method name="InternalArray__IndexOf" />
75 <method name="InternalArray__get_Item" />
76 <method name="InternalArray__set_Item" />
77 <method name="InternalArray__IReadOnlyList_get_Item" />
78 <method name="InternalArray__IReadOnlyCollection_get_Count" />
81 <!-- mono/metadata/exception.c mono/metadata/marshal.c ... -->
82 <!-- exception.c (mono_get_exception_array_type_mismatch) -->
83 <type fullname="System.ArrayTypeMismatchException">
84 <!-- mono_exception_from_name -->
85 <method signature="System.Void .ctor()" />
88 <!-- domain.c: mono_defaults.attribute_class -->
89 <!-- used in reflection.c to create array of attributes (no need to preserve everything beside the type itself) -->
90 <type fullname="System.Attribute" preserve="fields" />
92 <!-- exception.c / mono-error.c -->
93 <type fullname="System.BadImageFormatException">
94 <!-- mono_get_exception_bad_image_format / mono_exception_from_name_msg -->
95 <method signature="System.Void .ctor(System.String)" />
96 <!-- mono_get_exception_bad_image_format2 / mono_exception_from_name_two_strings -->
97 <method signature="System.Void .ctor(System.String,System.String)" />
100 <!-- domain.c: mono_defaults.boolean_class -->
101 <type fullname="System.Boolean" preserve="fields" />
103 <!-- domain.c: mono_defaults.byte_class -->
104 <type fullname="System.Byte" preserve="fields" />
106 <!-- exception.c" mono_get_exception_cannot_unload_appdomain (called by appdomain.c) -->
107 <type fullname="System.CannotUnloadAppDomainException">
108 <!-- mono_exception_from_name_msg -->
109 <method signature="System.Void .ctor(System.String)" />
112 <!-- domain.c: mono_defaults.char_class -->
113 <type fullname="System.Char" preserve="fields" />
115 <!-- marshal.c: emit_marshal_vtype -->
116 <type fullname="System.DateTime" preserve="fields" />
118 <!-- reflection.c: mono_get_dbnull_object / comment: Used as the value for ParameterInfo.DefaultValue -->
119 <type fullname="System.DBNull" preserve="fields" />
120 <type fullname="System.Decimal" preserve="fields" />
121 <!-- domain.c: mono_defaults.delegate_class -->
122 <type fullname="System.Delegate" preserve="fields" />
124 <!-- domain.c: mono_defaults.stack_frame_class -->
125 <!-- used in mini-exceptions.c to create array and MonoStackFrame instance, i.e. only fields are required to be preserved -->
126 <type fullname="System.Diagnostics.StackFrame" preserve="fields" />
128 <!-- domain.c: mono_defaults.stack_trace_class -->
129 <!-- does not seems used outside the g_assert in domain.c (maybe it could be removed) -->
130 <type fullname="System.Diagnostics.StackTrace" preserve="fields" />
132 <!-- debugger-agent.c: create_event_list -->
133 <type fullname="System.Diagnostics.DebuggerNonUserCodeAttribute"/>
134 <type fullname="System.Diagnostics.DebuggerHiddenAttribute"/>
135 <type fullname="System.Diagnostics.DebuggerStepThroughAttribute"/>
137 <!-- exception.c (mono_get_exception_divide_by_zero) -->
138 <type fullname="System.DivideByZeroException">
139 <!-- mono_exception_from_name -->
140 <method signature="System.Void .ctor()" />
143 <!-- loader.c: returned (as a string) from mono_lookup_pinvoke_call and used in
144 icall.c: prelink_method / mono_exception_from_name_msg
145 marshal.c: mono_delegate_to_ftnptr and mono_marshal_get_native_wrapper
147 <type fullname="System.DllNotFoundException">
148 <!-- mono_exception_from_name_msg -->
149 <method signature="System.Void .ctor(System.String)" />
152 <!-- domain.c: mono_defaults.double_class -->
153 <type fullname="System.Double" preserve="fields" />
155 <!-- domain.c: mono_defaults.enum_class -->
156 <type fullname="System.Enum" preserve="fields" />
158 <!-- loader.c: returned (as a string) from mono_lookup_pinvoke_call and used in … -->
159 <type fullname="System.EntryPointNotFoundException">
160 <!-- mono_exception_from_name_msg -->
161 <method signature="System.Void .ctor(System.String)" />
164 <type fullname="System.Environment">
165 <!-- appdomain.c: mono_get_corlib_version -->
166 <field name="mono_corlib_version" />
167 <method name="get_StackTrace" />
170 <!-- domain.c: mono_defaults.exception_class and fields are defined in object-internals.h -->
171 <type fullname="System.Exception" preserve="fields">
172 <!-- used in mini-exceptions.c (if trace is enabled) -->
173 <method name="get_Message" />
176 <!-- exception.c (mono_get_exception_execution_engine) -->
177 <type fullname="System.ExecutionEngineException">
178 <!-- mono_exception_from_name_msg -->
179 <method signature="System.Void .ctor(System.String)" />
182 <type fullname="System.FieldAccessException">
183 <!-- exception.c: mono_get_exception_field_access / mono_exception_from_name -->
184 <method signature="System.Void .ctor()" />
185 <!-- exception.c: mono_get_exception_field_access_msg / mono_exception_from_name_msg -->
186 <!-- mini.c (mono_jit_compiler_method_inner) mono_exception_from_name_msg -->
187 <method signature="System.Void .ctor(System.String)" />
190 <type fullname="System.FormatException">
191 <!-- icall.c (base64_to_byte_array) mono_exception_from_name_msg -->
192 <method signature="System.Void .ctor(System.String)" />
195 <!-- exception.c: mono_get_exception_index_out_of_range - used by many in icall.c and in socket-io.c -->
196 <type fullname="System.IndexOutOfRangeException">
197 <!-- mono_exception_from_name_msg -->
198 <method signature="System.Void .ctor(System.String)" />
201 <!-- domain.c: mono_defaults.int16_class -->
202 <type fullname="System.Int16" preserve="fields" />
204 <!-- domain.c: mono_defaults.int32_class -->
205 <type fullname="System.Int32" preserve="fields" />
207 <!-- domain.c: mono_defaults.int64_class -->
208 <type fullname="System.Int64" preserve="fields" />
210 <!-- domain.c: mono_defaults.int_class -->
211 <type fullname="System.IntPtr" preserve="fields" />
213 <!-- exception.c (mono_get_exception_invalid_cast) -->
214 <type fullname="System.InvalidCastException">
215 <!-- mono_exception_from_name -->
216 <method signature="System.Void .ctor()" />
219 <!-- marshal.c: emit several times using mono_mb_emit_exception_full -->
220 <!-- exception.c (mono_get_exception_invalid_operation) -->
221 <type fullname="System.InvalidOperationException">
222 <!-- mono_exception_from_name_msg -->
223 <method signature="System.Void .ctor(System.String)" />
226 <!-- mini.c: mono_jit_compile_method_inner (looks like one case is JITted, AOT too) -->
227 <type fullname="System.InvalidProgramException">
228 <!-- mono_exception_from_name_msg -->
229 <method signature="System.Void .ctor(System.String)" />
232 <type fullname="System.MarshalByRefObject" preserve="fields" feature="remoting" />
234 <type fullname="System.MethodAccessException">
235 <!-- exception.c: mono_get_exception_method_access / mono_exception_from_name -->
236 <method signature="System.Void .ctor()" />
237 <!-- exception.c: mono_get_exception_method_access_msg / mono_exception_from_name_msg -->
238 <!-- mini.c (mono_jit_compiler_method_inner) mono_exception_from_name_msg -->
239 <method signature="System.Void .ctor(System.String)" />
242 <!-- mini.c (mono_jit_compiler_method_inner) / mono-error.c -->
243 <type fullname="System.MissingFieldException">
244 <!-- mono_exception_from_name_msg -->
245 <method signature="System.Void .ctor(System.String)" />
248 <type fullname="System.MissingMethodException">
249 <!-- mini.c (mono_jit_compiler_method_inner) mono_exception_from_name_msg -->
250 <method signature="System.Void .ctor(System.String)" />
251 <!-- exception.c (mono_get_exception_type_load) mono_exception_from_name_two_strings -->
252 <method signature="System.Void .ctor(System.String,System.String)" />
255 <!-- threadpool.c: mono_thread_pool_init (assert) -->
256 <type fullname="System.MonoAsyncCall" preserve="fields" />
257 <!-- mono-mlist.c (managed list): used in threadpool.c and gc.c -->
258 <type fullname="System.MonoListItem" preserve="fields" />
260 <!-- domain.c: mono_defaults.type_class -->
261 <type fullname="System.MonoType" preserve="fields" />
263 <!-- domain.c: mono_defaults.multicastdelegate_class -->
264 <type fullname="System.MulticastDelegate" preserve="fields" />
266 <!-- exception.c (mono_get_exception_not_implemented) -->
267 <type fullname="System.NotImplementedException">
268 <!-- mono_get_exception_not_implemented -->
269 <method signature="System.Void .ctor(System.String)" />
272 <!-- exception.c (mono_get_exception_not_supported) -->
273 <type fullname="System.NotSupportedException">
274 <!-- mono_get_exception_not_implemented -->
275 <method signature="System.Void .ctor(System.String)" />
278 <!-- appdomain.c (create_domain_objects) domain->null_reference_ex -->
279 <!-- exception.c (mono_get_exception_null_reference) -->
280 <type fullname="System.NullReferenceException">
281 <!-- exception.c: mono_exception_from_name -->
282 <method signature="System.Void .ctor()" />
283 <!-- appdomain.c: mono_exception_from_name_two_strings (only one string in the signature since NULL is used as the 2nd parameter) -->
284 <method signature="System.Void .ctor(System.String)" />
287 <!-- domain.c: mono_defaults.nullable_class -->
288 <type fullname="System.Nullable`1" preserve="fields">
289 <!-- method-to-ir.c (handle_box) -->
290 <method name="Box" />
291 <!-- method-to-ir.c (handle_unbox_nullable) -->
292 <method name="Unbox" />
295 <!-- domain.c: mono_defaults.object_class -->
296 <type fullname="System.Object">
297 <!-- class.c: initialize_object_slots -->
298 <method name="Finalize" />
299 <method name="GetHashCode" />
300 <!-- needed for debugging -->
301 <method name="obj_address" />
302 <!-- TransparentProxy.cs, RemotingServices.cs -->
303 <method name="FieldGetter" feature="remoting" />
304 <method name="FieldSetter" feature="remoting" />
307 <!-- appdomain.c (create_domain_objects) domain->out_of_memory_ex -->
308 <type fullname="System.OutOfMemoryException">
309 <!-- mono_exception_from_name_two_strings (only one string in the signature since NULL is used as the 2nd parameter) -->
310 <method signature="System.Void .ctor(System.String)" />
311 <!-- exception.c: mono_get_exception_out_of_memory / mono_exception_from_name -->
312 <method signature="System.Void .ctor()" />
315 <!-- exception.c (mono_get_exception_overflow) -->
316 <type fullname="System.OverflowException">
317 <!-- mono_exception_from_name -->
318 <method signature="System.Void .ctor()" />
321 <!-- reflection.c: mono_get_reflection_missing_object -->
322 <type fullname="System.Reflection.Missing" preserve="field" />
324 <!-- domain.c: mono_defaults.argumenthandle_class -->
325 <type fullname="System.RuntimeArgumentHandle" preserve="fields" />
327 <!-- domain.c: mono_defaults.typefield_class -->
328 <type fullname="System.RuntimeFieldHandle" preserve="fields" />
330 <!-- domain.c: mono_defaults.methodhandle_class -->
331 <type fullname="System.RuntimeMethodHandle" preserve="fields" />
333 <!-- domain.c: mono_defaults.typehandle_class -->
334 <type fullname="System.RuntimeTypeHandle" preserve="fields" />
335 <!-- domain.c: mono_defaults.sbyte_class -->
336 <type fullname="System.SByte" preserve="fields" />
338 <!-- domain.c: mono_defaults.single_class -->
339 <type fullname="System.Single" preserve="fields" />
341 <!-- appdomain.c (create_domain_objects) domain->stack_overflow_ex -->
342 <type fullname="System.StackOverflowException">
343 <!-- mono_exception_from_name_two_strings (only one string in the signature since NULL is used as the 2nd parameter) -->
344 <method signature="System.Void .ctor(System.String)" />
345 <!-- exception.c: mono_get_exception_stack_overflow / mono_exception_from_name -->
346 <method signature="System.Void .ctor()" />
349 <!-- object.c: mono_runtime_exec_main -->
350 <type fullname="System.STAThreadAttribute" />
352 <!-- domain.c: mono_defaults.string_class -->
353 <type fullname="System.String" preserve="fields">
354 <!-- marshal.c mono_marshal_get_native_wrapper -->
355 <method name="CreateString" />
356 <!-- method-to-ir.c: mini_redirect_call -->
357 <method name="InternalAllocateStr" />
358 <!-- method-to-it.c: mini_emit_initobj -->
359 <method name="memset" />
360 <!-- mini-generic-sharing.c: class_type_info
363 <method name="bzero" />
364 <method name="bzero_aligned_1" />
365 <method name="bzero_aligned_2" />
366 <method name="bzero_aligned_4" />
367 <method name="bzero_aligned_8" />
368 <method name="memcpy" />
369 <method name="memcpy_aligned_1" />
370 <method name="memcpy_aligned_2" />
371 <method name="memcpy_aligned_4" />
372 <method name="memcpy_aligned_8" />
375 <!-- socket-io.c: created/raised several time -->
376 <type fullname="System.SystemException">
377 <!-- mono_exception_from_nameg -->
378 <method signature="System.Void .ctor()" />
381 <!-- domain.c: mono_defaults.systemtype_class -->
382 <type fullname="System.Type" preserve="fields">
383 <!-- marshal.c (mono_marshal_get_synchronized_wrapper) -->
384 <method name="GetTypeFromHandle" />
387 <!-- exception.c (mono_get_exception_type_initialization) -->
388 <type fullname="System.TypeInitializationException">
389 <!-- iterates to find the (only) 2 paramaters .ctor -->
390 <method signature="System.Void .ctor(System.String,System.Exception)" />
393 <!-- exception.c (mono_get_exception_type_load) -->
394 <type fullname="System.TypeLoadException">
395 <!-- mini.c (mono_jit_compiler_method_inner) mono_exception_from_name_msg -->
396 <method signature="System.Void .ctor(System.String)" />
397 <!-- mono_exception_from_name_two_strings -->
398 <method signature="System.Void .ctor(System.String,System.String)" />
401 <!-- domain.c: mono_defaults.typed_reference_class -->
402 <type fullname="System.TypedReference" preserve="fields" />
404 <!-- domain.c: mono_defaults.uint16_class -->
405 <type fullname="System.UInt16" preserve="fields" />
407 <!-- domain.c: mono_defaults.uint32_class -->
408 <type fullname="System.UInt32" preserve="fields" />
410 <!-- domain.c: mono_defaults.uint64_class -->
411 <type fullname="System.UInt64" preserve="fields" />
413 <!-- domain.c: mono_defaults.uint_class -->
414 <type fullname="System.UIntPtr" preserve="fields" />
416 <!-- object.c: create_unhandled_exception_eventargs (assert) -->
417 <type fullname="System.UnhandledExceptionEventArgs">
418 <method signature="System.Void .ctor(System.Object,System.Boolean)" />
421 <!-- class.c: make_generic_param_class -->
422 <type fullname="System.ValueType" preserve="fields" />
425 <type fullname="System.Variant" preserve="fields" feature="com">
426 <method name="Clear" />
429 <!-- icall.c: create_version is used by
430 * ves_icall_System_Reflection_Assembly_GetReferencedAssemblies
431 * fill_reflection_assembly_name
432 * ves_icall_System_Reflection_Assembly_FillName
433 * ves_icall_System_Reflection_Assembly_InternalGetAssemblyName
434 * ves_icall_System_Reflection_AssemblyName_ParseName
436 <type fullname="System.Version">
437 <method signature="System.Void .ctor(System.Int32,System.Int32,System.Int32,System.Int32)" />
440 <!-- domain.c: mono_defaults.void_class -->
441 <type fullname="System.Void" preserve="fields" />
444 <type fullname="System.__ComObject" feature="com" />
446 <!-- class.c: generic_array_methods -->
447 <type fullname="System.Collections.Generic.ICollection`1" />
448 <type fullname="System.Collections.Generic.IEnumerable`1" />
449 <type fullname="System.Collections.Generic.IReadOnlyList`1" />
450 <type fullname="System.Collections.Generic.IReadOnlyCollection`1" />
452 <!-- domain.c: mono_defaults.generic_ilist_class -->
453 <type fullname="System.Collections.Generic.IList`1" />
455 <!-- aot-compiler.c: add_generic_instances and add_generic_class_with_depth -->
456 <type fullname="System.Collections.Generic.GenericEqualityComparer`1">
457 <method name=".ctor" />
460 <!-- aot-compiler.c: add_generic_instances and add_generic_class_with_depth -->
461 <type fullname="System.Collections.Generic.GenericComparer`1">
462 <method name=".ctor" />
465 <!-- icalls - but (at least parts of them) are used thru interfaces at runtime and cannot be linked out -->
466 <type fullname="System.Globalization.DateTimeFormatInfo" preserve="fields" />
467 <type fullname="System.Globalization.CompareInfo" preserve="fields" />
468 <type fullname="System.Globalization.CultureInfo" preserve="fields">
469 <!-- icall.c: fill_reflection_assembly_name (assert) and ves_icall_System_Reflection_Assembly_GetReferencedAssemblies (assert) -->
470 <method name="CreateCulture" />
472 <type fullname="System.Globalization.NumberFormatInfo" preserve="fields" />
473 <type fullname="System.Globalization.RegionInfo" preserve="fields" />
474 <type fullname="System.Globalization.SortKey" preserve="fields" />
476 <type fullname="System.IO.FileNotFoundException">
477 <!-- mini.c (mono_jit_compiler_method_inner) mono_exception_from_name_msg -->
478 <method signature="System.Void .ctor(System.String)" />
479 <!-- exception.c (mono_get_exception_file_not_found and mono_get_exception_file_not_found) -->
480 <!-- mono_exception_from_name_two_strings -->
481 <method signature="System.Void .ctor(System.String,System.String)" />
484 <!-- exception.c (mono_get_exception_io) -->
485 <type fullname="System.IO.IOException">
486 <!-- mono_exception_from_name_msg -->
487 <method signature="System.Void .ctor(System.String)" />
490 <!-- fileio.h: shared structure between the managed and unmanaged worlds -->
491 <type fullname="System.IO.MonoIOStat" preserve="fields" />
493 <!-- domain.c: mono_defaults.math_class
494 method-to-ir.c: empty branch (wrt Min/Max optimization)
495 mini-[x86|amd64].c needs the type but then only check for names
496 note: there's no fields (static type) but that will mark the type itself -->
497 <type fullname="System.Math" preserve="fields" />
499 <type fullname="System.Reflection.MonoAssembly">
500 <method name=".ctor" />
502 <type fullname="System.Reflection.MonoModule">
503 <method name=".ctor" />
506 <!-- appdomain.c: ves_icall_System_AppDomain_GetAssemblies -->
507 <type fullname="System.Reflection.Assembly" preserve="fields"/>
509 <type fullname="System.Reflection.AssemblyName" preserve="fields" />
510 <type fullname="System.Reflection.ConstructorInfo" preserve="fields" />
512 <!-- domain.c: mono_defaults.customattribute_data_class -->
513 <type fullname="System.Reflection.CustomAttributeData" preserve="fields">
514 <!-- custom-attrs.c: create_custom_attr_data - create an instance with the ctor using 4 arguments -->
515 <method signature="System.Void .ctor(System.Reflection.ConstructorInfo,System.Reflection.Assembly,System.IntPtr,System.UInt32)" />
518 <!-- reflection.c: create_cattr_named_arg - create an instance with the ctor using 2 parameters -->
519 <type fullname="System.Reflection.CustomAttributeNamedArgument">
520 <method signature="System.Void .ctor(System.Reflection.MemberInfo,System.Object)" />
523 <!-- reflection.c: create_cattr_typed_arg - create an instance with the ctor using 2 parameters -->
524 <type fullname="System.Reflection.CustomAttributeTypedArgument">
525 <method signature="System.Void .ctor(System.Type,System.Object)" />
527 <type fullname="System.Reflection.EventInfo" preserve="fields">
528 <method name="AddEventFrame" />
529 <method name="StaticAddEventAdapterFrame" />
532 <!-- reflection.c: mono_method_body_get_object -->
533 <type fullname="System.Reflection.ExceptionHandlingClause" preserve="fields" />
535 <!-- domain.c: mono_defaults.field_info_class -->
536 <type fullname="System.Reflection.FieldInfo" preserve="fields" />
538 <!-- reflection.c: mono_method_body_get_object -->
539 <type fullname="System.Reflection.LocalVariableInfo" preserve="fields" />
541 <!-- reflection.c: mono_method_body_get_object -->
542 <type fullname="System.Reflection.MethodBody" preserve="fields" />
543 <!-- domain.c: mono_defaults.method_info_class -->
544 <type fullname="System.Reflection.MethodInfo" preserve="fields" />
546 <type fullname="System.Reflection.Module" preserve="fields" />
547 <type fullname="System.Reflection.MonoAssembly" preserve="fields" />
548 <type fullname="System.Reflection.MonoModule" preserve="fields" />
549 <type fullname="System.Reflection.MonoCMethod" preserve="fields" />
550 <type fullname="System.Reflection.MonoEvent" preserve="fields" />
551 <type fullname="System.Reflection.MonoEventInfo" preserve="fields" />
552 <type fullname="System.Reflection.MonoField" preserve="fields" />
554 <!-- reflection.c: mono_method_get_object uses both MonoGeneric[C]Method / will crash for ves_icall_Type_GetConstructors_internal -->
555 <type fullname="System.Reflection.MonoGenericMethod" preserve="fields" />
556 <type fullname="System.Reflection.MonoGenericCMethod" preserve="fields" />
558 <type fullname="System.Reflection.MonoMethod" preserve="fields" />
559 <type fullname="System.Reflection.MonoMethodInfo" preserve="fields" />
560 <type fullname="System.Reflection.MonoPropertyInfo" preserve="fields" />
562 <type fullname="System.Reflection.MonoProperty" preserve="fields">
563 <method name="GetterAdapterFrame" />
564 <method name="StaticGetterAdapterFrame" />
566 <type fullname="System.Reflection.ParameterInfo" preserve="fields" />
567 <!-- reflection.c: ves_icall_get_parameter_info -->
568 <type fullname="System.Reflection.MonoParameterInfo" preserve="fields" />
570 <!-- object.c: mono_field_get_value_object and mono_runtime_invoke_array -->
571 <type fullname="System.Reflection.Pointer" >
572 <method name="Box" />
575 <type fullname="System.Reflection.PropertyInfo" preserve="fields" />
577 <!-- exception.c (mono_get_exception_reflection_type_load) -->
578 <type fullname="System.Reflection.ReflectionTypeLoadException">
579 <method signature="System.Void .ctor(System.Type[],System.Exception[])" />
582 <!-- icall.c: ves_icall_InternalInvoke -->
583 <type fullname="System.Reflection.TargetException">
584 <!-- mono_exception_from_name_msg -->
585 <method signature="System.Void .ctor(System.String)" />
588 <!-- icall.c: ves_icall_InternalInvoke -->
589 <type fullname="System.Reflection.TargetParameterCountException">
590 <!-- mono_exception_from_name_msg -->
591 <method signature="System.Void .ctor(System.String)" />
594 <type fullname="System.Reflection.Emit.AssemblyBuilder" preserve="fields" feature="sre">
595 <method name="AddPermissionRequests" />
596 <method name="AddModule" />
597 <method name="DefineIconResource" />
598 <method name="AddTypeForwarder" />
599 <method name="EmbedResourceFile" />
601 <type fullname="System.Reflection.Emit.ConstructorBuilder" preserve="fields" feature="sre">
602 <method name="RuntimeResolve" />
604 <type fullname="System.Reflection.Emit.CustomAttributeBuilder" preserve="fields" feature="sre" />
605 <type fullname="System.Reflection.Emit.DynamicMethod" preserve="fields" />
606 <type fullname="System.Reflection.Emit.EnumBuilder" preserve="fields" />
607 <type fullname="System.Reflection.Emit.EventBuilder" preserve="fields" />
608 <type fullname="System.Reflection.Emit.FieldBuilder" preserve="fields" >
609 <method name="RuntimeResolve" />
611 <type fullname="System.Reflection.Emit.GenericTypeParameterBuilder" preserve="fields" feature="sre" >
612 <method name="RuntimeResolve" />
614 <type fullname="System.Reflection.Emit.ILExceptionBlock" preserve="fields" feature="sre" />
615 <type fullname="System.Reflection.Emit.ILExceptionInfo" preserve="fields" />
616 <type fullname="System.Reflection.Emit.ILGenerator" preserve="fields">
617 <method name="Mono_GetCurrentOffset" />
619 <type fullname="System.Reflection.Emit.LocalBuilder" preserve="fields" feature="sre" >
620 <method name="Mono_GetLocalIndex" />
622 <type fullname="System.Reflection.Emit.MethodBuilder" preserve="fields" feature="sre" >
623 <method name="RuntimeResolve" />
625 <type fullname="System.Reflection.Emit.ModuleBuilder" preserve="fields" feature="sre">
626 <method name="Mono_GetGuid" />
627 <method name="RuntimeResolve" />
629 <type fullname="System.Reflection.Emit.MonoResource" preserve="fields" feature="sre" />
630 <type fullname="System.Reflection.Emit.MonoWin32Resource" preserve="fields" feature="sre" />
631 <type fullname="System.Reflection.Emit.ParameterBuilder" preserve="fields" feature="sre" />
632 <type fullname="System.Reflection.Emit.PropertyBuilder" preserve="fields" feature="sre" />
633 <type fullname="System.Reflection.Emit.SignatureHelper" preserve="fields" feature="sre" />
634 <type fullname="System.Reflection.Emit.TypeBuilder" preserve="fields" feature="sre">
635 <method name="SetCharSet" />
636 <!-- reflection.c mono_reflection_call_is_assignable_to () -->
637 <method name="IsAssignableTo" />
639 <type fullname="System.Reflection.Emit.UnmanagedMarshal" preserve="fields" feature="sre" >
640 <method name="DefineCustom" />
641 <method name="DefineLPArrayInternal" />
643 <type fullname="System.Reflection.Emit.TypeBuilderInstantiation" preserve="fields" feature="sre" >
644 <method name="RuntimeResolve" />
646 <type fullname="System.Reflection.Emit.ArrayType" preserve="fields" feature="sre" >
647 <method name="RuntimeResolve" />
649 <type fullname="System.Reflection.Emit.ByRefType" preserve="fields" feature="sre" >
650 <method name="RuntimeResolve" />
652 <type fullname="System.Reflection.Emit.PointerType" preserve="fields" feature="sre" >
653 <method name="RuntimeResolve" />
655 <type fullname="System.Reflection.Emit.FieldOnTypeBuilderInst" preserve="fields" feature="sre" >
656 <method name="RuntimeResolve" />
658 <type fullname="System.Reflection.Emit.MethodOnTypeBuilderInst" preserve="fields" feature="sre" >
659 <method name="RuntimeResolve" />
661 <type fullname="System.Reflection.Emit.ConstructorOnTypeBuilderInst" preserve="fields" feature="sre" >
662 <method name="RuntimeResolve" />
665 <!-- domain.c: mono_defaults.internals_visible_class -->
666 <type fullname="System.Runtime.CompilerServices.InternalsVisibleToAttribute" />
668 <!-- exception.c: mono_get_exception_runtime_wrapped () -->
669 <type fullname="System.Runtime.CompilerServices.RuntimeWrappedException">
670 <method signature="System.Void .ctor(System.Object)" />
673 <!-- icall.c | object-internal.h: MonoReflectionDllImportAttribute structure -->
674 <type fullname="System.Runtime.InteropServices.DllImportAttribute" preserve="fields"/>
675 <!-- marshal.c: emit_marshal_custom (DISABLE_JIT is not defined for the AOT compiler, only the ARM runtimes) -->
676 <type fullname="System.Runtime.InteropServices.ICustomMarshaler" />
678 <!-- domain.c: mono_defaults.marshal_class -->
679 <type fullname="System.Runtime.InteropServices.Marshal" preserve="fields" >
680 <!-- marshal.c (mono_marshal_get_struct_to_ptr) -->
681 <method name="StructureToPtr" />
684 <!-- domain.c: mono_defaults.safehandle_class -->
685 <type fullname="System.Runtime.InteropServices.SafeHandle" preserve="fields">
686 <!-- marshal.c (init_safe_handle) -->
687 <method name="DangerousAddRef" />
688 <method name="DangerousRelease" />
691 <!-- object-internals.h: defines MonoReflectionUnmanagedFunctionPointerAttribute, marshal.c: use it -->
692 <type fullname="System.Runtime.InteropServices.UnmanagedFunctionPointerAttribute" preserve="fields"/>
694 <!-- marshal.c: mono_mb_emit_exception_marshal_directive -->
695 <type fullname="System.Runtime.InteropServices.MarshalDirectiveException">
696 <method signature="System.Void .ctor(System.String)" />
699 <!-- appdomain.c: mono_context_init -->
700 <!-- marshal.c: mono_remoting_marshal_init / removed with DISABLE_REMOTING -->
701 <type fullname="System.Runtime.Remoting.Contexts.Context" preserve="fields" feature="remoting" >
702 <method name="get_NeedsContextSink" />
705 <!-- domain.c: mono_defaults.iremotingtypeinfo_class / removed with DISABLE_REMOTING -->
706 <type fullname="System.Runtime.Remoting.IRemotingTypeInfo" feature="remoting">
707 <method name="CanCastTo" />
710 <!-- domain.c: mono_defaults.asyncresult_class (Stubify can't be applied on this type) -->
711 <!-- object.c MONO_OBJECT_SETREF in mono_async_result_new -->
712 <!-- threadpool.c: MONO_OBJECT_SETREF in create_simple_asyncresult -->
713 <type fullname="System.Runtime.Remoting.Messaging.AsyncResult" preserve="fields" />
715 <!-- marshal.c: mono_remoting_marshal_init / removed with DISABLE_REMOTING -->
716 <type fullname="System.Runtime.Remoting.Messaging.CallContext" feature="remoting" >
717 <method name="SetCurrentCallContext" />
719 <type fullname="System.Runtime.Remoting.Messaging.MonoMethodMessage" preserve="fields" feature="remoting" >
720 <method name="InitMessage" />
722 <type fullname="System.Runtime.Remoting.Proxies.RealProxy" preserve="fields" feature="remoting" >
723 <method name="PrivateInvoke" />
724 <method name="GetAppDomainTarget" />
726 <type fullname="System.Runtime.Remoting.Proxies.TransparentProxy" preserve="fields" feature="remoting" >
727 <method name="LoadRemoteFieldNew" />
728 <method name="StoreRemoteField" />
730 <type fullname="System.Runtime.Remoting.RemotingServices" feature="remoting" >
731 <method name="SerializeCallData" />
732 <method name="DeserializeCallData" />
733 <method name="SerializeExceptionData" />
736 <!-- domain.c: mono_defaults.mono_method_message_class -->
737 <type fullname="System.Runtime.Remoting.Messaging.MonoMethodMessage" preserve="fields">
738 <!-- object.c: mono_message_init -->
739 <method name="InitMessage" />
742 <!-- domain.c: mono_defaults.real_proxy_class / removed with DISABLE_REMOTING -->
743 <type fullname="System.Runtime.Remoting.Proxies.RealProxy" feature="remoting" />
745 <!-- domain.c: mono_defaults.transparent_proxy_class / removed with DISABLE_REMOTING -->
746 <type fullname="System.Runtime.Remoting.Proxies.TransparentProxy" feature="remoting" />
748 <!-- exception.c (mono_get_exception_serialization) -->
749 <type fullname="System.Runtime.Serialization.SerializationException">
750 <!-- mono_exception_from_name_msg -->
751 <method signature="System.Void .ctor(System.String)" />
754 <!-- domain.c: mono_defaults.runtimesecurityframe_class -->
755 <type fullname="System.Security.RuntimeSecurityFrame" preserve="fields" />
757 <!-- domain.c: mono_defaults.executioncontext_class -->
758 <type fullname="System.Threading.ExecutionContext">
759 <!-- security-manager.c: mono_get_context_capture_method (can likely be removed) -->
760 <method name="Capture" />
763 <!-- aot-runtime.c: mono_aot_get_method -->
764 <type fullname="System.Threading.Interlocked">
765 <method name="CompareExchange" />
766 <method name="Exchange" />
769 <!-- domain.c: mono_defaults.monitor_class -->
770 <!-- monitor.c / method-to-ir.c: Enter and Exit are only string comparison (safe to link) -->
771 <type fullname="System.Threading.Monitor">
772 <!-- marshal.c: mono_marshal_get_synchronized_wrapper-->
773 <method name="Enter" />
774 <method name="Exit" />
777 <!-- domain.c: mono_defaults.manualresetevent_class -->
778 <type fullname="System.Threading.ManualResetEvent" >
779 <!-- runtime access fields and setter from inherited WaitHandle -->
780 <method signature="System.Void .ctor(System.Boolean)" />
783 <!-- exception.c (mono_get_exception_synchronization_lock) -->
784 <type fullname="System.Threading.SynchronizationLockException">
785 <!-- mono_exception_from_name_msg -->
786 <method signature="System.Void .ctor(System.String)" />
789 <!-- domain.c: mono_defaults.thread_class -->
790 <type fullname="System.Threading.Thread" preserve="fields">
791 <method name="get_CurrentContext" />
794 <!-- domain.c: mono_defaults.internal_thread_class -->
795 <type fullname="System.Threading.InternalThread" preserve="fields" />
797 <!-- domain.c: mono_defaults.threadabortexception_class -->
798 <!-- exception.c (mono_get_exception_thread_abort) -->
799 <type fullname="System.Threading.ThreadAbortException">
800 <!-- mono_exception_from_name -->
801 <method signature="System.Void .ctor()" />
804 <!-- exception.c (ThreadInterruptedException) -->
805 <type fullname="System.Threading.ThreadInterruptedException">
806 <!-- mono_exception_from_name -->
807 <method signature="System.Void .ctor()" />
810 <!-- exception.c (mono_get_exception_thread_abort) -->
811 <type fullname="System.Threading.ThreadStateException">
812 <!-- mono_exception_from_name_msg -->
813 <method signature="System.Void .ctor(System.String)" />
816 <!-- object-internals.h: defines MonoWaitHandle, threadpool.c: gets the handle from the structure -->
817 <type fullname="System.Threading.WaitHandle" preserve="fields">
818 <!-- object.c: mono_wait_handle_new -->
819 <method name="set_Handle" />
820 <!-- object.c: mono_wait_handle_get_handle -->
821 <field name="safe_wait_handle" />
824 <!-- threadpool-ms.c (worker_thread) -->
825 <type fullname="System.Threading._ThreadPoolWaitCallback">
826 <method name="PerformWaitCallback"/>
829 <!-- domain.c: mono_defaults.stringbuilder_class -->
830 <type fullname="System.Text.StringBuilder" preserve="fields" />
832 <!-- cominterop.c -->
833 <type fullname="Mono.Interop.ComInteropProxy" feature="com" />
834 <type fullname="Mono.Interop.IDispatch" feature="com" />
835 <type fullname="Mono.Interop.IUnknown" feature="com"/>
838 Many applications rely on Mono.Runtime to exist in order to detect
839 whether they are running on Mono or .NET. Thus we always preserve it
840 to allow such detection logic to work, even if the class is not used
843 <type fullname="Mono.Runtime" />
845 <!-- marshal.c (mono_marshal_get_native_wrapper) -->
846 <type fullname="Mono.RuntimeStructs/HandleStackMark" />
847 <!-- marshal.c (mono_marshal_get_native_wrapper) -->
848 <type fullname="Mono.RuntimeStructs/MonoError" />