コード例 #1
0
        public void CallParameterizedFunction(CorFunction managedFunction, CorType[] argumentTypes, CorValue[] arguments)
        {
            ICorDebugType[] types       = null;
            int             typesLength = 0;

            ICorDebugValue[] values = null;
            int valuesLength        = 0;

            var eval2 = (ICorDebugEval2)m_eval;

            if (argumentTypes != null)
            {
                types = new ICorDebugType[argumentTypes.Length];
                for (int i = 0; i < argumentTypes.Length; i++)
                {
                    types[i] = argumentTypes[i].m_type;
                }
                typesLength = types.Length;
            }
            if (arguments != null)
            {
                values = new ICorDebugValue[arguments.Length];
                for (int i = 0; i < arguments.Length; i++)
                {
                    values[i] = arguments[i].m_val;
                }
                valuesLength = values.Length;
            }
            eval2.CallParameterizedFunction(managedFunction.m_function, (uint)typesLength, types, (uint)valuesLength,
                                            values);
        }
コード例 #2
0
ファイル: Eval.cs プロジェクト: pusp/o2platform
        public void CallParameterizedFunction(CorFunction managedFunction, CorType[] argumentTypes, CorValue[] arguments)
        {
            ICorDebugType[] types = null;
            int typesLength = 0;
            ICorDebugValue[] values = null;
            int valuesLength = 0;

            var eval2 = (ICorDebugEval2) m_eval;

            if (argumentTypes != null)
            {
                types = new ICorDebugType[argumentTypes.Length];
                for (int i = 0; i < argumentTypes.Length; i++)
                    types[i] = argumentTypes[i].m_type;
                typesLength = types.Length;
            }
            if (arguments != null)
            {
                values = new ICorDebugValue[arguments.Length];
                for (int i = 0; i < arguments.Length; i++)
                    values[i] = arguments[i].m_val;
                valuesLength = values.Length;
            }
            eval2.CallParameterizedFunction(managedFunction.m_function, (uint) typesLength, types, (uint) valuesLength,
                                            values);
        }
コード例 #3
0
        /// <summary>
        /// Gets the MDbgFunction for a given Function Token.
        /// </summary>
        /// <param name="functionToken">The Function Token to lookup.</param>
        /// <returns>The coresponding MDbgFunction.</returns>
        public MDbgFunction GetFunction(int functionToken)
        {
            CorFunction f = m_module.GetFunctionFromToken(functionToken);

            Debug.Assert(f != null);
            return(GetFunction(f));
        }
コード例 #4
0
ファイル: Eval.cs プロジェクト: pusp/o2platform
 public void CallFunction(CorFunction managedFunction, CorValue[] arguments)
 {
     ICorDebugValue[] values = null;
     if (arguments != null)
     {
         values = new ICorDebugValue[arguments.Length];
         for (int i = 0; i < arguments.Length; i++)
             values[i] = arguments[i].m_val;
     }
     m_eval.CallFunction(managedFunction.m_function,
                         (uint) (arguments == null ? 0 : arguments.Length),
                         values);
 }
コード例 #5
0
 public void CallFunction(CorFunction managedFunction, CorValue[] arguments)
 {
     ICorDebugValue[] values = null;
     if (arguments != null)
     {
         values = new ICorDebugValue[arguments.Length];
         for (int i = 0; i < arguments.Length; i++)
         {
             values[i] = arguments[i].m_val;
         }
     }
     m_eval.CallFunction(managedFunction.m_function,
                         (uint)(arguments == null ? 0 : arguments.Length),
                         values);
 }
コード例 #6
0
        public CorType GetVirtualMethodAndType(int memberToken, out CorFunction managedFunction)
        {
            ICorDebugType     dt    = null;
            ICorDebugFunction pfunc = null;

            (m_objVal as ICorDebugObjectValue2).GetVirtualMethodAndType((uint)memberToken, out pfunc, out dt);
            if (pfunc == null)
            {
                managedFunction = null;
            }
            else
            {
                managedFunction = new CorFunction(pfunc);
            }
            return(dt == null ? null : new CorType(dt));
        }
コード例 #7
0
 internal CorActiveFunction(int ilOffset, CorFunction managedFunction, CorModule managedModule)
 {
     m_ilOffset = ilOffset;
     m_function = managedFunction;
     m_module = managedModule;
 }
コード例 #8
0
 public CorType GetVirtualMethodAndType(int memberToken, out CorFunction managedFunction)
 {
     ICorDebugType dt = null;
     ICorDebugFunction pfunc = null;
     (m_objVal as ICorDebugObjectValue2).GetVirtualMethodAndType((uint) memberToken, out pfunc, out dt);
     if (pfunc == null)
         managedFunction = null;
     else
         managedFunction = new CorFunction(pfunc);
     return dt == null ? null : new CorType(dt);
 }
コード例 #9
0
 public CorFunctionRemapCompleteEventArgs(CorAppDomain appDomain,
                                          CorThread thread,
                                          CorFunction managedFunction,
                                          ManagedCallbackType callbackType
     )
     : base(appDomain, thread, callbackType)
 {
     m_managedFunction = managedFunction;
 }
コード例 #10
0
 public CorFunctionRemapCompleteEventArgs(CorAppDomain appDomain,
                                          CorThread thread,
                                          CorFunction managedFunction
     )
     : base(appDomain, thread)
 {
     m_managedFunction = managedFunction;
 }
コード例 #11
0
 public CorFunctionRemapOpportunityEventArgs(CorAppDomain appDomain,
                                             CorThread thread,
                                             CorFunction oldFunction,
                                             CorFunction newFunction,
                                             int oldILoffset,
                                             ManagedCallbackType callbackType
     )
     : base(appDomain, thread, callbackType)
 {
     m_oldFunction = oldFunction;
     m_newFunction = newFunction;
     m_oldILoffset = oldILoffset;
 }
コード例 #12
0
 public CorFunctionRemapOpportunityEventArgs(CorAppDomain appDomain,
                                             CorThread thread,
                                             CorFunction oldFunction,
                                             CorFunction newFunction,
                                             int oldILoffset
     )
     : base(appDomain, thread)
 {
     m_oldFunction = oldFunction;
     m_newFunction = newFunction;
     m_oldILoffset = oldILoffset;
 }
コード例 #13
0
 public CorEditAndContinueRemapEventArgs(CorAppDomain appDomain,
                                         CorThread thread,
                                         CorFunction managedFunction,
                                         int accurate,
                                         ManagedCallbackType callbackType)
     : base(appDomain, thread, callbackType)
 {
     m_managedFunction = managedFunction;
     m_accurate = accurate;
 }
コード例 #14
0
 internal CorActiveFunction(int ilOffset, CorFunction managedFunction, CorModule managedModule)
 {
     m_ilOffset = ilOffset;
     m_function = managedFunction;
     m_module   = managedModule;
 }