コード例 #1
0
        private void DoLoadNameTable(ThreadMirror thread, VariableItem parent)
        {
            for (int i = 0; i < parent.NumberOfChildren; ++i)
            {
                VariableItem child = parent.GetChild(thread, i);

                string value = child.AttributedValue.ToString();
                if (value.Length > 0)
                    m_nameTable[child.AttributedName.ToString()] = value;

                var iv = child.Value as InstanceValue;
                if (iv != null)
                {
                    for (int j = 0; j < iv.Length; ++j)
                    {
                        VariableItem gchild = iv.GetChild(thread, child, j);
                        gchild.autorelease();

                        value = gchild.AttributedValue.ToString();
                        if (value.Length > 0)
                            m_nameTable[gchild.AttributedName.ToString()] = value;
                    }
                }

                var tv = child.Value as TypeValue;
                if (tv != null)
                {
                    for (int j = 0; j < tv.Length; ++j)
                    {
                        VariableItem gchild = tv.GetChild(thread, child, j);
                        gchild.autorelease();

                        value = gchild.AttributedValue.ToString();
                        if (value.Length > 0)
                            m_nameTable[gchild.AttributedName.ToString()] = value;
                    }
                }
            }
        }
コード例 #2
0
        public NSObject outlineView_child_ofItem(NSOutlineView table, int index, VariableItem item)
        {
            NSObject child = null;

            try
            {
                if (m_item != null)
                    child = item == null ? m_item.GetChild(m_frame.Thread, index) : item.GetChild(m_frame.Thread, index);
            }
            catch (Exception e)
            {
                if (!Debugger.IsShuttingDown(e))
                    throw;
            }

            return child;
        }