Exemplo n.º 1
0
        static void CheckLineNumberTable(LineNumberEntry[] line_numbers)
        {
            int last_offset = -1;
            int last_row    = -1;

            if (line_numbers == null)
            {
                return;
            }

            for (int i = 0; i < line_numbers.Length; i++)
            {
                LineNumberEntry line = line_numbers [i];

                if (line.Equals(LineNumberEntry.Null))
                {
                    throw new MonoSymbolFileException();
                }

                if (line.Offset < last_offset)
                {
                    throw new MonoSymbolFileException();
                }

                if (line.Offset > last_offset)
                {
                    last_row    = line.Row;
                    last_offset = line.Offset;
                }
                else if (line.Row > last_row)
                {
                    last_row = line.Row;
                }
            }
        }