int ICorDebugObjectValue.GetVirtualMethod(uint memberRef, out ICorDebugFunction ppFunction)
        {
            uint mdVirtual = Engine.GetVirtualMethod(TinyCLR_TypeSystem.ClassMemberIndexFromCLRToken(memberRef, this.m_class.Assembly), this.m_rtv);

            ppFunction = TinyCLR_TypeSystem.CorDebugFunctionFromMethodIndex(mdVirtual, this.m_appDomain);

            return(Utility.COM_HResults.S_OK);
        }
        int ICorDebugObjectValue.GetFieldValue(ICorDebugClass pClass, uint fieldDef, out ICorDebugValue ppValue)
        {
            //cache fields?
            RuntimeValue rtv = m_rtv.GetField(0, TinyCLR_TypeSystem.ClassMemberIndexFromCLRToken(fieldDef, ((CorDebugClass)pClass).Assembly));

            ppValue = CreateValue(rtv);

            return(Utility.COM_HResults.S_OK);
        }
Exemplo n.º 3
0
        int ICorDebugClass.GetStaticFieldValue(uint fieldDef, ICorDebugFrame pFrame, out ICorDebugValue ppValue)
        {
            //Cache, and invalidate when necessary???
            uint fd = TinyCLR_TypeSystem.ClassMemberIndexFromCLRToken(fieldDef, this.Assembly);

            this.Process.SetCurrentAppDomain(this.AppDomain);
            RuntimeValue rtv = this.Engine.GetStaticFieldValue(fd);

            ppValue = CorDebugValue.CreateValue(rtv, this.AppDomain);

            return(Utility.COM_HResults.S_OK);
        }
Exemplo n.º 4
0
 public CorDebugValue GetFieldValue(uint metadataToken)
 {
     return(CreateValue(m_rtv.GetField(0, TinyCLR_TypeSystem.ClassMemberIndexFromCLRToken(metadataToken, m_class.Assembly))));
 }