namespace GL {
namespace SL {
+/** Formats the syntax tree as GLSL. */
class Formatter: private TraversingVisitor
{
private:
Stage *stage;
- Compiler::Mode mode;
std::string formatted;
unsigned source_index;
unsigned source_line;
unsigned indent;
bool parameter_list;
- std::string block_interface;
+ bool omit_builtin;
public:
Formatter();
- const std::string &apply(Stage &, Compiler::Mode);
+ const std::string &apply(Stage &);
const std::string &apply(Node &n) { n.visit(*this); return formatted; }
private:
virtual void visit(VariableReference &);
virtual void visit(InterfaceBlockReference &);
virtual void visit(MemberAccess &);
+ virtual void visit(Swizzle &);
virtual void visit(UnaryExpression &);
virtual void visit(BinaryExpression &);
virtual void visit(Assignment &);