Mono.Debugger.Backend.DwarfReader.DieSubprogram.ProcessAttribute C# (CSharp) Method

ProcessAttribute() protected method

protected ProcessAttribute ( Attribute attribute ) : void
attribute System.Attribute
return void
            protected override void ProcessAttribute(Attribute attribute)
            {
                debug ("SUBPROG PROCESS ATTRIBUTE: {0} {1}", Offset, attribute);

                switch (attribute.DwarfAttribute) {
                case DwarfAttribute.low_pc:
                    start_pc = (long) attribute.Data;
                    debug ("{0}: start_pc = {1:x}", Offset, start_pc);
                    break;

                case DwarfAttribute.high_pc:
                    end_pc = (long) attribute.Data;
                    debug ("{0}: end_pc = {1:x}", Offset, end_pc);
                    break;

                case DwarfAttribute.name:
                    name = (string) attribute.Data;
                    debug ("{0}: name = {1}", Offset, name);
                    break;

                case DwarfAttribute.frame_base:
                    frame_base = new DwarfLocation (this, attribute, false);
                    break;

                case DwarfAttribute.decl_file:
                    debug ("{0}: decl_file = {1}",
                           Offset, (long) attribute.Data);
                    break;

                case DwarfAttribute.decl_line:
                    debug ("{0}: decl_line = {1}",
                           Offset, (long) attribute.Data);
                    break;

                case DwarfAttribute.inline:
                    debug ("{0}: inline = {1}",
                           Offset, (DwarfInline) (long)attribute.Data);
                    break;

                case DwarfAttribute.abstract_origin:
                    abstract_origin = (long) attribute.Data;
                    debug ("{0} ABSTRACT ORIGIN: {1}", Offset, abstract_origin);
                    break;

                case DwarfAttribute.specification:
                    specification = (long) attribute.Data;
                    debug ("{0} SPECIFICATION: {1}", Offset, specification);
                    break;
                }
            }