Class Not
- java.lang.Object
-
- it.unive.lisa.program.cfg.statement.Statement
-
- it.unive.lisa.program.cfg.statement.Expression
-
- it.unive.lisa.program.cfg.statement.NaryExpression
-
- it.unive.lisa.program.cfg.statement.UnaryExpression
-
- it.unive.lisa.program.cfg.statement.logic.Not
-
- All Implemented Interfaces:
it.unive.lisa.program.cfg.ProgramPoint,it.unive.lisa.program.CodeElement,it.unive.lisa.util.datastructures.graph.code.CodeNode<it.unive.lisa.program.cfg.CFG,it.unive.lisa.program.cfg.statement.Statement,it.unive.lisa.program.cfg.edge.Edge>,it.unive.lisa.util.datastructures.graph.Node<it.unive.lisa.program.cfg.CFG,it.unive.lisa.program.cfg.statement.Statement,it.unive.lisa.program.cfg.edge.Edge>,java.lang.Comparable<it.unive.lisa.program.cfg.statement.Statement>
public class Not extends it.unive.lisa.program.cfg.statement.UnaryExpressionAn expression modeling the logical negation (!ornot). The operand's type must be instance ofBooleanType. The type of this expression is theBooleanType.
-
-
Constructor Summary
Constructors Constructor Description Not(it.unive.lisa.program.cfg.CFG cfg, it.unive.lisa.program.cfg.CodeLocation location, it.unive.lisa.program.cfg.statement.Expression expression)Builds the logical negation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <A extends it.unive.lisa.analysis.AbstractState<A>>
it.unive.lisa.analysis.AnalysisState<A>fwdUnarySemantics(it.unive.lisa.interprocedural.InterproceduralAnalysis<A> interprocedural, it.unive.lisa.analysis.AnalysisState<A> state, it.unive.lisa.symbolic.SymbolicExpression expr, it.unive.lisa.analysis.StatementStore<A> expressions)-
Methods inherited from class it.unive.lisa.program.cfg.statement.UnaryExpression
backwardSemanticsAux, bwdUnarySemantics, forwardSemanticsAux, getSubExpression
-
Methods inherited from class it.unive.lisa.program.cfg.statement.NaryExpression
accept, backwardSemantics, equals, forwardSemantics, getConstructName, getOrder, getStatementEvaluatedAfter, getStatementEvaluatedBefore, getSubExpressions, hashCode, setOffset, toString
-
Methods inherited from class it.unive.lisa.program.cfg.statement.Expression
getMetaVariables, getParentStatement, getRootStatement, getStaticType, setParentStatement
-
Methods inherited from class it.unive.lisa.program.cfg.statement.Statement
compareTo, getCFG, getEvaluationPredecessor, getEvaluationSuccessor, getLocation, getOffset, stopsExecution, throwsError
-
-
-
-
Constructor Detail
-
Not
public Not(it.unive.lisa.program.cfg.CFG cfg, it.unive.lisa.program.cfg.CodeLocation location, it.unive.lisa.program.cfg.statement.Expression expression)Builds the logical negation.- Parameters:
cfg- theCFGwhere this operation lieslocation- the location where this literal is definedexpression- the operand of this operation
-
-
Method Detail
-
fwdUnarySemantics
public <A extends it.unive.lisa.analysis.AbstractState<A>> it.unive.lisa.analysis.AnalysisState<A> fwdUnarySemantics(it.unive.lisa.interprocedural.InterproceduralAnalysis<A> interprocedural, it.unive.lisa.analysis.AnalysisState<A> state, it.unive.lisa.symbolic.SymbolicExpression expr, it.unive.lisa.analysis.StatementStore<A> expressions) throws it.unive.lisa.analysis.SemanticException- Specified by:
fwdUnarySemanticsin classit.unive.lisa.program.cfg.statement.UnaryExpression- Throws:
it.unive.lisa.analysis.SemanticException
-
-