예제 #1
0
        public override object GetValue(ClrDynamic o)
        {
            int size = (int)o.Dynamic._size;
            var col  = o.Dynamic._items as IEnumerable <ClrDynamic>;

            return(new ListVisual()
            {
                Count = size,
                Items = col?.Take(size),
            });
        }
예제 #2
0
        public IEnumerable <ClrDynamic> GetReferenceBy(ClrDynamic o)
        {
            ParentList parents;

            if (!m_referenceMap.TryGetValue(o.Address, out parents))
            {
                return(new ClrDynamic[0]);
            }

            return(parents.Start.Enumerate());
        }
예제 #3
0
        public static ApiMemberInfo Describe(this ResolvedMethod src)
        {
            var dst  = new ApiMemberInfo();
            var msil = ClrDynamic.msil(src.EntryPoint, src.Uri, src.Method);

            dst.EntryPoint = src.EntryPoint;
            dst.ApiKind    = src.Method.KindId();
            dst.CliSig     = msil.CliSig;
            dst.DisplaySig = src.Method.DisplaySig().Format();
            dst.Token      = msil.Token;
            dst.Uri        = src.Uri.Format();
            dst.MsilCode   = msil.Code;
            return(dst);
        }
예제 #4
0
            public DataRowVisual(ClrDynamic row)
            {
                Row = row;

                int tempRecord = (int)row["tempRecord"];
                int newRecord  = (int)row["newRecord"];
                int oldRecord  = (int)row["oldRecord"];

                RowState = GetRowState(newRecord, oldRecord);
                m_record = GetRecord(tempRecord, newRecord, oldRecord);

                m_columns = (from column in (ClrDynamic)row.Dynamic._columns._list._items
                             where !column.IsNull()
                             select column).ToList();
            }
예제 #5
0
        public override object GetValue(ClrDynamic o)
        {
            int size  = (int)o.Dynamic._size;
            int head  = (int)o.Dynamic._head;
            int tail  = (int)o.Dynamic._tail;
            var items = o.Dynamic._array as IEnumerable <ClrDynamic>;

            if (tail >= head)
            {
                return(new QueueVisual()
                {
                    Count = size,
                    Items = items.Skip(head).Take(size),
                });
            }

            //wrap around!
            return(new QueueVisual()
            {
                Count = size,
                Items = items.Skip(head).Concat(items.Take(tail))
            });
        }
예제 #6
0
 public abstract object GetValue(ClrDynamic o);
예제 #7
0
 public override object GetValue(ClrDynamic o)
 {
     return(new DataSetVisual(o));
 }
예제 #8
0
 public DataTableVisual(ClrDynamic table)
 {
     m_table = table;
 }
예제 #9
0
 public Node(ClrDynamic o, Node next)
 {
     Value = o;
     Next  = next;
 }