Browse Source

What has been -traceTreeWalker in ANTLR 2.7.0 has become

-traceTreeParser in 2.7.2

PR: 20020


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@274605 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 22 years ago
parent
commit
8a2fee91ba
1 changed files with 25 additions and 4 deletions
  1. +25
    -4
      src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java

+ 25
- 4
src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java View File

@@ -59,6 +59,7 @@ import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import org.apache.tools.ant.AntClassLoader;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
@@ -337,7 +338,11 @@ public class ANTLR extends Task {
commandline.createArgument().setValue("-traceLexer");
}
if (traceTreeWalker) {
commandline.createArgument().setValue("-traceTreeWalker");
if (is272()) {
commandline.createArgument().setValue("-traceTreeParser");
} else {
commandline.createArgument().setValue("-traceTreeWalker");
}
}
if (debug) {
commandline.createArgument().setValue("-debug");
@@ -385,9 +390,9 @@ public class ANTLR extends Task {
PumpStreamHandler psh =
new PumpStreamHandler(new LogOutputStream(this, Project.MSG_INFO),
new TeeOutputStream(
new LogOutputStream(this,
Project.MSG_WARN),
bos)
new LogOutputStream(this,
Project.MSG_WARN),
bos)
);
Execute exe = new Execute(psh, null);
exe.setAntRun(getProject());
@@ -406,4 +411,20 @@ public class ANTLR extends Task {
}
}
}

/**
* Whether the antlr version is 2.7.2 (or higher).
*
* @since Ant 1.6
*/
protected boolean is272() {
try {
AntClassLoader l = new AntClassLoader(getProject(),
commandline.getClasspath());
l.loadClass("antlr.Version");
return true;
} catch (ClassNotFoundException e) {
return false;
} // end of try-catch
}
}

Loading…
Cancel
Save