]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/output.cpp
Store a pointer to operator info rather than the token in expressions
[libs/gl.git] / source / glsl / output.cpp
index 81f335735e80eb433fd746ae85216dc59b309e83..7d502739903a6cd8708cfc758aac470cad2fa17f 100644 (file)
@@ -112,25 +112,26 @@ void Formatter::visit(MemberAccess &memacc)
 
 void Formatter::visit(UnaryExpression &unary)
 {
-       if(unary.prefix)
-               append(unary.oper);
+       if(unary.oper->type==Operator::PREFIX)
+               append(unary.oper->token);
        unary.expression->visit(*this);
-       if(!unary.prefix)
-               append(unary.oper);
+       if(unary.oper->type==Operator::POSTFIX)
+               append(unary.oper->token);
 }
 
 void Formatter::visit(BinaryExpression &binary)
 {
        binary.left->visit(*this);
-       append(binary.oper);
+       append(binary.oper->token);
        binary.right->visit(*this);
-       append(binary.after);
+       if(binary.oper->token[0]=='[')
+               append(']');
 }
 
 void Formatter::visit(Assignment &assign)
 {
        assign.left->visit(*this);
-       append(format(" %s ", assign.oper));
+       append(format(" %s ", assign.oper->token));
        assign.right->visit(*this);
 }