[javacc] 37/44: Fixed a regression causing the encountered/expected token list to be empty (https://java.net/jira/browse/JAVACC-244)

Emmanuel Bourg ebourg-guest at moszumanska.debian.org
Fri Nov 18 10:23:05 UTC 2016


This is an automated email from the git hooks/post-receive script.

ebourg-guest pushed a commit to branch master
in repository javacc.

commit 96c7634caa69aec2fbb6d39cf9cf4058aa832970
Author: Emmanuel Bourg <ebourg at apache.org>
Date:   Thu Jun 6 14:09:53 2013 +0000

    Fixed a regression causing the encountered/expected token list to be empty (https://java.net/jira/browse/JAVACC-244)
---
 debian/changelog             |  2 ++
 debian/patches/ParseGen.diff | 36 ++++++++++++++++++++++++++++++++++++
 debian/patches/series        |  1 +
 3 files changed, 39 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 5be881c..4227375 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,7 @@
 javacc (5.0-5) unstable; urgency=low
 
+  * Fixed a regression causing the encountered/expected token list to be empty
+    (see https://java.net/jira/browse/JAVACC-244)
   * Fixed the watch file
   * Enabled the unit tests
   * debian/control:
diff --git a/debian/patches/ParseGen.diff b/debian/patches/ParseGen.diff
new file mode 100644
index 0000000..671b38f
--- /dev/null
+++ b/debian/patches/ParseGen.diff
@@ -0,0 +1,36 @@
+Description: Fixes a regression causing the encountered/expected token list to be empty
+Author: Dag H. Wanvik <dag.wanvik at oracle.com>
+Forwarded: yes
+Bug: https://java.net/jira/browse/JAVACC-244
+--- a/src/org/javacc/parser/ParseGen.java
++++ b/src/org/javacc/parser/ParseGen.java
+@@ -570,21 +570,24 @@
+           ostr.println("      for (int i = 0; i < jj_endpos; i++) {");
+           ostr.println("        jj_expentry[i] = jj_lasttokens[i];");
+           ostr.println("      }");
++          ostr.println("      boolean exists = false;");
+         if (!Options.getGenerateGenerics())
+-          ostr.println("      jj_entries_loop: for (java.util.Iterator it = jj_expentries.iterator(); it.hasNext();) {");
++          ostr.println("      for (java.util.Iterator it = jj_expentries.iterator(); it.hasNext();) {");
+         else
+-          ostr.println("      jj_entries_loop: for (java.util.Iterator<?> it = jj_expentries.iterator(); it.hasNext();) {");
++          ostr.println("      for (java.util.Iterator<?> it = jj_expentries.iterator(); it.hasNext();) {");
++          ostr.println("        exists = true;");
+           ostr.println("        int[] oldentry = (int[])(it.next());");
+           ostr.println("        if (oldentry.length == jj_expentry.length) {");
+           ostr.println("          for (int i = 0; i < jj_expentry.length; i++) {");
+           ostr.println("            if (oldentry[i] != jj_expentry[i]) {");
+-          ostr.println("              continue jj_entries_loop;");
++          ostr.println("              exists = false;");
++          ostr.println("              break;");
+           ostr.println("            }");
+           ostr.println("          }");
+-          ostr.println("          jj_expentries.add(jj_expentry);");
+-          ostr.println("          break jj_entries_loop;");
++          ostr.println("          if (exists) break;");
+           ostr.println("        }");
+           ostr.println("      }");
++          ostr.println("      if (!exists) jj_expentries.add(jj_expentry);");
+           ostr.println("      if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;");
+           ostr.println("    }");
+           ostr.println("  }");
diff --git a/debian/patches/series b/debian/patches/series
index bc1e445..3ba2cad 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 executables.patch
 javacctarget.patch
+ParseGen.diff

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/javacc.git



More information about the pkg-java-commits mailing list