Struct rtlola_parser::ast::RtLolaAst
source · [−]pub struct RtLolaAst {
pub imports: Vec<Import>,
pub constants: Vec<Rc<Constant>>,
pub inputs: Vec<Rc<Input>>,
pub outputs: Vec<Rc<Output>>,
pub trigger: Vec<Rc<Trigger>>,
pub type_declarations: Vec<TypeDeclaration>,
pub next_node_id: RefCell<NodeId>,
}
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 output stream.
- Trigger represents a trigger declaration.
- 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
trigger: Vec<Rc<Trigger>>
The trigger declarations
type_declarations: Vec<TypeDeclaration>
The user-defined type declarations
next_node_id: RefCell<NodeId>
Next highest NodeId
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for RtLolaAst
impl !Send for RtLolaAst
impl !Sync for RtLolaAst
impl Unpin for RtLolaAst
impl UnwindSafe for RtLolaAst
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more