Enum jj_lib::revset::ResolvedExpression
source · pub enum ResolvedExpression {
Commits(Vec<CommitId>),
Ancestors {
heads: Box<ResolvedExpression>,
generation: Range<u64>,
},
Range {
roots: Box<ResolvedExpression>,
heads: Box<ResolvedExpression>,
generation: Range<u64>,
},
DagRange {
roots: Box<ResolvedExpression>,
heads: Box<ResolvedExpression>,
generation_from_roots: Range<u64>,
},
Reachable {
sources: Box<ResolvedExpression>,
domain: Box<ResolvedExpression>,
},
Heads(Box<ResolvedExpression>),
Roots(Box<ResolvedExpression>),
Latest {
candidates: Box<ResolvedExpression>,
count: usize,
},
Union(Box<ResolvedExpression>, Box<ResolvedExpression>),
FilterWithin {
candidates: Box<ResolvedExpression>,
predicate: ResolvedPredicateExpression,
},
Intersection(Box<ResolvedExpression>, Box<ResolvedExpression>),
Difference(Box<ResolvedExpression>, Box<ResolvedExpression>),
}Expand description
Describes evaluation plan of revset expression.
Unlike RevsetExpression, this doesn’t contain unresolved symbols or View
properties.
Use RevsetExpression API to build a query programmatically.
Variants§
Commits(Vec<CommitId>)
Ancestors
Range
Commits that are ancestors of heads but not ancestors of roots.
DagRange
Commits that are descendants of roots and ancestors of heads.
Reachable
Commits reachable from sources within domain.
Heads(Box<ResolvedExpression>)
Roots(Box<ResolvedExpression>)
Latest
Union(Box<ResolvedExpression>, Box<ResolvedExpression>)
FilterWithin
Intersects candidates with predicate by filtering.
Intersection(Box<ResolvedExpression>, Box<ResolvedExpression>)
Intersects expressions by merging.
Difference(Box<ResolvedExpression>, Box<ResolvedExpression>)
Implementations§
Trait Implementations§
source§impl Clone for ResolvedExpression
impl Clone for ResolvedExpression
source§fn clone(&self) -> ResolvedExpression
fn clone(&self) -> ResolvedExpression
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for ResolvedExpression
impl Debug for ResolvedExpression
source§impl PartialEq for ResolvedExpression
impl PartialEq for ResolvedExpression
source§fn eq(&self, other: &ResolvedExpression) -> bool
fn eq(&self, other: &ResolvedExpression) -> bool
This method tests for
self and other values to be equal, and is used
by ==.impl Eq for ResolvedExpression
impl StructuralPartialEq for ResolvedExpression
Auto Trait Implementations§
impl Freeze for ResolvedExpression
impl !RefUnwindSafe for ResolvedExpression
impl !Send for ResolvedExpression
impl !Sync for ResolvedExpression
impl Unpin for ResolvedExpression
impl !UnwindSafe for ResolvedExpression
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more