[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