Description
Currently it is possible to pass a null expression context to CanonicalQuery::canonicalize(). If this happens, CanonicalQuery will create one for you. This behavior is confusing and bug-prone. Instead, operations should create an ExpressionContext up front and thread it through the places which need it.