func RelTraversalForExpr(expr Expression) (Traversal, Diagnostics) {
traversal, diags := AbsTraversalForExpr(expr)
if len(traversal) > 0 {
+ ret := make(Traversal, len(traversal))
+ copy(ret, traversal)
root := traversal[0].(TraverseRoot)
- traversal[0] = TraverseAttr{
+ ret[0] = TraverseAttr{
Name: root.Name,
SrcRange: root.SrcRange,
}
+ return ret, diags
}
return traversal, diags
}