コード例 #1
0
ファイル: MetadataTableWriter.cs プロジェクト: nobled/mono
		public FileTable GetFileTable ()
		{
			FileTable table = m_heap [FileTable.RId] as FileTable;
			if (table != null)
				return table;

			table = new FileTable ();
			InitializeTable (table);
			return table;
		}
コード例 #2
0
        public FileTable GetFileTable()
        {
            int rid = FileTable.RId;
            if (m_heap.HasTable (rid))
                return m_heap [rid] as FileTable;

            FileTable table = new FileTable ();
            table.Rows = new RowCollection ();
            m_heap.Valid |= 1L << rid;
            m_heap.Tables.Add (table);
            return table;
        }
コード例 #3
0
 public override void VisitFileTable(FileTable table)
 {
     int number = m_rows [FileTable.RId];
     table.Rows = new RowCollection (number);
     for (int i = 0; i < number; i++)
         table.Rows.Add (new FileRow ());
 }
コード例 #4
0
ファイル: Metadata.cs プロジェクト: sharpos/SharpOS
		void EncodeFileTable (FileTable table)
		{
			int index = 0;

			foreach (FileRow row in table.Rows) {
				this.asm.ALIGN (Assembly.OBJECT_ALIGNMENT);
				this.asm.LABEL (moduleName + " FileRow#" + index);
				this.asm.AddObjectFields (typeof (SharpOS.AOT.Metadata.FileRow).ToString ());
				this.asm.DATA ((uint) row.Flags);
				this.asm.DATA (row.Name);
				this.asm.DATA (row.HashValue);
				++index;
			}

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