pub trait File<'a, Q: QueryContext> {
// Required methods
fn name(&self, files: &FileRegistry<'a, Q>) -> Q::ResolvedPattern<'a>;
fn absolute_path(
&self,
files: &FileRegistry<'a, Q>,
language: &Q::Language<'a>,
) -> GritResult<Q::ResolvedPattern<'a>>;
fn body(&self, files: &FileRegistry<'a, Q>) -> Q::ResolvedPattern<'a>;
fn binding(&self, files: &FileRegistry<'a, Q>) -> Q::ResolvedPattern<'a>;
}