Struct wdl_analysis::Scope
source · pub struct Scope { /* private fields */ }Expand description
Represents a scope in a WDL document.
Implementations§
source§impl Scope
impl Scope
sourcepub fn node(&self) -> &GreenNode
pub fn node(&self) -> &GreenNode
Gets the CST node that introduced the scope.
This may be a struct, task, workflow, conditional statement, or scatter statement.
sourcepub fn names(&self) -> impl Iterator<Item = (&String, &ScopedName)>
pub fn names(&self) -> impl Iterator<Item = (&String, &ScopedName)>
Gets the names in the scope.
sourcepub fn get(&self, name: &str) -> Option<&ScopedName>
pub fn get(&self, name: &str) -> Option<&ScopedName>
Gets a name within the scope.
sourcepub fn children(&self) -> impl Iterator<Item = &Scope>
pub fn children(&self) -> impl Iterator<Item = &Scope>
Gets the child scopes of this scope.
Child scopes may exist in workflows when conditional or scatter statements are present.
sourcepub fn find_child_scope(&self, position: usize) -> Option<&Scope>
pub fn find_child_scope(&self, position: usize) -> Option<&Scope>
Finds the deepest child scope by position within the document.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Scope
impl RefUnwindSafe for Scope
impl Send for Scope
impl Sync for Scope
impl Unpin for Scope
impl UnwindSafe for Scope
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<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