예제 #1
0
        internal void GetRange(EntityHandle parentHandle, out int firstImplRowId, out int lastImplRowId)
        {
            int startRowNumber, endRowNumber;

            Block.BinarySearchReferenceRange(
                NumberOfRows,
                RowSize,
                ParentOffset,
                HasCustomDebugInformationTag.ConvertToTag(parentHandle),
                _isHasCustomDebugInformationRefSizeSmall,
                out startRowNumber,
                out endRowNumber
                );

            if (startRowNumber == -1)
            {
                firstImplRowId = 1;
                lastImplRowId  = 0;
            }
            else
            {
                firstImplRowId = startRowNumber + 1;
                lastImplRowId  = endRowNumber + 1;
            }
        }
예제 #2
0
        internal void GetLocalScopeRange(int methodDefRid, out int firstScopeRowId, out int lastScopeRowId)
        {
            int startRowNumber, endRowNumber;

            Block.BinarySearchReferenceRange(
                NumberOfRows,
                RowSize,
                MethodOffset,
                (uint)methodDefRid,
                _isMethodRefSmall,
                out startRowNumber,
                out endRowNumber
                );

            if (startRowNumber == -1)
            {
                firstScopeRowId = 1;
                lastScopeRowId  = 0;
            }
            else
            {
                firstScopeRowId = startRowNumber + 1;
                lastScopeRowId  = endRowNumber + 1;
            }
        }