Mono.Debugger.Backend.DwarfReader.LineNumberEngine.do_extended_opcode C# (CSharp) Method

do_extended_opcode() protected method

protected do_extended_opcode ( ) : void
return void
            void do_extended_opcode()
            {
                byte size = reader.ReadByte ();
                long end_pos = reader.Position + size;
                byte opcode = reader.ReadByte ();

                debug ("EXTENDED OPCODE: {0:x} {1:x}", size, opcode);

                switch ((ExtendedOpcode) opcode) {
                case ExtendedOpcode.set_address:
                    stm.st_address = reader.ReadAddress ();
                    debug ("SETTING ADDRESS TO {0:x}", stm.st_address);
                    break;

                case ExtendedOpcode.end_sequence:
                    stm.set_end_sequence ();
                    break;

                default:
                    warning ("Unknown extended opcode {0:x} in line number " +
                         "engine at offset {1}", opcode, reader.Position);
                    break;
                }

                reader.Position = end_pos;
            }