code_gen/statement/expression_statement.rs
1use crate::{CodeBuffer, Expression, Statement};
2
3/// A statement that wraps an expression.
4pub struct ExpressionStatement<E: Expression> {
5 expression: E,
6}
7
8impl<E: Expression> From<E> for ExpressionStatement<E> {
9 fn from(expression: E) -> Self {
10 Self { expression }
11 }
12}
13
14impl<E: Expression> Statement for ExpressionStatement<E> {
15 fn write(&self, b: &mut CodeBuffer, level: usize) {
16 b.indent(level);
17 self.expression.write(b);
18 b.end_line();
19 }
20}