rhai/ast/
mod.rs

1//! Module defining the AST (abstract syntax tree).
2
3#[allow(clippy::module_inception)]
4pub mod ast;
5pub mod expr;
6pub mod flags;
7pub mod ident;
8pub mod namespace;
9pub mod script_fn;
10pub mod stmt;
11
12pub use ast::{ASTNode, EncapsulatedEnviron, AST};
13#[cfg(not(feature = "no_custom_syntax"))]
14pub use expr::CustomExpr;
15pub use expr::{BinaryExpr, Expr, FnCallExpr, FnCallHashes};
16pub use flags::{ASTFlags, FnAccess};
17pub use ident::Ident;
18#[cfg(not(feature = "no_module"))]
19pub use namespace::Namespace;
20#[cfg(not(feature = "no_function"))]
21pub use script_fn::{ScriptFnMetadata, ScriptFuncDef};
22pub use stmt::{
23    CaseBlocksList, FlowControl, OpAssignment, RangeCase, Stmt, StmtBlock, StmtBlockContainer,
24    SwitchCasesCollection,
25};
26
27/// _(internals)_ Empty placeholder for a script-defined function.
28/// Exported under the `internals` feature only.
29#[cfg(feature = "no_function")]
30#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash, Default)]
31pub struct ScriptFuncDef;