/** * Type-check the expression */ /*@NotNull*/ public Expression typeCheck(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo) throws XPathException { getLhs().typeCheck(visitor, contextInfo); getRhs().typeCheck(visitor, contextInfo); boolean backCompat = visitor.getStaticContext().isInBackwardsCompatibleMode(); TypeChecker tc = visitor.getConfiguration().getTypeChecker(backCompat); RoleDiagnostic role0 = new RoleDiagnostic(RoleDiagnostic.BINARY_EXPR, "to", 0); setLhsExpression(tc.staticTypeCheck( getLhsExpression(), SequenceType.OPTIONAL_INTEGER, role0, visitor)); RoleDiagnostic role1 = new RoleDiagnostic(RoleDiagnostic.BINARY_EXPR, "to", 1); setRhsExpression(tc.staticTypeCheck( getRhsExpression(), SequenceType.OPTIONAL_INTEGER, role1, visitor)); return makeConstantRange(); }
/** * Type-check the expression */ /*@NotNull*/ public Expression typeCheck(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo) throws XPathException { getLhs().typeCheck(visitor, contextInfo); getRhs().typeCheck(visitor, contextInfo); boolean backCompat = visitor.getStaticContext().isInBackwardsCompatibleMode(); TypeChecker tc = visitor.getConfiguration().getTypeChecker(backCompat); RoleDiagnostic role0 = new RoleDiagnostic(RoleDiagnostic.BINARY_EXPR, "to", 0); setLhsExpression(tc.staticTypeCheck( getLhsExpression(), SequenceType.OPTIONAL_INTEGER, role0, visitor)); RoleDiagnostic role1 = new RoleDiagnostic(RoleDiagnostic.BINARY_EXPR, "to", 1); setRhsExpression(tc.staticTypeCheck( getRhsExpression(), SequenceType.OPTIONAL_INTEGER, role1, visitor)); return makeConstantRange(); }