/******************************************************************************* * Copyright (c) 2009 Elliott Baron * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Elliott Baron - initial API and implementation *******************************************************************************/ package org.eclipse.cdt.codan.extension; import java.util.ArrayList; import java.util.List; import org.eclipse.cdt.core.dom.ast.IASTNode; public class ExecutionState { private List nodes; private boolean top; private boolean bottom; public ExecutionState() { nodes = new ArrayList(); } public void addClause(IASTNode node) { setTop(false); setBottom(false); nodes.add(node); } public void removeClause(IASTNode node) { nodes.remove(node); if (nodes.size() == 0) { setTop(true); setBottom(false); } } public IASTNode[] getClauses() { return nodes.toArray(new IASTNode[nodes.size()]); } public boolean isTop() { return top; } public boolean isBottom() { return bottom; } public void setTop(boolean top) { this.top = top; } public void setBottom(boolean bottom) { this.bottom = bottom; } }