// the possible abstract schema names
if (!expression.hasEntityType()) {
// If the type of the path expression is resolvable,
// then filter the abstract schema types
IType type = queryContext.getType(collectionValuedPathExpression);
if (type.isResolvable()) {
addEntities(type);
}
else {
addEntities();
}
}
}
}
// After "AS "
if (expression.hasAs() &&
expression.hasSpaceAfterAs()) {
length += AS.length() + SPACE_LENGTH;
// Right after "AS "
if (position == length) {
// If the type of the path expression is resolvable,
// then filter the abstract schema types
IType type = queryContext.getType(expression.getCollectionValuedPathExpression());
if (type.isResolvable()) {
addEntities(type);
}
else {
addEntities();
}