Fan.Sys.GenericType.doReflect C# (CSharp) Method

doReflect() protected method

protected doReflect ( ) : void
return void
        protected void doReflect()
        {
            // ensure master type is reflected
              Type master = m_base;
              master.finish();
              List masterSlots = master.slots();

              // allocate slot data structures
              m_fields = new List(Sys.FieldType, master.fields().sz());
              m_methods = new List(Sys.MethodType, master.methods().sz());
              m_slots = new List(Sys.SlotType, masterSlots.sz());
              m_slotsByName = new Hashtable(masterSlots.sz()*3);

              // parameterize master's slots
              for (int i=0; i<masterSlots.sz(); i++)
              {
            Slot slot = (Slot)masterSlots.get(i);
            if (slot is Method)
            {
              slot = parameterize((Method)slot);
              m_methods.add(slot);
            }
            else
            {
              slot = parameterize((Field)slot);
              m_fields.add(slot);
            }
            m_slots.add(slot);
            m_slotsByName[slot.m_name] = slot;
              }
        }