turtle_build/ast/
statement.rs1use super::{Build, DefaultOutput, Include, Rule, Submodule, VariableDefinition};
2
3#[derive(Clone, Debug, PartialEq, Eq)]
5pub enum Statement {
6 Build(Build),
8 Default(DefaultOutput),
10 Include(Include),
12 Rule(Rule),
14 Submodule(Submodule),
16 VariableDefinition(VariableDefinition),
18}
19
20impl From<Build> for Statement {
21 fn from(build: Build) -> Self {
22 Self::Build(build)
23 }
24}
25
26impl From<DefaultOutput> for Statement {
27 fn from(default: DefaultOutput) -> Self {
28 Self::Default(default)
29 }
30}
31
32impl From<Include> for Statement {
33 fn from(include: Include) -> Self {
34 Self::Include(include)
35 }
36}
37
38impl From<Rule> for Statement {
39 fn from(rule: Rule) -> Self {
40 Self::Rule(rule)
41 }
42}
43
44impl From<Submodule> for Statement {
45 fn from(submodule: Submodule) -> Self {
46 Self::Submodule(submodule)
47 }
48}
49
50impl From<VariableDefinition> for Statement {
51 fn from(variable_definition: VariableDefinition) -> Self {
52 Self::VariableDefinition(variable_definition)
53 }
54}