source_index(0),
source_line(1),
indent(0),
- parameter_list(false)
+ parameter_list(false),
+ omit_builtin(false)
{ }
const string &Formatter::apply(Stage &s)
{
stage = &s;
+ omit_builtin = true;
const Version &ver = s.required_features.glsl_version;
bool first = true;
for(NodeList<Statement>::iterator i=block.body.begin(); i!=block.body.end(); ++i)
{
- if((*i)->source<=BUILTIN_SOURCE)
+ if(omit_builtin && (*i)->source<=BUILTIN_SOURCE)
continue;
if(!first)
append('\n');
assign.right->visit(*this);
}
+void Formatter::visit(TernaryExpression &ternary)
+{
+ ternary.condition->visit(*this);
+ append(ternary.oper->token);
+ ternary.true_expr->visit(*this);
+ if(ternary.oper->token[0]=='?')
+ append(':');
+ ternary.false_expr->visit(*this);
+}
+
void Formatter::visit(FunctionCall &call)
{
append(format("%s(", call.name));