You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by dd...@apache.org on 2015/12/18 21:58:20 UTC
incubator-freemarker git commit: Added back FMParser.MixedContent and
OptionalBlock products for backward compatibility for those dared to call the
parser directly. We don't use them.
Repository: incubator-freemarker
Updated Branches:
refs/heads/2.3-gae f08867b60 -> 4fb95ebc9
Added back FMParser.MixedContent and OptionalBlock products for backward compatibility for those dared to call the parser directly. We don't use them.
Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/4fb95ebc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/4fb95ebc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/4fb95ebc
Branch: refs/heads/2.3-gae
Commit: 4fb95ebc9339c488c64ef72ba03aa97f21c59cb8
Parents: f08867b
Author: ddekany <dd...@apache.org>
Authored: Fri Dec 18 21:58:03 2015 +0100
Committer: ddekany <dd...@apache.org>
Committed: Fri Dec 18 21:58:03 2015 +0100
----------------------------------------------------------------------
.../core/TemplateElementArrayBuilder.java | 4 ++
src/main/javacc/FTL.jj | 60 ++++++++++++++++++++
2 files changed, 64 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/4fb95ebc/src/main/java/freemarker/core/TemplateElementArrayBuilder.java
----------------------------------------------------------------------
diff --git a/src/main/java/freemarker/core/TemplateElementArrayBuilder.java b/src/main/java/freemarker/core/TemplateElementArrayBuilder.java
index c18e48b..e44f12e 100644
--- a/src/main/java/freemarker/core/TemplateElementArrayBuilder.java
+++ b/src/main/java/freemarker/core/TemplateElementArrayBuilder.java
@@ -40,6 +40,10 @@ class TemplateElements {
int getCount() {
return count;
}
+
+ TemplateElement getFirst() {
+ return buffer != null ? buffer[0] : null;
+ }
TemplateElement getLast() {
return buffer != null ? buffer[count - 1] : null;
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/4fb95ebc/src/main/javacc/FTL.jj
----------------------------------------------------------------------
diff --git a/src/main/javacc/FTL.jj b/src/main/javacc/FTL.jj
index 254c27a..ad81e08 100644
--- a/src/main/javacc/FTL.jj
+++ b/src/main/javacc/FTL.jj
@@ -4003,6 +4003,66 @@ TemplateElements MixedContentElements() :
}
/**
+ * Not used anymore; kept for backward compatibility.
+ *
+ * @deprecated Use {@link #MixedContentElements} instead.
+ */
+MixedContent MixedContent() :
+{
+ MixedContent mixedContent = new MixedContent();
+ TemplateElement elem, begin = null;
+ mixedContentNesting++;
+}
+{
+ (
+ LOOKAHEAD(1) // Just tells javacc that we know what we're doing.
+ (
+ elem = PCData()
+ |
+ elem = StringOutput()
+ |
+ elem = NumericalOutput()
+ |
+ elem = FreemarkerDirective()
+ )
+ {
+ if (begin == null) {
+ begin = elem;
+ }
+ mixedContent.addElement(elem);
+ }
+ )+
+ {
+ mixedContentNesting--;
+ mixedContent.setLocation(template, begin, elem);
+ return mixedContent;
+ }
+}
+
+/**
+ * Not used anymore; kept for backward compatibility.
+ *
+ * <p>A production for a block of optional content.
+ * Returns an empty Text block if there is no
+ * content.
+ *
+ * @deprecated Use {@link #MixedContentElements} instead.
+ */
+TemplateElement OptionalBlock() :
+{
+ TemplateElement tp = null;
+}
+{
+ [
+ LOOKAHEAD(1) // has no effect but to get rid of a spurious warning.
+ tp = MixedContent()
+ ]
+ {
+ return tp != null ? tp : new TextBlock(CollectionUtils.EMPTY_CHAR_ARRAY, false);
+ }
+}
+
+/**
* A production freemarker text that may contain
* ${...} and #{...} but no directives.
*/