Mono.Debugger.Backend.DwarfReader.Attribute.get_datasize C# (CSharp) Method

get_datasize() private method

private get_datasize ( ) : int
return int
            int get_datasize()
            {
                switch (form) {
                case DwarfForm.ref1:
                case DwarfForm.data1:
                case DwarfForm.flag:
                    return 1;

                case DwarfForm.ref2:
                case DwarfForm.data2:
                    return 2;

                case DwarfForm.ref4:
                case DwarfForm.data4:
                    return 4;

                case DwarfForm.ref8:
                case DwarfForm.data8:
                    return 8;

                case DwarfForm.addr:
                case DwarfForm.ref_addr:
                    return dwarf.AddressSize;

                case DwarfForm.block1:
                    return dwarf.DebugInfoReader.PeekByte (offset) + 1;

                case DwarfForm.block2:
                    return dwarf.DebugInfoReader.PeekInt16 (offset) + 2;

                case DwarfForm.block4:
                    return dwarf.DebugInfoReader.PeekInt32 (offset) + 4;

                case DwarfForm.block:
                case DwarfForm.ref_udata: {
                    int size, size2;
                    size2 = dwarf.DebugInfoReader.PeekLeb128 (offset, out size);
                    return size + size2;
                }

                case DwarfForm.udata:
                case DwarfForm.sdata: {
                    int size;
                    dwarf.DebugInfoReader.PeekLeb128 (offset, out size);
                    return size;
                }

                case DwarfForm.strp:
                    return dwarf.Is64Bit ? 8 : 4;

                case DwarfForm.cstring: {
                    string str = dwarf.DebugInfoReader.PeekString (offset);
                    return str.Length + 1;
                }

                default:
                    throw new DwarfException (
                        dwarf.bfd, "Unknown DW_FORM: 0x{0:x}",
                        (int) form);
                }
            }