pub struct RtLolaAst {
pub imports: Vec<Import>,
pub constants: Vec<Rc<Constant>>,
pub inputs: Vec<Rc<Input>>,
pub outputs: Vec<Rc<Output>>,
pub mirrors: Vec<Rc<Mirror>>,
pub type_declarations: Vec<TypeDeclaration>,
pub next_node_id: RefCell<NodeId>,
pub global_tags: Vec<Tag>,
}
Expand description
The root of a RTLola specification, consisting of stream and trigger declarations. Each declaration contains the id of the Ast node, a span, and declaration-specific components.
§Ast Node Kinds
- Import represents an import statement for a module.
- Constant represents a constant stream.
- Input represents an input stream.
- Output represents an regular output stream or trigger.
- Mirror represents mirror streams, a syntactic sugar for an output stream.
- TypeDeclaration captures a user given type declaration.
§Related Data Structures
Fields§
§imports: Vec<Import>
The imports of additional modules
constants: Vec<Rc<Constant>>
The constant stream declarations
inputs: Vec<Rc<Input>>
The input stream declarations
outputs: Vec<Rc<Output>>
The output stream declarations
mirrors: Vec<Rc<Mirror>>
The mirror stream declarations
type_declarations: Vec<TypeDeclaration>
The user-defined type declarations
next_node_id: RefCell<NodeId>
Next highest NodeId
The global tags of the specification
Implementations§
Trait Implementations§
Source§impl Ord for RtLolaAst
impl Ord for RtLolaAst
Source§impl PartialOrd for RtLolaAst
impl PartialOrd for RtLolaAst
impl Eq for RtLolaAst
impl StructuralPartialEq for RtLolaAst
Auto Trait Implementations§
impl !Freeze for RtLolaAst
impl !RefUnwindSafe for RtLolaAst
impl !Send for RtLolaAst
impl !Sync for RtLolaAst
impl Unpin for RtLolaAst
impl UnwindSafe for RtLolaAst
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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