for(std::map<string, InterfaceBlock *>::const_iterator i=stage.interface_blocks.begin(); i!=stage.interface_blocks.end(); ++i)
if(seen_interfaces.insert(i->second).second)
{
- string text = format("Interface block: %%%d %s %s", get_label(*i->second), i->second->interface, i->second->name);
+ string text = format("Interface block: %%%d %s %s", get_label(*i->second), i->second->interface, i->second->block_name);
if(!i->second->instance_name.empty())
text += format(" %s", i->second->instance_name);
append(text);
append(format("Literal: %s -> %s", literal.token, format_type(literal.type)));
}
-void DumpTree::visit(ParenthesizedExpression &parexpr)
-{
- annotated_branch(format("(expr) -> %s", format_type(parexpr.type)), *parexpr.expression);
-}
-
void DumpTree::visit(VariableReference &var)
{
string text;
string head;
if(!iface.instance_name.empty())
head += format("%%%d ", get_label(iface));
- head += format("%s %s", iface.interface, iface.name);
+ head += format("%s %s", iface.interface, iface.block_name);
if(!iface.instance_name.empty())
head += format(" %s", iface.instance_name);
if(iface.array)
head += " (linked)";
append(head);
- begin_sub();
- last_branch();
+ vector<Branch> branches;
if(iface.type_declaration)
append(format("Type: %%%d %s", get_label(*iface.type_declaration), iface.type_declaration->name));
- else if(iface.members)
- iface.members->visit(*this);
- end_sub();
+ if(iface.layout)
+ branches.push_back(Branch("Layout", iface.layout.get()));
+ if(iface.members)
+ branches.push_back(Branch("Members", iface.members.get()));
+ append_subtree(branches);
}
void DumpTree::visit(FunctionDeclaration &func)