internal GuidHandle GetLanguage(DocumentHandle handle) { int rowOffset = (handle.RowId - 1) * RowSize; return(GuidHandle.FromIndex(Block.PeekHeapReference(rowOffset + _languageOffset, _isGuidHeapRefSizeSmall))); }
internal BlobHandle GetHash(DocumentHandle handle) { int rowOffset = (handle.RowId - 1) * RowSize; return(BlobHandle.FromOffset(Block.PeekHeapReference(rowOffset + _hashOffset, _isBlobHeapRefSizeSmall))); }
internal GuidHandle GetHashAlgorithm(DocumentHandle handle) { int rowOffset = (handle.RowId - 1) * RowSize; return(GuidHandle.FromIndex(Block.PeekHeapReference(rowOffset + _hashAlgorithmOffset, _isGuidHeapRefSizeSmall))); }
internal DocumentHandle GetDocument(MethodDebugInformationHandle handle) { int rowOffset = (handle.RowId - 1) * RowSize; return(DocumentHandle.FromRowId(Block.PeekReference(rowOffset + DocumentOffset, _isDocumentRefSmall))); }
public bool MoveNext() { if (_reader.RemainingBytes == 0) { return(false); } DocumentHandle document = _current.Document; int offset, deltaLines, deltaColumns, startLine; ushort startColumn; if (_reader.Offset == 0) { // header (skip local signature rid): _reader.ReadCompressedInteger(); if (document.IsNil) { document = ReadDocumentHandle(); } // IL offset: offset = _reader.ReadCompressedInteger(); } else { // skip all document records and update the current document accordingly: int deltaOffset; while ((deltaOffset = _reader.ReadCompressedInteger()) == 0) { document = ReadDocumentHandle(); } // IL offset: offset = AddOffsets(_current.Offset, deltaOffset); } ReadDeltaLinesAndColumns(out deltaLines, out deltaColumns); // hidden if (deltaLines == 0 && deltaColumns == 0) { _current = new SequencePoint(document, offset); return(true); } // delta Start Line & Column: if (_previousNonHiddenStartLine < 0) { Debug.Assert(_previousNonHiddenStartColumn == 0); startLine = ReadLine(); startColumn = ReadColumn(); } else { startLine = AddLines(_previousNonHiddenStartLine, _reader.ReadCompressedSignedInteger()); startColumn = AddColumns(_previousNonHiddenStartColumn, _reader.ReadCompressedSignedInteger()); } _previousNonHiddenStartLine = startLine; _previousNonHiddenStartColumn = startColumn; _current = new SequencePoint( document, offset, startLine, startColumn, AddLines(startLine, deltaLines), AddColumns(startColumn, deltaColumns)); return(true); }
internal SequencePointCollection(MemoryBlock block, DocumentHandle document) { _block = block; _document = document; }