Package it.unive.lisa.analysis
Enum SemanticDomain.Satisfiability
- java.lang.Object
-
- java.lang.Enum<SemanticDomain.Satisfiability>
-
- it.unive.lisa.analysis.SemanticDomain.Satisfiability
-
- All Implemented Interfaces:
Lattice<SemanticDomain.Satisfiability>,java.io.Serializable,java.lang.Comparable<SemanticDomain.Satisfiability>
- Enclosing interface:
- SemanticDomain<D extends SemanticDomain<D,E,I>,E extends SymbolicExpression,I extends Identifier>
public static enum SemanticDomain.Satisfiability extends java.lang.Enum<SemanticDomain.Satisfiability> implements Lattice<SemanticDomain.Satisfiability>
The satisfiability of an expression.
-
-
Enum Constant Summary
Enum Constants Enum Constant Description BOTTOMRepresent the fact that the satisfiability evaluation resulted in an error.NOT_SATISFIEDRepresent the fact that an expression is not satisfied.SATISFIEDRepresent the fact that an expression is satisfied.UNKNOWNRepresent the fact that it is not possible to determine whether or not an expression is satisfied.
-
Field Summary
-
Fields inherited from interface it.unive.lisa.analysis.Lattice
BOTTOM_REPR, BOTTOM_STRING, TOP_REPR, TOP_STRING
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract SemanticDomain.Satisfiabilityand(SemanticDomain.Satisfiability other)Performs a logical and between this satisfiability and the given one.SemanticDomain.Satisfiabilitybottom()Yields the bottom element of this lattice.static SemanticDomain.SatisfiabilityfromBoolean(boolean bool)Transforms a boolean value to aSemanticDomain.Satisfiabilityinstance.abstract SemanticDomain.Satisfiabilityglb(SemanticDomain.Satisfiability other)Performs the greatest lower bound operation between this satisfiability and the given one.abstract SemanticDomain.Satisfiabilitynegate()Negates the current satisfiability, getting the opposite result.abstract SemanticDomain.Satisfiabilityor(SemanticDomain.Satisfiability other)Performs a logical or between this satisfiability and the given one.SemanticDomain.Satisfiabilitytop()Yields the top element of this lattice.static SemanticDomain.SatisfiabilityvalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static SemanticDomain.Satisfiability[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
SATISFIED
public static final SemanticDomain.Satisfiability SATISFIED
Represent the fact that an expression is satisfied.
-
NOT_SATISFIED
public static final SemanticDomain.Satisfiability NOT_SATISFIED
Represent the fact that an expression is not satisfied.
-
UNKNOWN
public static final SemanticDomain.Satisfiability UNKNOWN
Represent the fact that it is not possible to determine whether or not an expression is satisfied.
-
BOTTOM
public static final SemanticDomain.Satisfiability BOTTOM
Represent the fact that the satisfiability evaluation resulted in an error.
-
-
Method Detail
-
values
public static SemanticDomain.Satisfiability[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (SemanticDomain.Satisfiability c : SemanticDomain.Satisfiability.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static SemanticDomain.Satisfiability valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException- if this enum type has no constant with the specified namejava.lang.NullPointerException- if the argument is null
-
negate
public abstract SemanticDomain.Satisfiability negate()
Negates the current satisfiability, getting the opposite result.- Returns:
- the negation of this satisfiability instance
-
and
public abstract SemanticDomain.Satisfiability and(SemanticDomain.Satisfiability other)
Performs a logical and between this satisfiability and the given one.- Parameters:
other- the other satisfiability- Returns:
- the logical and between the two satisfiability instances
-
or
public abstract SemanticDomain.Satisfiability or(SemanticDomain.Satisfiability other)
Performs a logical or between this satisfiability and the given one.- Parameters:
other- the other satisfiability- Returns:
- the logical or between the two satisfiability instances
-
glb
public abstract SemanticDomain.Satisfiability glb(SemanticDomain.Satisfiability other)
Performs the greatest lower bound operation between this satisfiability and the given one.- Parameters:
other- the other satisfiability- Returns:
- the result of the greatest lower bound
-
fromBoolean
public static SemanticDomain.Satisfiability fromBoolean(boolean bool)
Transforms a boolean value to aSemanticDomain.Satisfiabilityinstance.- Parameters:
bool- the boolean to transform- Returns:
SATISFIEDifboolistrue,NOT_SATISFIEDotherwise
-
top
public SemanticDomain.Satisfiability top()
Description copied from interface:LatticeYields the top element of this lattice. The returned element should be unique across different calls to this method, sinceLattice.isTop()uses reference equality by default. If the value returned by this method is not a singleton, overrideLattice.isTop()accordingly to provide a coherent test.- Specified by:
topin interfaceLattice<SemanticDomain.Satisfiability>- Returns:
- the top element
-
bottom
public SemanticDomain.Satisfiability bottom()
Description copied from interface:LatticeYields the bottom element of this lattice. The returned element should be unique across different calls to this method, sinceLattice.isBottom()uses reference equality by default. If the value returned by this method is not a singleton, overrideLattice.isBottom()accordingly to provide a coherent test.- Specified by:
bottomin interfaceLattice<SemanticDomain.Satisfiability>- Returns:
- the bottom element
-
-