public class CircularReferenceFinder extends AbstractExpressionVisitor
Constructor and Description |
---|
CircularReferenceFinder()
Creates a new circular reference finder.
|
Modifier and Type | Method and Description |
---|---|
void |
check(Formula formula)
Checks if the given formula has any circular references.
|
Object |
visitReference(Reference reference)
Checks if the given reference causes a circular reference.
|
visitBinaryOperation, visitFunctionCall, visitLiteral, visitUnaryOperation
public CircularReferenceFinder()
public void check(Formula formula) throws CircularReferenceException
CircularReferenceException
- if the formula contains any circular referencespublic Object visitReference(Reference reference) throws CircularReferenceException, ExpressionVisitorException
visitReference
in interface ExpressionVisitor
visitReference
in class AbstractExpressionVisitor
reference
- the reference to visitCircularReferenceException
- if the given reference causes a circular referenceExpressionVisitorException