@@ -76,9 +76,7 @@ Base.show(io::IO, locus::SpanLocus{OpenLeftSpan}) = print(io, string("<", locus.
7676Base. show (io:: IO , locus:: SpanLocus{OpenRightSpan} ) = print (io, string (locus. position. start, " .." , " >" , locus. position. stop))
7777Base. show (io:: IO , locus:: Join ) = print (io, string (" join(" , join (locus. loc, " ," ), " )" ))
7878Base. show (io:: IO , locus:: Order ) = print (io, string (" order(" , join (locus. loc, " ," ), " )" ))
79- function Base. show (io:: IO , locus:: Complement )
80- print (io, " complement(" , string (locus. loc), " )" )
81- end
79+ Base. show (io:: IO , locus:: Complement ) = print (io, " complement(" , string (locus. loc), " )" )
8280
8381
8482Base.:(== )(loc1:: SpanLocus{ClosedSpan} , loc2:: SpanLocus{ClosedSpan} ) = loc1. position == loc2. position
185183
186184Shift the position of `Locus` loc by `p`.
187185"""
188- function shift (loc, p)
189-
190- end
186+ shift (p:: PointLocus{T} , n) where T = PointLocus (p. position + n, T)
187+ shift (p:: SpanLocus{T} , n) where T = SpanLocus (p. position .+ n, T)
188+ shift (P:: Join{T} , n) where T = Join (map (p -> shift (p, n), P. loc))
189+ shift (P:: Order{T} , n) where T = Order (map (p -> shift (p, n), P. loc))
190+ shift (p:: Complement , n) = Complement (shift (p. loc, n))
0 commit comments