pub trait Locate: Any {
// Required method
fn find_loc(
&self,
locator: &mut Locator,
file_path: FilePath,
code: &str,
offset: usize,
) -> Location;
// Provided methods
fn relocate(&self, locator: &mut Locator, loc: Location) { ... }
fn locate(
&self,
locator: &mut Locator,
file_path: FilePath,
code: &str,
offset: usize,
) -> Location { ... }
fn location(&self) -> Location { ... }
fn _location(&self, locator: &Locator) -> Location { ... }
fn location_message(&self) -> String { ... }
fn code(&self) -> String { ... }
}