pub enum AstNode {
Show 15 variants
Export(Box<Spanned<AstNode>>),
Entity {
name: String,
version: Option<String>,
annotations: HashMap<String, Value>,
domain: Option<String>,
},
Resource {
name: String,
annotations: HashMap<String, Value>,
unit_name: Option<String>,
domain: Option<String>,
},
Flow {
resource_name: String,
annotations: HashMap<String, Value>,
from_entity: String,
to_entity: String,
quantity: Option<i32>,
},
Pattern {
name: String,
regex: String,
},
Role {
name: String,
domain: Option<String>,
},
Relation {
name: String,
subject_role: String,
predicate: String,
object_role: String,
via_flow: Option<String>,
},
Dimension {
name: String,
},
UnitDeclaration {
symbol: String,
dimension: String,
factor: Decimal,
base_unit: String,
},
Policy {
name: String,
version: Option<String>,
metadata: PolicyMetadata,
expression: Expression,
},
Instance {
name: String,
entity_type: String,
fields: HashMap<String, Expression>,
},
ConceptChange {
name: String,
from_version: String,
to_version: String,
migration_policy: String,
breaking_change: bool,
},
Metric {
name: String,
expression: Expression,
metadata: MetricMetadata,
},
MappingDecl {
name: String,
target: TargetFormat,
rules: Vec<MappingRule>,
},
ProjectionDecl {
name: String,
target: TargetFormat,
overrides: Vec<ProjectionOverride>,
},
}Expand description
AST Node types
Variants§
Export(Box<Spanned<AstNode>>)
Entity
Fields
Resource
Fields
Flow
Fields
Pattern
Role
Relation
Fields
Dimension
UnitDeclaration
Policy
Instance
ConceptChange
Fields
Metric
MappingDecl
ProjectionDecl
Trait Implementations§
impl StructuralPartialEq for AstNode
Auto Trait Implementations§
impl Freeze for AstNode
impl RefUnwindSafe for AstNode
impl Send for AstNode
impl Sync for AstNode
impl Unpin for AstNode
impl UnwindSafe for AstNode
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