public override void VisitParamTable(ParamTable table)
        {
            int number = m_rows [ParamTable.RId];

            table.Rows = new RowCollection(number);
            for (int i = 0; i < number; i++)
            {
                table.Rows.Add(new ParamRow());
            }
        }
Exemple #2
0
        public ParamTable GetParamTable()
        {
            ParamTable table = m_heap [ParamTable.RId] as ParamTable;

            if (table != null)
            {
                return(table);
            }

            table = new ParamTable();
            InitializeTable(table);
            return(table);
        }
Exemple #3
0
        public ParamTable GetParamTable()
        {
            int rid = ParamTable.RId;

            if (m_heap.HasTable(rid))
            {
                return(m_heap [rid] as ParamTable);
            }

            ParamTable table = new ParamTable();

            table.Rows    = new RowCollection();
            m_heap.Valid |= 1L << rid;
            m_heap.Tables.Add(table);
            return(table);
        }
Exemple #4
0
		public ParamTable GetParamTable ()
		{
			ParamTable table = m_heap [ParamTable.RId] as ParamTable;
			if (table != null)
				return table;

			table = new ParamTable ();
			InitializeTable (table);
			return table;
		}
 public override void VisitParamTable(ParamTable table)
 {
     int number = m_rows [ParamTable.RId];
     table.Rows = new RowCollection (number);
     for (int i = 0; i < number; i++)
         table.Rows.Add (new ParamRow ());
 }
        void InsertParameter(ParamTable pTable, ParameterDefinition param, ushort seq)
        {
            ParamRow pRow = m_rowWriter.CreateParamRow (
                param.Attributes,
                seq,
                m_mdWriter.AddString (param.Name));

            pTable.Rows.Add (pRow);
            param.MetadataToken = new MetadataToken (TokenType.Param, (uint) pTable.Rows.Count);

            if (param.MarshalSpec != null)
                param.MarshalSpec.Accept (this);

            if (param.HasConstant)
                WriteConstant (param, param.ParameterType);

            m_paramIndex++;
        }
        public ParamTable GetParamTable()
        {
            int rid = ParamTable.RId;
            if (m_heap.HasTable (rid))
                return m_heap [rid] as ParamTable;

            ParamTable table = new ParamTable ();
            table.Rows = new RowCollection ();
            m_heap.Valid |= 1L << rid;
            m_heap.Tables.Add (table);
            return table;
        }
Exemple #8
0
		void EncodeParamTable (ParamTable table)
		{
			int index = 0;

			foreach (ParamRow row in table.Rows) {
				this.asm.ALIGN (Assembly.OBJECT_ALIGNMENT);
				this.asm.LABEL (moduleName + " ParamRow#" + index);
				this.asm.AddObjectFields (typeof (SharpOS.AOT.Metadata.ParamRow).ToString ());

				this.asm.DATA ((uint) row.Flags);
				this.asm.DATA (row.Sequence);
				this.asm.DATA (row.Name);

				++index;
			}

			this.MetadataArray ("Param", table);
		}