geirm       01/05/29 21:47:40

  Modified:    src/java/org/apache/velocity/runtime/parser/node
                        ASTAndNode.java ASTOrNode.java
  Log:
  Fix to problem pointed out by 'regex'.
  
  Legal constructs such as
  
  #set($foo = (true || false))
  
  don't work.
  
  Well, they do now...
  
  Revision  Changes    Path
  1.6       +12 -1     
jakarta-velocity/src/java/org/apache/velocity/runtime/parser/node/ASTAndNode.java
  
  Index: ASTAndNode.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/runtime/parser/node/ASTAndNode.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ASTAndNode.java   2001/04/03 05:05:31     1.5
  +++ ASTAndNode.java   2001/05/30 04:47:38     1.6
  @@ -65,7 +65,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Jason van Zyl</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Geir Magnusson Jr.</a>
  - * @version $Id: ASTAndNode.java,v 1.5 2001/04/03 05:05:31 geirm Exp $ 
  + * @version $Id: ASTAndNode.java,v 1.6 2001/05/30 04:47:38 geirm Exp $ 
    */
   public class ASTAndNode extends SimpleNode
   {
  @@ -83,6 +83,17 @@
       public Object jjtAccept(ParserVisitor visitor, Object data)
       {
           return visitor.visit(this, data);
  +    }
  +
  +    /**
  +     *  Returns the value of the expression.
  +     *  Since the value of the expression is simply the boolean
  +     *  result of evaluate(), lets return that.
  +     */
  +    public Object value(InternalContextAdapter context )
  +        throws MethodInvocationException
  +    {
  +        return new Boolean( evaluate( context ) );
       }
   
       /**
  
  
  
  1.5       +13 -2     
jakarta-velocity/src/java/org/apache/velocity/runtime/parser/node/ASTOrNode.java
  
  Index: ASTOrNode.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/runtime/parser/node/ASTOrNode.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ASTOrNode.java    2001/03/19 17:17:53     1.4
  +++ ASTOrNode.java    2001/05/30 04:47:38     1.5
  @@ -66,7 +66,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Jason van Zyl</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Geir Magnusson Jr.</a>
  - * @version $Id: ASTOrNode.java,v 1.4 2001/03/19 17:17:53 geirm Exp $ 
  + * @version $Id: ASTOrNode.java,v 1.5 2001/05/30 04:47:38 geirm Exp $ 
   */
   public class ASTOrNode extends SimpleNode
   {
  @@ -87,6 +87,17 @@
       }
   
       /**
  +     *  Returns the value of the expression.
  +     *  Since the value of the expression is simply the boolean
  +     *  result of evaluate(), lets return that.
  +     */
  +    public Object value(InternalContextAdapter context )
  +        throws MethodInvocationException
  +    {
  +        return new Boolean( evaluate( context ) );
  +    }
  +
  +    /**
        *  the logical or :
        *    the rule :
        *      left || null -> left
  @@ -95,7 +106,7 @@
        *      left || right ->  left || right
        */
       public boolean evaluate( InternalContextAdapter context)
  -    throws MethodInvocationException
  +        throws MethodInvocationException
       {
           Node left = jjtGetChild(0);
           Node right = jjtGetChild(1);
  
  
  

Reply via email to