jj_lib::revset

Type Alias ResolvedRevsetExpression

Source
pub type ResolvedRevsetExpression = RevsetExpression<ResolvedExpressionState>;
Expand description

RevsetExpression that never contains unresolved commit refs.

Aliased Type§

enum ResolvedRevsetExpression {
Show 25 variants None, All, VisibleHeads, Root, Commits(Vec<CommitId>), CommitRef(Infallible), Ancestors { heads: Rc<RevsetExpression<ResolvedExpressionState>>, generation: Range<u64>, }, Descendants { roots: Rc<RevsetExpression<ResolvedExpressionState>>, generation: Range<u64>, }, Range { roots: Rc<RevsetExpression<ResolvedExpressionState>>, heads: Rc<RevsetExpression<ResolvedExpressionState>>, generation: Range<u64>, }, DagRange { roots: Rc<RevsetExpression<ResolvedExpressionState>>, heads: Rc<RevsetExpression<ResolvedExpressionState>>, }, Reachable { sources: Rc<RevsetExpression<ResolvedExpressionState>>, domain: Rc<RevsetExpression<ResolvedExpressionState>>, }, Heads(Rc<RevsetExpression<ResolvedExpressionState>>), Roots(Rc<RevsetExpression<ResolvedExpressionState>>), ForkPoint(Rc<RevsetExpression<ResolvedExpressionState>>), Latest { candidates: Rc<RevsetExpression<ResolvedExpressionState>>, count: usize, }, Filter(RevsetFilterPredicate), AsFilter(Rc<RevsetExpression<ResolvedExpressionState>>), AtOperation { operation: Infallible, candidates: Rc<RevsetExpression<ResolvedExpressionState>>, }, WithinVisibility { candidates: Rc<RevsetExpression<ResolvedExpressionState>>, visible_heads: Vec<CommitId>, }, Coalesce(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>), Present(Rc<RevsetExpression<ResolvedExpressionState>>), NotIn(Rc<RevsetExpression<ResolvedExpressionState>>), Union(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>), Intersection(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>), Difference(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>),
}

Variants§

§

None

§

All

§

VisibleHeads

§

Root

§

Commits(Vec<CommitId>)

§

CommitRef(Infallible)

§

Ancestors

Fields

§heads: Rc<RevsetExpression<ResolvedExpressionState>>
§generation: Range<u64>
§

Descendants

Fields

§roots: Rc<RevsetExpression<ResolvedExpressionState>>
§generation: Range<u64>
§

Range

Fields

§roots: Rc<RevsetExpression<ResolvedExpressionState>>
§heads: Rc<RevsetExpression<ResolvedExpressionState>>
§generation: Range<u64>
§

DagRange

Fields

§roots: Rc<RevsetExpression<ResolvedExpressionState>>
§heads: Rc<RevsetExpression<ResolvedExpressionState>>
§

Reachable

Fields

§sources: Rc<RevsetExpression<ResolvedExpressionState>>
§domain: Rc<RevsetExpression<ResolvedExpressionState>>
§

Heads(Rc<RevsetExpression<ResolvedExpressionState>>)

§

Roots(Rc<RevsetExpression<ResolvedExpressionState>>)

§

ForkPoint(Rc<RevsetExpression<ResolvedExpressionState>>)

§

Latest

Fields

§candidates: Rc<RevsetExpression<ResolvedExpressionState>>
§count: usize
§

Filter(RevsetFilterPredicate)

§

AsFilter(Rc<RevsetExpression<ResolvedExpressionState>>)

Marker for subtree that should be intersected as filter.

§

AtOperation

Resolves symbols and visibility at the specified operation.

Fields

§operation: Infallible
§candidates: Rc<RevsetExpression<ResolvedExpressionState>>
§

WithinVisibility

Resolves visibility within the specified repo state.

Fields

§candidates: Rc<RevsetExpression<ResolvedExpressionState>>
§visible_heads: Vec<CommitId>

Copy of repo.view().heads() at the operation.

§

Coalesce(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>)

§

Present(Rc<RevsetExpression<ResolvedExpressionState>>)

§

NotIn(Rc<RevsetExpression<ResolvedExpressionState>>)

§

Union(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>)

§

Intersection(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>)

§

Difference(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>)

Implementations§

Source§

impl ResolvedRevsetExpression

Source

pub fn evaluate<'index>( self: Rc<Self>, repo: &'index dyn Repo, ) -> Result<Box<dyn Revset + 'index>, RevsetEvaluationError>

Optimizes and evaluates this expression.

Source

pub fn evaluate_unoptimized<'index>( &self, repo: &'index dyn Repo, ) -> Result<Box<dyn Revset + 'index>, RevsetEvaluationError>

Evaluates this expression without optimizing it.

Use this function if self is already optimized, or to debug optimization pass.

Source

pub fn to_backend_expression(&self, repo: &dyn Repo) -> ResolvedExpression

Transforms this expression to the form which the Index backend will process.