]> git.tdb.fi Git - libs/gl.git/blobdiff - source/programcompiler.cpp
Improve formatting of an empty loop body
[libs/gl.git] / source / programcompiler.cpp
index 88ec6e59d88054480457be91cd0da9e14f201f02..fd9c50dbbb5c2879e55fb528035f7527aef126ff 100644 (file)
@@ -560,7 +560,14 @@ void ProgramCompiler::Formatter::visit(Iteration &iter)
                iter.loop_expression->visit(*this);
        }
        formatted += ')';
-       iter.body.visit(*this);
+
+       if(iter.body.body.empty())
+               formatted += " { }";
+       else
+       {
+               formatted += '\n';
+               iter.body.visit(*this);
+       }
 }
 
 void ProgramCompiler::Formatter::visit(Return &ret)
@@ -1658,6 +1665,12 @@ void ProgramCompiler::NodeRemover::visit(VariableDeclaration &var)
                var.init_expression = 0;
 }
 
+void ProgramCompiler::NodeRemover::visit(Iteration &iter)
+{
+       if(to_remove.count(iter.init_statement.get()))
+               iter.init_statement = 0;
+}
+
 
 void ProgramCompiler::PrecisionRemover::visit(Precision &)
 {