use std::fmt::{Display, Formatter, Result};
use {Argument, Assignment, Class, Comment, Function, FunctionCall, KeywordArgument};
#[derive(Debug, Clone)]
pub enum Statement {
Argument(Argument),
Assignment(Assignment),
Class(Class),
Comment(Comment),
Function(Function),
FunctionCall(FunctionCall),
KeywordArgument(KeywordArgument),
}
impl Display for Statement {
fn fmt(&self, f: &mut Formatter) -> Result {
let s: String = match self {
&Statement::Argument(ref s) => format!("{}", s),
&Statement::Assignment(ref s) => format!("{}", s),
&Statement::Comment(ref s) => format!("{}", s),
&Statement::Class(ref s) => format!("{}", s),
&Statement::FunctionCall(ref s) => format!("{}", s),
&Statement::Function(ref s) => format!("{}", s),
&Statement::KeywordArgument(ref s) => format!("{}", s),
};
write!(f, "{}", s)
}
}