virtual void visit(NodeVisitor &);
};
+struct Precision: Node
+{
+ std::string precision;
+ std::string type;
+
+ virtual Precision *clone() const { return new Precision(*this); }
+ virtual void visit(NodeVisitor &);
+};
+
struct Layout: Node
{
struct Qualifier
bool constant;
std::string sampling;
std::string interface;
+ std::string precision;
std::string type;
StructDeclaration *type_declaration;
std::string name;
virtual void visit(FunctionCall &) { }
virtual void visit(ExpressionStatement &) { }
virtual void visit(Import &) { }
+ virtual void visit(Precision &) { }
virtual void visit(Layout &) { }
virtual void visit(InterfaceLayout &) { }
virtual void visit(StructDeclaration &) { }
struct TraversingVisitor: NodeVisitor
{
+ using NodeVisitor::visit;
virtual void visit(Block &);
virtual void visit(ParenthesizedExpression &);
virtual void visit(MemberAccess &);