Project

Profile

Help

Bug #1583

closed

NullPointerException when cast to a built-in list type IDREFS using function literal

Added by O'Neil Delpratt almost 12 years ago. Updated over 11 years ago.

Status:
Closed
Priority:
Normal
Category:
Internals
Sprint/Milestone:
-
Start date:
2012-07-12
Due date:
% Done:

100%

Estimated time:
Legacy ID:
Applies to branch:
Fix Committed on Branch:
Fixed in Maintenance Release:
Platforms:

Description

The following query (taken from W3C FOTS:CastAs-ListType-9) causes Saxon to throw an NullPointerException:

let $f := xs:IDREFS#1 return $f("a b c")
java.lang.NullPointerException
	at net.sf.saxon.expr.Atomizer.simplify(Atomizer.java:63)
	at net.sf.saxon.expr.parser.ExpressionVisitor.simplify(ExpressionVisitor.java:179)
	at net.sf.saxon.expr.parser.TypeChecker.staticTypeCheck(TypeChecker.java:182)
	at com.saxonica.expr.CastToList.typeCheck(CastToList.java:75)
	at com.saxonica.functions.hof.AbstractFunctionItem.bind(AbstractFunctionItem.java:117)
	at com.saxonica.expr.XPath30Parser.parseLiteralFunctionItem(XPath30Parser.java:123)
	at com.saxonica.expr.Query30Parser.parseLiteralFunctionItem(Query30Parser.java:136)
	at net.sf.saxon.expr.parser.ExpressionParser.parseBasicStep(ExpressionParser.java:1833)
	at net.sf.saxon.expr.parser.ExpressionParser.parseStepExpression(ExpressionParser.java:1654)
	at net.sf.saxon.expr.parser.ExpressionParser.parseRelativePath(ExpressionParser.java:1573)
	at net.sf.saxon.expr.parser.ExpressionParser.parsePathExpression(ExpressionParser.java:1557)
	at net.sf.saxon.expr.parser.ExpressionParser.parseUnaryExpression(ExpressionParser.java:1447)
	at net.sf.saxon.expr.parser.ExpressionParser.parseExprSingle(ExpressionParser.java:517)
	at net.sf.saxon.query.QueryParser.parseLetClause(QueryParser.java:2151)
	at net.sf.saxon.query.QueryParser.parseFLWORExpression(QueryParser.java:1878)
	at net.sf.saxon.expr.parser.ExpressionParser.parseExprSingle(ExpressionParser.java:490)
	at net.sf.saxon.expr.parser.ExpressionParser.parseExpression(ExpressionParser.java:455)
	at net.sf.saxon.query.QueryParser.parseQuery(QueryParser.java:329)
	at net.sf.saxon.query.QueryParser.makeXQueryExpression(QueryParser.java:140)
	at net.sf.saxon.query.StaticQueryContext.compileQuery(StaticQueryContext.java:536)
	at net.sf.saxon.s9api.XQueryCompiler.compile(XQueryCompiler.java:454)
	at com.saxonica.testdriver.FOTestSuiteDriver.runTestCase(FOTestSuiteDriver.java:1110)

Actions #1

Updated by O'Neil Delpratt almost 12 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Cause: The container for the query has not been set.

Fix applied to the bind method in the ConstructorFunctionLibrary class and committed to subversion.

Actions #2

Updated by O'Neil Delpratt over 11 years ago

  • Status changed from Resolved to Closed
  • Fixed in version set to 9.4.0.6

Please register to edit this issue

Also available in: Atom PDF