return new YangPathExpr(filterExpr);
}
- public static YangExpr of(final YangExpr expr, final YangLocationPath locationPath) {
+ public static YangPathExpr of(final YangExpr expr, final YangLocationPath locationPath) {
return new WithLocation(expr, locationPath);
}
import org.opendaylight.yangtools.yang.xpath.api.YangNaryOperator;
import org.opendaylight.yangtools.yang.xpath.api.YangNegateExpr;
import org.opendaylight.yangtools.yang.xpath.api.YangNumberExpr;
+import org.opendaylight.yangtools.yang.xpath.api.YangPathExpr;
import org.opendaylight.yangtools.yang.xpath.api.YangVariableReferenceExpr;
import org.opendaylight.yangtools.yang.xpath.api.YangXPathAxis;
import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression;
}
verifyChildCount(expr, 3);
-
- // FIXME: this actually is a concatenation
- return parseOperator(expr.getChild(1)).exprWith(filter,
- parseRelativeLocationPath(getChild(expr, RelativeLocationPathContext.class, 2)));
+ final Deque<Step> steps = parseLocationPathSteps(getChild(expr, RelativeLocationPathContext.class, 2));
+ parseStepShorthand(expr.getChild(1)).ifPresent(steps::addFirst);
+ return YangPathExpr.of(filter, YangLocationPath.of(false, steps));
}
private YangExpr parsePredicate(final PredicateContext expr) {