package lombok.ast; import java.util.ArrayList; import java.util.List; import lombok.Getter; @Getter public class Synchronized extends Statement<Synchronized> { private final Expression<?> lock; private final List<Statement<?>> statements = new ArrayList<Statement<?>>(); public Synchronized(final Expression<?> lock) { this.lock = child(lock); } public Synchronized withStatement(final Statement<?> statement) { statements.add(child(statement)); return this; } public Synchronized withStatements(final List<Statement<?>> statements) { for (Statement<?> statement : statements) withStatement(statement); return this; } @Override public <RETURN_TYPE, PARAMETER_TYPE> RETURN_TYPE accept(final ASTVisitor<RETURN_TYPE, PARAMETER_TYPE> v, final PARAMETER_TYPE p) { return v.visitSynchronized(this, p); } }