/** * Perform optimisation of an expression and its subexpressions. This method * suppresses compile-time evaluation */ public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { operand = visitor.optimize(operand, contextItemType); return this; }
/** * Optimize the expression */ public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { operand = visitor.optimize(operand, contextItemType); return this; }
public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { for (int i = 0; i < arguments.length; i++) { if (arguments[i] != null) { arguments[i] = visitor.optimize(arguments[i], contextItemType); } } return this; }
public static void optimize(ExpressionVisitor visitor, WithParam[] params, ItemType contextItemType) throws XPathException { for (int i=0; i<params.length; i++) { visitor.optimize(params[i], contextItemType); // Expression select = params[i].getSelectExpression(); // if (select != null) { // params[i].setSelectExpression(select.optimize(opt, env, contextItemType)); // } } }
public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { for (int i = 0; i < arguments.length; i++) { if (arguments[i] != null) { arguments[i] = visitor.optimize(arguments[i], contextItemType); } } return this; }
/** * Perform optimisation of an expression and its subexpressions. This method * suppresses compile-time evaluation */ public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { operand = visitor.optimize(operand, contextItemType); return this; }
public static void optimize(ExpressionVisitor visitor, WithParam[] params, ItemType contextItemType) throws XPathException { for (int i=0; i<params.length; i++) { visitor.optimize(params[i], contextItemType); // Expression select = params[i].getSelectExpression(); // if (select != null) { // params[i].setSelectExpression(select.optimize(opt, env, contextItemType)); // } } }
public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { if (select != null) { select = visitor.optimize(select, contextItemType); adoptChildExpression(select); } return this; }
public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { child = visitor.optimize(child, contextItemType); adoptChildExpression(child); return this; }
public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { content = visitor.optimize(content, contextItemType); adoptChildExpression(content); return this; }
/** * Optimize the expression */ public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { operand = visitor.optimize(operand, contextItemType); return preEvaluate(visitor); }
public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { if (select != null) { select = visitor.optimize(select, contextItemType); adoptChildExpression(select); } return this; }
public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { attributeName = visitor.optimize(attributeName, contextItemType); return super.optimize(visitor, contextItemType); }
public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { select = visitor.optimize(select, contextItemType); adoptChildExpression(select); if (terminate != null) { terminate = visitor.optimize(terminate, contextItemType); adoptChildExpression(terminate); } return this; }
public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { attributeName = visitor.optimize(attributeName, contextItemType); return super.optimize(visitor, contextItemType); }
public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { select = visitor.optimize(select, contextItemType); separator = visitor.optimize(separator, contextItemType); if (select instanceof Literal && separator instanceof Literal) { XPathContext c = visitor.getStaticContext().makeEarlyEvaluationContext(); return Literal.makeLiteral(Value.asValue(evaluateItem(c))); } return this; }
public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { WithParam.optimize(visitor, actualParams, contextItemType); WithParam.optimize(visitor, tunnelParams, contextItemType); if (calledTemplateExpression != null) { calledTemplateExpression = visitor.optimize(calledTemplateExpression, contextItemType); adoptChildExpression(calledTemplateExpression); } return this; }
public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { operand = visitor.optimize(operand, contextItemType); if ((operand.getSpecialProperties() & StaticProperty.ORDERED_NODESET) != 0) { // this can happen as a result of further simplification return operand; } if (operand instanceof PathExpression) { return visitor.getConfiguration().getOptimizer().makeConditionalDocumentSorter( this, (PathExpression)operand); } return this; }
public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { WithParam.optimize(visitor, actualParams, contextItemType); WithParam.optimize(visitor, tunnelParams, contextItemType); select = visitor.typeCheck(select, contextItemType); // More info available second time around select = visitor.optimize(select, contextItemType); adoptChildExpression(select); if (Literal.isEmptySequence(select)) { return select; } return this; }
public Expression optimize(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException { TypeHierarchy th = visitor.getConfiguration().getTypeHierarchy(); setStartExpression(visitor.optimize(start, contextItemType)); setStepExpression(step.optimize(visitor, start.getItemType(th))); return promoteFocusIndependentSubexpressions(visitor, contextItemType); }