internal MethodDebugInformation(MetadataReader reader, MethodDebugInformationHandle handle) { Debug.Assert(reader != null); Debug.Assert(!handle.IsNil); _reader = reader; _rowId = handle.RowId; }
private SourceInformation GetSourceInformation(MethodDebugInformationHandle handle) { SourceInformation sourceInformation = null; try { var methodDebugDefinition = _reader.GetMethodDebugInformation(handle); var fileName = GetMethodFileName(methodDebugDefinition); var lineNumber = GetMethodStartLineNumber(methodDebugDefinition); sourceInformation = new SourceInformation(fileName, lineNumber); } catch (BadImageFormatException) { } return sourceInformation; }
public LocalScopeHandleCollection GetLocalScopes(MethodDebugInformationHandle handle) { return new LocalScopeHandleCollection(this, handle.RowId); }
public MethodDebugInformation GetMethodDebugInformation(MethodDebugInformationHandle handle) { return new MethodDebugInformation(this, handle); }
internal DocumentHandle GetDocument(MethodDebugInformationHandle handle) { int rowOffset = (handle.RowId - 1) * RowSize; return DocumentHandle.FromRowId(Block.PeekReference(rowOffset + DocumentOffset, _isDocumentRefSmall)); }
internal BlobHandle GetSequencePoints(MethodDebugInformationHandle handle) { int rowOffset = (handle.RowId - 1) * RowSize; return BlobHandle.FromOffset(Block.PeekHeapReference(rowOffset + _sequencePointsOffset, _isBlobHeapRefSizeSmall)); }