// Get type index for specific method by name public uint GetMethodFunctionIdTypeIndex(MethodDesc method) { lock (_lock) { uint typeIndex; if (_methodIdIndices.TryGetValue(method, out typeIndex)) { return(typeIndex); } MemberFunctionIdTypeDescriptor descriptor = new MemberFunctionIdTypeDescriptor(); descriptor.MemberFunction = GetMethodTypeIndex(method); descriptor.ParentClass = GetTypeIndex(method.OwningType, true); descriptor.Name = method.Name; typeIndex = _objectWriter.GetMemberFunctionId(descriptor); _methodIdIndices.Add(method, typeIndex); return(typeIndex); } }
uint ITypesDebugInfoWriter.GetMemberFunctionId(MemberFunctionIdTypeDescriptor memberIdDescriptor) { return(_dbgInfoWriter.GetMemberFunctionId(memberIdDescriptor)); }
uint ITypesDebugInfoWriter.GetMemberFunctionId(MemberFunctionIdTypeDescriptor memberIdDescriptor) { return(GetMemberFunctionIdTypeIndex(_nativeObjectWriter, memberIdDescriptor)); }
private static extern uint GetMemberFunctionIdTypeIndex(IntPtr objWriter, MemberFunctionIdTypeDescriptor memberIdDescriptor);