protected override Die CreateDie(DwarfBinaryReader reader, CompilationUnit comp_unit,
long offset, AbbrevEntry abbrev)
{
switch (abbrev.Tag) {
case DwarfTag.formal_parameter:
return new DieFormalParameter (subprog, reader, comp_unit, abbrev);
case DwarfTag.variable:
return new DieVariable (subprog, reader, comp_unit, abbrev, this);
case DwarfTag.lexical_block:
return new DieLexicalBlock (subprog, reader, comp_unit, abbrev);
default:
debug ("LEXICAL BLOCK ({0}): unknown die: {1}", Offset, abbrev.Tag);
return base.CreateDie (reader, comp_unit, offset, abbrev);
}
}