コード例 #1
0
        private Object ResolveQualifiedMethod(QualifiedMethodHandle handle)
        {
            QualifiedMethod  qualifiedMethod = _metadataReader.GetQualifiedMethod(handle);
            NativeFormatType enclosingType   = (NativeFormatType)GetType(qualifiedMethod.EnclosingType);

            return(GetMethod(qualifiedMethod.Method, enclosingType));
        }
コード例 #2
0
ファイル: MethodNameFormatter.cs プロジェクト: z77ma/runtime
        private void EmitMethodDefinitionName(QualifiedMethodHandle qualifiedMethodHandle)
        {
            QualifiedMethod qualifiedMethod = _metadataReader.GetQualifiedMethod(qualifiedMethodHandle);

            EmitContainingTypeAndMethodName(qualifiedMethod, out MethodSignature methodSignature);
            EmitMethodParameters(methodSignature);
        }
コード例 #3
0
ファイル: MdBinaryReaderGen.cs プロジェクト: wffy/corert
        } // 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
コード例 #4
0
        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);
        }
コード例 #5
0
ファイル: MethodNameFormatter.cs プロジェクト: z77ma/runtime
        /// <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);
        }