private Object ResolveQualifiedMethod(QualifiedMethodHandle handle) { QualifiedMethod qualifiedMethod = _metadataReader.GetQualifiedMethod(handle); NativeFormatType enclosingType = (NativeFormatType)GetType(qualifiedMethod.EnclosingType); return(GetMethod(qualifiedMethod.Method, enclosingType)); }
private void EmitMethodDefinitionName(QualifiedMethodHandle qualifiedMethodHandle) { QualifiedMethod qualifiedMethod = _metadataReader.GetQualifiedMethod(qualifiedMethodHandle); EmitContainingTypeAndMethodName(qualifiedMethod, out MethodSignature methodSignature); EmitMethodParameters(methodSignature); }
} // Read public static uint Read(this NativeReader reader, uint offset, out QualifiedMethodHandle handle) { uint value; offset = reader.DecodeUnsigned(offset, out value); handle = new QualifiedMethodHandle((int)value); handle._Validate(); return(offset); } // Read
private void EmitMethodDefinitionName(QualifiedMethodHandle qualifiedMethodHandle) { QualifiedMethod qualifiedMethod = _metadataReader.GetQualifiedMethod(qualifiedMethodHandle); Method method = _metadataReader.GetMethod(qualifiedMethod.Method); MethodSignature methodSignature = _metadataReader.GetMethodSignature(method.Signature); EmitTypeName(qualifiedMethod.EnclosingType, namespaceQualified: true); _outputBuilder.Append('.'); EmitString(method.Name); EmitMethodParameters(methodSignature); }
/// <summary> /// Emit generic method instantiation to the output string builder. /// </summary> /// <param name="methodInstHandle">Method instantiation handle</param> private void EmitMethodInstantiationName(MethodInstantiationHandle methodInstHandle) { MethodInstantiation methodInst = _metadataReader.GetMethodInstantiation(methodInstHandle); MethodSignature methodSignature; if (methodInst.Method.HandleType == HandleType.MemberReference) { MemberReferenceHandle methodRefHandle = methodInst.Method.ToMemberReferenceHandle(_metadataReader); MemberReference methodRef = methodRefHandle.GetMemberReference(_metadataReader); EmitContainingTypeAndMethodName(methodRef, out methodSignature); } else { QualifiedMethodHandle qualifiedMethodHandle = methodInst.Method.ToQualifiedMethodHandle(_metadataReader); QualifiedMethod qualifiedMethod = _metadataReader.GetQualifiedMethod(qualifiedMethodHandle); EmitContainingTypeAndMethodName(qualifiedMethod, out methodSignature); } EmitGenericArguments(methodInst.GenericTypeArguments); EmitMethodParameters(methodSignature); }