Interface IShiftable<T>
Represents the result of an incremental parse operation, supporting shifting of locations in response to edits.
Declaration
public interface IShiftable<T> where T : class, IShiftable<T>
Type Parameters
Name | Description |
---|---|
T |
The type of the object implementing this interface. |
Methods
ShiftBy(long)
Returns a copy of this result with all stored locations shifted by the specified amount.
Declaration
T ShiftBy(long amount)
Parameters
Type | Name | Description |
---|---|---|
amount |
The amount by which to shift locations. |
Returns
Type | Description |
---|---|
T |
A new result with shifted locations. |
Remarks
An implementation can simply return this
if
the object does not contain any source locations
that would need shifting.