src/java.xml/share/classes/com/sun/org/apache/xpath/internal/axes/WalkerFactory.java
equal
deleted
inserted
replaced
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); |