minchau     2003/10/15 14:03:50

  Modified:    java/src/org/apache/xalan/xsltc/compiler Tag:
                        xslt20-compiled UnaryOpExpr.java LogicalExpr.java
                        Predicate.java RelationalExpr.java BinOpExpr.java
  Log:
  Fix for bugzilla 15327
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.6.6.1   +8 -1      
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/UnaryOpExpr.java
  
  Index: UnaryOpExpr.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/UnaryOpExpr.java,v
  retrieving revision 1.6
  retrieving revision 1.6.6.1
  diff -u -r1.6 -r1.6.6.1
  --- UnaryOpExpr.java  30 Jan 2003 18:46:02 -0000      1.6
  +++ UnaryOpExpr.java  15 Oct 2003 21:03:50 -0000      1.6.6.1
  @@ -85,6 +85,13 @@
        return(_left.hasPositionCall());
       }
   
  +    /**
  +     * Returns true if this expressions contains a call to last()
  +     */
  +    public boolean hasLastCall() {
  +            return(_left.hasLastCall());
  +    }
  +    
       public void setParser(Parser parser) {
        super.setParser(parser);
        _left.setParser(parser);
  
  
  
  1.12.6.1  +8 -1      
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/LogicalExpr.java
  
  Index: LogicalExpr.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/LogicalExpr.java,v
  retrieving revision 1.12
  retrieving revision 1.12.6.1
  diff -u -r1.12 -r1.12.6.1
  --- LogicalExpr.java  30 Jan 2003 18:46:01 -0000      1.12
  +++ LogicalExpr.java  15 Oct 2003 21:03:50 -0000      1.12.6.1
  @@ -105,6 +105,13 @@
       }
   
       /**
  +     * Returns true if this expressions contains a call to last()
  +     */
  +    public boolean hasLastCall() {
  +            return (_left.hasLastCall() || _right.hasLastCall());
  +    }
  +    
  +    /**
        * Returns an object representing the compile-time evaluation 
        * of an expression. We are only using this for function-available
        * and element-available at this time.
  
  
  
  1.29.2.1  +5 -2      
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Predicate.java
  
  Index: Predicate.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Predicate.java,v
  retrieving revision 1.29
  retrieving revision 1.29.2.1
  diff -u -r1.29 -r1.29.2.1
  --- Predicate.java    22 Jul 2003 16:22:39 -0000      1.29
  +++ Predicate.java    15 Oct 2003 21:03:50 -0000      1.29.2.1
  @@ -260,9 +260,12 @@
            }
   
            SyntaxTreeNode parent = getParent();
  -
  +        
            // Expand [last()] into [position() = last()]
            if ((_exp instanceof LastCall) ||
  +                //Fix for bug 22949, check for last() for any expression 
returns
  +                // NumberType            
  +                 _exp.hasLastCall()||
                (parent instanceof Pattern) ||
                (parent instanceof FilterExpr)) {
   
  
  
  
  1.16.6.1  +8 -1      
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/RelationalExpr.java
  
  Index: RelationalExpr.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/RelationalExpr.java,v
  retrieving revision 1.16
  retrieving revision 1.16.6.1
  diff -u -r1.16 -r1.16.6.1
  --- RelationalExpr.java       30 Jan 2003 18:46:01 -0000      1.16
  +++ RelationalExpr.java       15 Oct 2003 21:03:50 -0000      1.16.6.1
  @@ -109,6 +109,13 @@
        return false;
       }
   
  +    /**
  +     * Returns true if this expressions contains a call to last()
  +     */
  +    public boolean hasLastCall() {
  +            return (_left.hasLastCall() || _right.hasLastCall());
  +    }
  +    
       public boolean hasReferenceArgs() {
        return _left.getType() instanceof ReferenceType ||
            _right.getType() instanceof ReferenceType;
  
  
  
  1.9.6.1   +8 -1      
xml-xalan/java/src/org/apache/xalan/xsltc/compiler/BinOpExpr.java
  
  Index: BinOpExpr.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/BinOpExpr.java,v
  retrieving revision 1.9
  retrieving revision 1.9.6.1
  diff -u -r1.9 -r1.9.6.1
  --- BinOpExpr.java    30 Jan 2003 18:45:59 -0000      1.9
  +++ BinOpExpr.java    15 Oct 2003 21:03:50 -0000      1.9.6.1
  @@ -101,6 +101,13 @@
        return false;
       }
   
  +    /**
  +     * Returns true if this expressions contains a call to last()
  +     */
  +    public boolean hasLastCall() {
  +            return (_left.hasLastCall() || _right.hasLastCall());
  +    }
  +    
       public void setParser(Parser parser) {
        super.setParser(parser);
        _left.setParser(parser);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to