santiagopg    02/05/14 12:47:22

  Modified:    java/src/org/apache/xalan/xsltc/compiler Step.java
  Log:
  Fixed looping problem reported by Girish.
  
  Revision  Changes    Path
  1.32      +6 -25     xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Step.java
  
  Index: Step.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/compiler/Step.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- Step.java 24 Apr 2002 17:03:15 -0000      1.31
  +++ Step.java 14 May 2002 19:47:22 -0000      1.32
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: Step.java,v 1.31 2002/04/24 17:03:15 santiagopg Exp $
  + * @(#)$Id: Step.java,v 1.32 2002/05/14 19:47:22 santiagopg Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -224,14 +224,7 @@
            _type = Type.NodeSet;
        }
        else {
  -         // Special case for '@attr' with no parent or predicates
  -         if ((_axis == Axis.ATTRIBUTE) && (_nodeType!=NodeTest.ATTRIBUTE) &&
  -             (!hasParentPattern()) && (!_hadPredicates) && (!isPredicate())) {
  -             _type = Type.Node;
  -         }
  -         else {
  -             _type = Type.NodeSet;
  -         }
  +         _type = Type.NodeSet;
        }
   
        // Type check all predicates (expressions applied to the step)
  @@ -303,25 +296,13 @@
            // If it is an attribute but not '@*' or '@attr' with a parent
            if ((_axis == Axis.ATTRIBUTE) &&
                (_nodeType != NodeTest.ATTRIBUTE) && (!hasParentPattern())) {
  -             int node = cpg.addInterfaceMethodref(DOM_INTF,
  -                                                  "getAttributeNode",
  -                                                  "(II)I");
                int iter = cpg.addInterfaceMethodref(DOM_INTF,
                                                     "getTypedAxisIterator",
                                                     "(II)"+NODE_ITERATOR_SIG);
  -             if (_type instanceof NodeType) {
  -                 il.append(methodGen.loadDOM());
  -                 il.append(new PUSH(cpg, _nodeType));
  -                 il.append(methodGen.loadContextNode());
  -                 il.append(new INVOKEINTERFACE(node, 3));
  -             }
  -             // If it is the case '@attr[P_1]...[P_k]'
  -             else if (_type instanceof NodeSetType) {
  -                 il.append(methodGen.loadDOM());
  -                 il.append(new PUSH(cpg, Axis.ATTRIBUTE));
  -                 il.append(new PUSH(cpg, _nodeType));
  -                 il.append(new INVOKEINTERFACE(iter, 3));
  -             }
  +             il.append(methodGen.loadDOM());
  +             il.append(new PUSH(cpg, Axis.ATTRIBUTE));
  +             il.append(new PUSH(cpg, _nodeType));
  +             il.append(new INVOKEINTERFACE(iter, 3));
                return;
            }
   
  
  
  

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

Reply via email to