diff --git a/composer.json b/composer.json index b025e39..265c4d8 100644 --- a/composer.json +++ b/composer.json @@ -4,7 +4,7 @@ "license": "Apache-2.0", "minimum-stability": "dev", "require": { - "php": ">=5.5", + "php": ">=5.4", "ext-json": "*" }, "require-dev": { diff --git a/src/L20n/Compiler/Expression/ComplexString.php b/src/L20n/Compiler/Expression/ComplexString.php index 677cd28..c9f5f37 100644 --- a/src/L20n/Compiler/Expression/ComplexString.php +++ b/src/L20n/Compiler/Expression/ComplexString.php @@ -75,12 +75,13 @@ public function __invoke(Locals $locals, \stdClass $ctxdata = null, $prop = null } $parts[] = $part; } + $this->dirty = false; } catch (CompilerException $e) { + $this->dirty = false; throw new ValueException($e->getMessage()); } catch (\Exception $e) { - throw $e; - } finally { $this->dirty = false; + throw $e; } return [$locals, implode('', $parts)]; } diff --git a/src/L20n/Compiler/Expression/IndexExpression.php b/src/L20n/Compiler/Expression/IndexExpression.php index fbcd259..a0c6aa4 100644 --- a/src/L20n/Compiler/Expression/IndexExpression.php +++ b/src/L20n/Compiler/Expression/IndexExpression.php @@ -50,14 +50,16 @@ public function __invoke(Locals $locals, \stdClass $ctxdata = null, $prop = null $retval = null; try { $retval = Expression::_resolve($this->expression, $locals, $ctxdata); + $this->dirty = false; } catch (IndexException $e) { + $this->dirty = false; throw $e; } catch (CompilerException $e) { + $this->dirty = false; throw new IndexException($e->getMessage()); } catch (\Exception $e) { - throw $e; - } finally { $this->dirty = false; + throw $e; } return [$locals, $retval]; }