From 355addb5c3a15fbcaa082cc1956e5c03460e77b5 Mon Sep 17 00:00:00 2001 From: jules Date: Fri, 7 Jul 2017 14:51:25 +0100 Subject: [PATCH] BLOCKS API: Added a couple of missing simplification steps in the littlefoot compiler --- .../littlefoot/juce_LittleFootCompiler.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h b/modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h index f62e07a54b..0d0a55b9e2 100644 --- a/modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h +++ b/modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h @@ -1516,6 +1516,15 @@ private: cg.continueTarget = oldContinueTarget; } + StatementPtr simplify (SyntaxTreeBuilder& stb) override + { + initialiser = initialiser->simplify (stb); + iterator = iterator->simplify (stb); + body = body->simplify (stb); + condition = condition->simplify (stb); + return this; + } + void visitSubStatements (Statement::Visitor& visit) const override { visit (condition); visit (initialiser); visit (iterator); visit (body); @@ -1548,6 +1557,12 @@ private: bool alwaysReturns() const override { return true; } + StatementPtr simplify (SyntaxTreeBuilder& stb) override + { + returnValue = returnValue->simplify (stb); + return this; + } + void visitSubStatements (Statement::Visitor& visit) const override { visit (returnValue);