com.ibm.wala.fixpoint.IFixedPointSystem Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of com.ibm.wala.util Show documentation
Show all versions of com.ibm.wala.util Show documentation
T. J. Watson Libraries for Analysis
/*
* Copyright (c) 2002 - 2006 IBM Corporation.
* 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:
* IBM Corporation - initial API and implementation
*/
package com.ibm.wala.fixpoint;
import com.ibm.wala.util.graph.INodeWithNumber;
import java.util.Iterator;
/** Represents a set of {@link IFixedPointStatement}s to be solved by a {@link IFixedPointSolver} */
public interface IFixedPointSystem> {
/** removes a given statement */
void removeStatement(IFixedPointStatement statement);
/** Add a statement to the system */
void addStatement(IFixedPointStatement statement);
/**
* Return an Iterator of the {@link IFixedPointStatement}s in this system
*
* @return {@link Iterator}<Constraint>
*/
Iterator extends INodeWithNumber> getStatements();
/**
* Return an Iterator of the variables in this graph
*
* @return {@link Iterator}<{@link IVariable}>
*/
Iterator extends INodeWithNumber> getVariables();
/**
* @return true iff this system already contains an equation that is equal() to s
*/
boolean containsStatement(IFixedPointStatement s);
/**
* @return true iff this system already contains a variable that is equal() to v.
*/
boolean containsVariable(T v);
/**
* @return {@link Iterator}<statement>, the statements that use the variable
*/
Iterator extends INodeWithNumber> getStatementsThatUse(T v);
/**
* @return {@link Iterator}<statement>, the statements that def the variable
*/
Iterator extends INodeWithNumber> getStatementsThatDef(T v);
int getNumberOfStatementsThatUse(T v);
int getNumberOfStatementsThatDef(T v);
/** reorder the statements in this system */
void reorder();
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy