Repository: incubator-freemarker Updated Branches: refs/heads/2.3 9c8f7ab74 -> 6442fd765
FREEMARKER-83: Handle nicely when the callPlace is null Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/81e33b95 Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/81e33b95 Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/81e33b95 Branch: refs/heads/2.3 Commit: 81e33b951e3df281715852aad32d2d223fbd2059 Parents: 7adecae Author: ddekany <ddek...@apache.org> Authored: Fri Mar 9 23:01:57 2018 +0100 Committer: ddekany <ddek...@apache.org> Committed: Fri Mar 9 23:01:57 2018 +0100 ---------------------------------------------------------------------- src/main/java/freemarker/core/BuiltinVariable.java | 3 ++- src/main/java/freemarker/core/Environment.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/81e33b95/src/main/java/freemarker/core/BuiltinVariable.java ---------------------------------------------------------------------- diff --git a/src/main/java/freemarker/core/BuiltinVariable.java b/src/main/java/freemarker/core/BuiltinVariable.java index 13dd67d..5e435db 100644 --- a/src/main/java/freemarker/core/BuiltinVariable.java +++ b/src/main/java/freemarker/core/BuiltinVariable.java @@ -260,7 +260,8 @@ final class BuiltinVariable extends Expression { throw new TemplateException( "Can't get ." + name + " here, as there's no macro call in context.", env); } - String name = ctx.callPlace.getTemplate().getName(); + TemplateElement callPlace = ctx.callPlace; + String name = callPlace != null ? callPlace.getTemplate().getName() : null; return name != null ? new SimpleScalar(name) : TemplateScalarModel.EMPTY_STRING; } http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/81e33b95/src/main/java/freemarker/core/Environment.java ---------------------------------------------------------------------- diff --git a/src/main/java/freemarker/core/Environment.java b/src/main/java/freemarker/core/Environment.java index 2d4b585..2b3ba1f 100644 --- a/src/main/java/freemarker/core/Environment.java +++ b/src/main/java/freemarker/core/Environment.java @@ -594,7 +594,8 @@ public final class Environment extends Configurable { void invokeNestedContent(BodyInstruction.Context bodyCtx) throws TemplateException, IOException { Macro.Context invokingMacroContext = getCurrentMacroContext(); LocalContextStack prevLocalContextStack = localContextStack; - TemplateElement[] nestedContentBuffer = invokingMacroContext.callPlace.getChildBuffer(); + TemplateElement callPlace = invokingMacroContext.callPlace; + TemplateElement[] nestedContentBuffer = callPlace != null ? callPlace.getChildBuffer() : null; if (nestedContentBuffer != null) { this.currentMacroContext = invokingMacroContext.prevMacroContext; currentNamespace = invokingMacroContext.nestedContentNamespace;