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