Ejemplo n.º 1
0
 public Readtable()
 {
     Items = new ReadtableEntry[127];
     for (var i = 0; i < Items.Length; ++i)
     {
         Items[i] = new ReadtableEntry();
     }
     OtherItems = new Dictionary <char, ReadtableEntry>();
 }
Ejemplo n.º 2
0
        public ReadtableEntry Clone()
        {
            var dest = new ReadtableEntry();

            dest.Character = Character;
            dest.Type      = Type;
            dest.Handler   = Handler;
            dest.Handler2  = Handler2;
            if (DispatchReadtable != null)
            {
                dest.DispatchReadtable = new SortedList <string, ReadtableHandler2>();
                foreach (var pair in DispatchReadtable)
                {
                    dest.DispatchReadtable.Add(pair.Key, pair.Value);
                }
            }
            return(dest);
        }
Ejemplo n.º 3
0
        public ReadtableEntry GetEntry(char code, bool defining = false)
        {
            ReadtableEntry item;

            if (code < Items.Length)
            {
                return(Items[code]);
            }
            else if (OtherItems.TryGetValue(code, out item))
            {
                return(item);
            }
            else if (defining)
            {
                item             = new ReadtableEntry();
                item.Character   = code;
                OtherItems[code] = item;
                return(item);
            }
            else
            {
                return(DefaultItem);
            }
        }