Beispiel #1
0
 public MetaDataTableNode(MetaDataTableVM mdTable)
     : base(mdTable.Span)
 {
     TableInfo             = mdTable.TableInfo;
     MetaDataTableVM       = mdTable;
     MetaDataTableVM.Owner = this;
 }
Beispiel #2
0
		public MetaDataTableNode(HexDocument doc, MDTable mdTable, IMetaData md)
			: base((ulong)mdTable.StartOffset, (ulong)mdTable.EndOffset - 1) {
			this.doc = doc;
			this.tableInfo = mdTable.TableInfo;
			this.tablesStreamVM = MetaDataTableVM.Create(this, doc, StartOffset, mdTable);
			this.tablesStreamVM.FindMetaDataTable = FindMetaDataTable;
			this.tablesStreamVM.InitializeHeapOffsets((ulong)md.StringsStream.StartOffset, (ulong)md.StringsStream.EndOffset - 1);
		}
Beispiel #3
0
 public MetaDataTableNode(HexDocument doc, MDTable mdTable, IMetaData md)
     : base((ulong)mdTable.StartOffset, (ulong)mdTable.EndOffset - 1)
 {
     this.doc            = doc;
     this.tableInfo      = mdTable.TableInfo;
     this.tablesStreamVM = MetaDataTableVM.Create(this, doc, StartOffset, mdTable);
     this.tablesStreamVM.FindMetaDataTable = FindMetaDataTable;
     this.tablesStreamVM.InitializeHeapOffsets((ulong)md.StringsStream.StartOffset, (ulong)md.StringsStream.EndOffset - 1);
 }
Beispiel #4
0
        public MetaDataTableNode(HexBuffer buffer, MDTable mdTable, IMetaData md)
            : base(HexSpan.FromBounds((ulong)mdTable.StartOffset, (ulong)mdTable.EndOffset))
        {
            Buffer    = buffer;
            TableInfo = mdTable.TableInfo;
            var stringsHeapSpan = HexSpan.FromBounds((ulong)md.StringsStream.StartOffset, (ulong)md.StringsStream.EndOffset);
            var guidHeapSpan    = HexSpan.FromBounds((ulong)md.GuidStream.StartOffset, (ulong)md.GuidStream.EndOffset);

            MetaDataTableVM = MetaDataTableVM.Create(this, buffer, Span.Start, mdTable, stringsHeapSpan, guidHeapSpan);
            MetaDataTableVM.FindMetaDataTable = FindMetaDataTable;
        }
Beispiel #5
0
        protected override void DecompileFields(IDecompiler decompiler, IDecompilerOutput output)
        {
            decompiler.WriteCommentLine(output, string.Empty);
            decompiler.WriteCommentBegin(output, true);
            WriteHeader(output);
            decompiler.WriteCommentEnd(output, true);
            output.WriteLine();

            for (int i = 0; i < (int)MetaDataTableVM.Rows; i++)
            {
                var obj = MetaDataTableVM.Get(i);
                decompiler.WriteCommentBegin(output, true);
                Write(output, obj);
                decompiler.WriteCommentEnd(output, true);
                output.WriteLine();
            }
        }
Beispiel #6
0
        public void WriteHeader(IDecompilerOutput output)
        {
            var cols = MetaDataTableVM.TableInfo.Columns;

            output.Write(string.Format("{0}\t{1}\t{2}", dnSpy_AsmEditor_Resources.RowIdentifier, dnSpy_AsmEditor_Resources.Token, dnSpy_AsmEditor_Resources.Offset), BoxedTextColor.Comment);
            for (int i = 0; i < cols.Count; i++)
            {
                output.Write("\t", BoxedTextColor.Comment);
                output.Write(MetaDataTableVM.GetColumnName(i), BoxedTextColor.Comment);
            }
            if (MetaDataTableVM.HasInfo)
            {
                output.Write("\t", BoxedTextColor.Comment);
                output.Write(MetaDataTableVM.InfoName, BoxedTextColor.Comment);
            }
            output.WriteLine();
        }
		public DeclSecurityMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public FieldMarshalMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public StateMachineMethodMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public TypeSpecMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public MethodSemanticsMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public EventMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public GenericParamMetaDataTableRecordV11VM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public NestedClassMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public ManifestResourceMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public ExportedTypeMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public AssemblyRefOSMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public AssemblyProcessorMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public ImportScopeMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public FieldLayoutMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public StandAloneSigMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public GenericParamConstraintMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public PropertyMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		protected MetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM.Owner) {
			this.mdVM = mdVM;
			this.mdToken = mdToken;
			this.hexFields = new HexField[mdVM.TableInfo.Columns.Count];
			for (int i = 0; i < this.hexFields.Length; i++)
				this.hexFields[i] = CreateField(mdVM.TableInfo.Columns[i]);
		}
		public ModuleRefMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public LocalConstantMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public ImplMapMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public CustomAttributeMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public ParamPtrMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public CustomDebugInformationMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public InterfaceImplMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}
		public LocalVariableMetaDataTableRecordVM(MetaDataTableVM mdVM, MDToken mdToken)
			: base(mdVM, mdToken) {
		}