package org.zwobble.couscous.ast; import org.zwobble.couscous.ast.visitors.StatementNodeMapper; import static org.zwobble.couscous.ast.VariableDeclaration.var; import lombok.Value; @Value(staticConstructor="localVariableDeclaration") public class LocalVariableDeclarationNode implements VariableNode, StatementNode { public static LocalVariableDeclarationNode localVariableDeclaration( String id, String name, TypeName type, ExpressionNode initialValue) { return localVariableDeclaration(var(id, name, type), initialValue); } VariableDeclaration declaration; ExpressionNode initialValue; @Override public T accept(StatementNodeMapper visitor) { return visitor.visit(this); } }