Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
RuntimeMethodHandle.cs
Go to the documentation of this file.
8
9namespace System;
10
13{
14 private readonly IRuntimeMethodInfo m_value;
15
17 {
18 get
19 {
20 if (m_value == null)
21 {
22 return IntPtr.Zero;
23 }
24 return m_value.Value.Value;
25 }
26 }
27
29 {
30 if (method == null)
31 {
33 }
34 return method;
35 }
36
41
43 {
44 return m_value;
45 }
46
48 {
49 return rmh.Value;
50 }
51
56
57 public override int GetHashCode()
58 {
60 }
61
62 public override bool Equals(object? obj)
63 {
65 {
66 return false;
67 }
69 }
70
71 public static bool operator ==(RuntimeMethodHandle left, RuntimeMethodHandle right)
72 {
73 return left.Equals(right);
74 }
75
76 public static bool operator !=(RuntimeMethodHandle left, RuntimeMethodHandle right)
77 {
78 return !left.Equals(right);
79 }
80
82 {
83 return handle.Value == Value;
84 }
85
86 internal bool IsNullHandle()
87 {
88 return m_value == null;
89 }
90
91 [DllImport("QCall", CharSet = CharSet.Unicode)]
93
100
101 [DllImport("QCall", CharSet = CharSet.Unicode)]
103
104 [DllImport("QCall", CharSet = CharSet.Unicode)]
106
107 [MethodImpl(MethodImplOptions.InternalCall)]
109
114
115 [MethodImpl(MethodImplOptions.InternalCall)]
117
119 {
120 MethodAttributes attributes = GetAttributes(method.Value);
122 return attributes;
123 }
124
125 [MethodImpl(MethodImplOptions.InternalCall)]
127
128 [DllImport("QCall", CharSet = CharSet.Unicode)]
130
139
140 [MethodImpl(MethodImplOptions.InternalCall)]
142
149
150 [MethodImpl(MethodImplOptions.InternalCall)]
151 internal static extern int GetSlot(RuntimeMethodHandleInternal method);
152
153 internal static int GetSlot(IRuntimeMethodInfo method)
154 {
155 int slot = GetSlot(method.Value);
157 return slot;
158 }
159
160 [MethodImpl(MethodImplOptions.InternalCall)]
161 internal static extern int GetMethodDef(IRuntimeMethodInfo method);
162
163 [MethodImpl(MethodImplOptions.InternalCall)]
164 internal static extern string GetName(RuntimeMethodHandleInternal method);
165
166 internal static string GetName(IRuntimeMethodInfo method)
167 {
168 string name = GetName(method.Value);
170 return name;
171 }
172
173 [MethodImpl(MethodImplOptions.InternalCall)]
174 private unsafe static extern void* _GetUtf8Name(RuntimeMethodHandleInternal method);
175
177 {
178 return new MdUtf8String(_GetUtf8Name(method));
179 }
180
181 [MethodImpl(MethodImplOptions.InternalCall)]
182 internal static extern bool MatchesNameHash(RuntimeMethodHandleInternal method, uint hash);
183
184 [MethodImpl(MethodImplOptions.InternalCall)]
186 [DebuggerHidden]
187 internal static extern object InvokeMethod(object target, in Span<object> arguments, Signature sig, bool constructor, bool wrapExceptions);
188
189 [DllImport("QCall", CharSet = CharSet.Unicode)]
191
199
206
214
215 [MethodImpl(MethodImplOptions.InternalCall)]
217
219 {
220 bool result = HasMethodInstantiation(method.Value);
222 return result;
223 }
224
225 [MethodImpl(MethodImplOptions.InternalCall)]
227
228 [MethodImpl(MethodImplOptions.InternalCall)]
230
231 [MethodImpl(MethodImplOptions.InternalCall)]
233
235 {
236 bool result = IsGenericMethodDefinition(method.Value);
238 return result;
239 }
240
241 [MethodImpl(MethodImplOptions.InternalCall)]
243
244 [DllImport("QCall", CharSet = CharSet.Unicode)]
246
256
257 [MethodImpl(MethodImplOptions.InternalCall)]
259
261 {
262 return GetGenericParameterCount(method.Value);
263 }
264
265 [DllImport("QCall", CharSet = CharSet.Unicode)]
267
275
276 [MethodImpl(MethodImplOptions.InternalCall)]
278
279 [DllImport("QCall", CharSet = CharSet.Unicode)]
280 internal static extern void Destroy(RuntimeMethodHandleInternal method);
281
282 [MethodImpl(MethodImplOptions.InternalCall)]
284
285 [MethodImpl(MethodImplOptions.InternalCall)]
287
288 [MethodImpl(MethodImplOptions.InternalCall)]
290
291 [MethodImpl(MethodImplOptions.InternalCall)]
293}
static void KeepAlive(object? obj)
Definition GC.cs:180
Definition GC.cs:8
static string Arg_InvalidHandle
Definition SR.cs:14
Definition SR.cs:7
static int GetHashCodeOfPtr(IntPtr ptr)
RuntimeMethodHandleInternal Value
static readonly IntPtr Zero
Definition IntPtr.cs:18
bool Equals(RuntimeMethodHandle handle)
static int GetSlot(IRuntimeMethodInfo method)
static int GetMethodDef(IRuntimeMethodInfo method)
static RuntimeType[] GetMethodInstantiationInternal(IRuntimeMethodInfo method)
static string ConstructInstantiation(IRuntimeMethodInfo method, TypeNameFormatFlags format)
static bool IsConstructor(RuntimeMethodHandleInternal method)
readonly IRuntimeMethodInfo m_value
static Resolver GetResolver(RuntimeMethodHandleInternal method)
static int GetGenericParameterCount(RuntimeMethodHandleInternal method)
static RuntimeType GetDeclaringType(IRuntimeMethodInfo method)
static Interop.BOOL IsCAVisibleFromDecoratedType(QCallTypeHandle attrTypeHandle, RuntimeMethodHandleInternal attrCtor, QCallTypeHandle sourceTypeHandle, QCallModule sourceModule)
static Type[] GetMethodInstantiationPublic(IRuntimeMethodInfo method)
override bool Equals(object? obj)
static bool HasMethodInstantiation(IRuntimeMethodInfo method)
static IRuntimeMethodInfo _GetCurrentMethod(ref StackCrawlMark stackMark)
static RuntimeMethodHandleInternal GetMethodFromCanonical(RuntimeMethodHandleInternal method, RuntimeType declaringType)
static bool IsTypicalMethodDefinition(IRuntimeMethodInfo method)
RuntimeMethodHandle(IRuntimeMethodInfo method)
static IRuntimeMethodInfo GetCurrentMethod(ref StackCrawlMark stackMark)
static bool operator==(RuntimeMethodHandle left, RuntimeMethodHandle right)
static bool IsGenericMethodDefinition(IRuntimeMethodInfo method)
static bool HasMethodInstantiation(RuntimeMethodHandleInternal method)
static Interop.BOOL GetIsCollectible(RuntimeMethodHandleInternal handle)
void GetObjectData(SerializationInfo info, StreamingContext context)
static IRuntimeMethodInfo GetTypicalMethodDefinition(IRuntimeMethodInfo method)
static MethodAttributes GetAttributes(IRuntimeMethodInfo method)
static IntPtr GetFunctionPointer(RuntimeMethodHandleInternal handle)
static IntPtr GetValueInternal(RuntimeMethodHandle rmh)
static void StripMethodInstantiation(RuntimeMethodHandleInternal method, ObjectHandleOnStack outMethod)
static int GetGenericParameterCount(IRuntimeMethodInfo method)
static LoaderAllocator GetLoaderAllocator(RuntimeMethodHandleInternal method)
static string GetName(IRuntimeMethodInfo method)
static string GetName(RuntimeMethodHandleInternal method)
static MethodImplAttributes GetImplAttributes(IRuntimeMethodInfo method)
static unsafe void * _GetUtf8Name(RuntimeMethodHandleInternal method)
static unsafe MdUtf8String GetUtf8Name(RuntimeMethodHandleInternal method)
static void ConstructInstantiation(RuntimeMethodHandleInternal method, TypeNameFormatFlags format, StringHandleOnStack retString)
static bool IsDynamicMethod(RuntimeMethodHandleInternal method)
static RuntimeMethodBody GetMethodBody(IRuntimeMethodInfo method, RuntimeType declaringType)
static void GetMethodInstantiation(RuntimeMethodHandleInternal method, ObjectHandleOnStack types, Interop.BOOL fAsRuntimeTypeArray)
static int GetSlot(RuntimeMethodHandleInternal method)
static IRuntimeMethodInfo EnsureNonNullMethodInfo(IRuntimeMethodInfo method)
static object InvokeMethod(object target, in Span< object > arguments, Signature sig, bool constructor, bool wrapExceptions)
IRuntimeMethodInfo GetMethodInfo()
static IRuntimeMethodInfo StripMethodInstantiation(IRuntimeMethodInfo method)
static RuntimeType GetDeclaringType(RuntimeMethodHandleInternal method)
static RuntimeType[] GetMethodInstantiationInternal(RuntimeMethodHandleInternal method)
static bool MatchesNameHash(RuntimeMethodHandleInternal method, uint hash)
static void Destroy(RuntimeMethodHandleInternal method)
static bool IsGenericMethodDefinition(RuntimeMethodHandleInternal method)
static RuntimeMethodHandleInternal GetStubIfNeeded(RuntimeMethodHandleInternal method, RuntimeType declaringType, RuntimeType[] methodInstantiation)
static void GetTypicalMethodDefinition(RuntimeMethodHandleInternal method, ObjectHandleOnStack outMethod)
static MethodAttributes GetAttributes(RuntimeMethodHandleInternal method)
static bool operator!=(RuntimeMethodHandle left, RuntimeMethodHandle right)