diff options
Diffstat (limited to 'lib/handlebars/compiler/compiler.js')
-rw-r--r-- | lib/handlebars/compiler/compiler.js | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/handlebars/compiler/compiler.js b/lib/handlebars/compiler/compiler.js index c1ef47e..59a425f 100644 --- a/lib/handlebars/compiler/compiler.js +++ b/lib/handlebars/compiler/compiler.js @@ -217,13 +217,16 @@ Compiler.prototype = { this.opcode('pushProgram', program); this.opcode('pushProgram', inverse); + path.strict = true; this.accept(path); this.opcode('invokeAmbiguous', name, isBlock); }, simpleSexpr: function(sexpr) { - this.accept(sexpr.path); + let path = sexpr.path; + path.strict = true; + this.accept(path); this.opcode('resolvePossibleLambda'); }, @@ -237,6 +240,7 @@ Compiler.prototype = { } else if (this.options.knownHelpersOnly) { throw new Exception('You specified knownHelpersOnly, but used the unknown helper ' + name, sexpr); } else { + path.strict = true; path.falsy = true; this.accept(path); @@ -259,9 +263,9 @@ Compiler.prototype = { this.opcode('pushContext'); } else if (path.data) { this.options.data = true; - this.opcode('lookupData', path.depth, path.parts); + this.opcode('lookupData', path.depth, path.parts, path.strict); } else { - this.opcode('lookupOnContext', path.parts, path.falsy, scoped); + this.opcode('lookupOnContext', path.parts, path.falsy, path.strict, scoped); } }, |