To retain backwards compatibility, the old as
well as the new methods may live together.
Ant's IntrospectionHelper knows that it should
pick the method that takes in a File as its
parameter. The String version should be
reworked to invoke the new method.
----- Original Message -----
From: "Antoine Levy-Lambert" <[EMAIL PROTECTED]>
To: "Ant Developers List" <[EMAIL PROTECTED]>
Sent: Wednesday, June 25, 2003 2:40 PM
Subject: Re: cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/optional
ANTLR.java
> I would go for a further change :
> in ANTLR.java :
> change the signature of
> public void setGlib(String superGrammar) {
> to
> public void setGlib(File superGrammar) {
> which would have avoided the problem in the first place.
> Or do we prefer not to change signatures, even when they are not well
> chosen, to maintain API compatibility ?
>
> Antoine
>
> ----- Original Message -----
> From: <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, June 25, 2003 8:35 PM
> Subject: cvs commit: ant/src/main/org/apache/tools/ant/taskdefs/optional
> ANTLR.java
>
>
> > antoine 2003/06/25 11:35:28
> >
> > Modified: src/main/org/apache/tools/ant/taskdefs/optional
ANTLR.java
> > Log:
> > All the tests in ANTLRTest.java involving a super-grammar file were
> failing on Windows.
> > This change fixes the problem.
> >
> > Revision Changes Path
> > 1.28 +11 -1
> ant/src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java
> >
> > Index: ANTLR.java
> > ===================================================================
> > RCS file:
> /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/ANTLR.java,v
> > retrieving revision 1.27
> > retrieving revision 1.28
> > diff -u -r1.27 -r1.28
> > --- ANTLR.java 21 May 2003 13:29:55 -0000 1.27
> > +++ ANTLR.java 25 Jun 2003 18:35:28 -0000 1.28
> > @@ -66,6 +66,7 @@
> > import org.apache.tools.ant.taskdefs.Execute;
> > import org.apache.tools.ant.taskdefs.LogOutputStream;
> > import org.apache.tools.ant.taskdefs.PumpStreamHandler;
> > +import org.apache.tools.ant.taskdefs.condition.Os;
> > import org.apache.tools.ant.types.Commandline;
> > import org.apache.tools.ant.types.CommandlineJava;
> > import org.apache.tools.ant.types.Path;
> > @@ -143,9 +144,18 @@
> >
> > /**
> > * Sets an optional super grammar file.
> > + * @TODO change the semantic from String to File
> > */
> > public void setGlib(String superGrammar) {
> > - this.superGrammar = superGrammar;
> > + String sg = null;
> > + if (Os.isFamily("dos")) {
> > + sg = superGrammar.replace('\\','/');
> > + }
> > + else
> > + {
> > + sg = superGrammar;
> > + }
> > + this.superGrammar = sg;
> > }
> >
> > /**
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]