src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/WalkerFactory.java
changeset 58627 92a18902b92c
parent 48409 5ab69533994b
equal deleted inserted replaced
58626:a9ed3d93cca3 58627:92a18902b92c
     1 /*
     1 /*
     2  * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
     3  */
     3  */
     4 /*
     4 /*
     5  * Licensed to the Apache Software Foundation (ASF) under one or more
     5  * Licensed to the Apache Software Foundation (ASF) under one or more
     6  * contributor license agreements.  See the NOTICE file distributed with
     6  * contributor license agreements.  See the NOTICE file distributed with
     7  * this work for additional information regarding copyright ownership.
     7  * this work for additional information regarding copyright ownership.
    39 /**
    39 /**
    40  * This class is both a factory for XPath location path expressions,
    40  * This class is both a factory for XPath location path expressions,
    41  * which are built from the opcode map output, and an analysis engine
    41  * which are built from the opcode map output, and an analysis engine
    42  * for the location path expressions in order to provide optimization hints.
    42  * for the location path expressions in order to provide optimization hints.
    43  *
    43  *
    44  * @LastModified: Oct 2017
    44  * @LastModified: May 2019
    45  */
    45  */
    46 public class WalkerFactory
    46 public class WalkerFactory
    47 {
    47 {
    48 
    48 
    49   /**
    49   /**
  1006       {
  1006       {
  1007       case OpCodes.OP_VARIABLE :
  1007       case OpCodes.OP_VARIABLE :
  1008       case OpCodes.OP_EXTFUNCTION :
  1008       case OpCodes.OP_EXTFUNCTION :
  1009       case OpCodes.OP_FUNCTION :
  1009       case OpCodes.OP_FUNCTION :
  1010       case OpCodes.OP_GROUP :
  1010       case OpCodes.OP_GROUP :
  1011         expr = compiler.compile(opPos);
  1011         expr = compiler.compileExpression(opPos);
  1012         break;
  1012         break;
  1013       default :
  1013       default :
  1014         expr = compiler.compile(opPos + 2);
  1014         expr = compiler.compileExpression(opPos + 2);
  1015       }
  1015       }
  1016 
  1016 
  1017       axis = Axis.FILTEREDLIST;
  1017       axis = Axis.FILTEREDLIST;
  1018       predicateAxis = Axis.FILTEREDLIST;
  1018       predicateAxis = Axis.FILTEREDLIST;
  1019       ai = new FunctionPattern(expr, axis, predicateAxis);
  1019       ai = new FunctionPattern(expr, axis, predicateAxis);