internal CustomDebugInformation(MetadataReader reader, CustomDebugInformationHandle handle) { Debug.Assert(reader != null); Debug.Assert(!handle.IsNil); _reader = reader; _rowId = handle.RowId; }
public CustomDebugInformationEntry(PEFile module, MetadataReader metadata, bool isEmbedded, CustomDebugInformationHandle handle) { this.offset = isEmbedded ? null : (int?)metadata.GetTableMetadataOffset(TableIndex.CustomDebugInformation) + metadata.GetTableRowSize(TableIndex.CustomDebugInformation) * (MetadataTokens.GetRowNumber(handle) - 1); this.module = module; this.metadata = metadata; this.handle = handle; this.debugInfo = metadata.GetCustomDebugInformation(handle); }
internal BlobHandle GetValue(CustomDebugInformationHandle handle) { int rowOffset = (handle.RowId - 1) * RowSize; return(BlobHandle.FromOffset(Block.PeekHeapReference(rowOffset + _valueOffset, _isBlobHeapRefSizeSmall))); }
internal GuidHandle GetKind(CustomDebugInformationHandle handle) { int rowOffset = (handle.RowId - 1) * RowSize; return(GuidHandle.FromIndex(Block.PeekHeapReference(rowOffset + _kindOffset, _isGuidHeapRefSizeSmall))); }
internal EntityHandle GetParent(CustomDebugInformationHandle handle) { int rowOffset = (handle.RowId - 1) * RowSize; return(HasCustomDebugInformationTag.ConvertToHandle(Block.PeekTaggedReference(rowOffset + ParentOffset, _isHasCustomDebugInformationRefSizeSmall))); }
public CustomDebugInformation GetCustomDebugInformation(CustomDebugInformationHandle handle) { return new CustomDebugInformation(this, handle); }
internal BlobHandle GetValue(CustomDebugInformationHandle handle) { int rowOffset = (handle.RowId - 1) * RowSize; return BlobHandle.FromOffset(Block.PeekHeapReference(rowOffset + _valueOffset, _isBlobHeapRefSizeSmall)); }
internal GuidHandle GetKind(CustomDebugInformationHandle handle) { int rowOffset = (handle.RowId - 1) * RowSize; return GuidHandle.FromIndex(Block.PeekHeapReference(rowOffset + _kindOffset, _isGuidHeapRefSizeSmall)); }
internal EntityHandle GetParent(CustomDebugInformationHandle handle) { int rowOffset = (handle.RowId - 1) * RowSize; return HasCustomDebugInformationTag.ConvertToHandle(Block.PeekTaggedReference(rowOffset + ParentOffset, _isHasCustomDebugInformationRefSizeSmall)); }
public static CustomDebugInformation GetCustomDebugInformation(this CustomDebugInformationHandle handle, MetadataReader reader) => reader.GetCustomDebugInformation(handle);