void struct_declaration(struct_declaration ast, ArrayList list) { list.Add(new Pair(ast.id.str, ast)); list = new ArrayList(); foreach (declaration x in ast.body) { declaration(x, list); } ast.body = Sort(list); }
virtual public void struct_declaration(struct_declaration ast, int indent) { EmitattributeSectionList(ast.attrs, indent); EmitModifiers(ast.mods, indent, " "); Write("struct {0}", ast.id.str); if (ast.interfaces.Count > 0) { Write(": "); visit(ast.interfaces[0]); for (int i = 1; i < ast.interfaces.Count; i++) { Write(", "); visit(ast.interfaces[i]); } } WriteLine(" {{"); foreach (declaration d in ast.body) { visit(d, indent + 1); } WriteLine("}}", indent); }
public virtual void struct_declaration(struct_declaration ast) { declarationList(ast.body); }