-struct InterfaceBlock: Statement
-{
- NodePtr<Layout> layout;
- std::string interface;
- std::string block_name;
- NodePtr<Block> members;
- std::string instance_name;
- bool array = false;
-
- /* An interface block's ultimate base type is always a struct. The
- immediate type may be either that same struct or an array of it. */
- TypeDeclaration *type_declaration = 0;
- StructDeclaration *struct_declaration = 0;
- InterfaceBlock *linked_block = 0;
-
- InterfaceBlock() = default;
- InterfaceBlock(const InterfaceBlock &);
- ~InterfaceBlock();
-
- virtual InterfaceBlock *clone() const { return new InterfaceBlock(*this); }
- virtual void visit(NodeVisitor &);
-};
-