Package org.smtlib.impl
Class Sort.FcnSort
java.lang.Object
org.smtlib.impl.Pos.Posable
org.smtlib.impl.Pos.Printable
org.smtlib.impl.Sort
org.smtlib.impl.Sort.FcnSort
- All Implemented Interfaces:
INode,IPos.IPosable,ISort,ISort.IFcnSort
- Enclosing class:
Sort
Represents the class of the sort of a function symbol. This is not a
sort that can be expressed in SMT-LIB sort grammar, except implicitly
when function ids are defined in define-fun and declare-fun
commands and in theory definitions.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.smtlib.impl.Sort
Sort.Abbreviation, Sort.Application, Sort.ErrorDefinition, Sort.Family, Sort.FcnSort, Sort.ParameterNested classes/interfaces inherited from interface org.smtlib.ISort
ISort.IAbbreviation, ISort.IApplication, ISort.IDatatype, ISort.IDefinition, ISort.IErrorDefinition, ISort.IFactory, ISort.IFamily, ISort.IFcnSort, ISort.IParameter -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ISort[]protected static final ISort[]protected ISortFields inherited from class org.smtlib.impl.Pos.Posable
pos -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> TThe accept method corresponding to IVisitor, to be implemented in each subclass as { return v.visit(this); }ISort[]argSorts()booleanStructural equality after expansion of abbreviations (an alias and its literal expansion are equal), but without any substitution of free parameters.booleanequalsNoExpand(ISort sort) Raw structural comparison, deliberately without abbreviation expansion or parameter substitution -- so a user-defined alias and its expansion, whichISort.equals(Object)treats as equal, are NOT equal here.expand()Expands all abbreviationsinthashCode()substitute(Map<ISort.IParameter, ISort> map) Returns a new sort with any parameters substitutedMethods inherited from class org.smtlib.impl.Pos.Printable
toStringMethods inherited from class org.smtlib.impl.Pos.Posable
pos, setPosMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.smtlib.IPos.IPosable
pos, setPos
-
Field Details
-
noargs
-
resultSort
-
argSorts
-
-
Constructor Details
-
FcnSort
Creates a function sort with the given argument sorts and result sort. -
FcnSort
Creates a zero-argument (nullary) function sort with the given result sort.
-
-
Method Details
-
expand
Description copied from interface:ISortExpands all abbreviations -
resultSort
- Specified by:
resultSortin interfaceISort.IFcnSort
-
argSorts
- Specified by:
argSortsin interfaceISort.IFcnSort
-
equals
Description copied from interface:ISortStructural equality after expansion of abbreviations (an alias and its literal expansion are equal), but without any substitution of free parameters. The general- purpose equality method -- use this unless a caller specifically needs a narrower comparison below.- Specified by:
equalsin interfaceISort- Overrides:
equalsin classPos.Posable- See Also:
-
equalsNoExpand
Description copied from interface:ISortRaw structural comparison, deliberately without abbreviation expansion or parameter substitution -- so a user-defined alias and its expansion, whichISort.equals(Object)treats as equal, are NOT equal here. Used internally asISort.equals(Object)'s own building block (expand both sides first, then compare structurally with this), and directly by any caller that specifically wants the literal, as-declared shape rather than the expanded one, e.g.Logic.checkArraySort(), which checks an array sort's declared shape against a fixed set of allowed sorts without expanding through an alias first.- Specified by:
equalsNoExpandin interfaceISort
-
hashCode
public int hashCode()- Overrides:
hashCodein classPos.Posable
-
substitute
Description copied from interface:ISortReturns a new sort with any parameters substituted- Specified by:
substitutein interfaceISort
-
accept
Description copied from interface:INodeThe accept method corresponding to IVisitor, to be implemented in each subclass as { return v.visit(this); }- Specified by:
acceptin interfaceINode- Type Parameters:
T- the return type desired from the visit methods- Parameters:
v- the visitor class- Returns:
- the value returned by the visit method
- Throws:
IVisitor.VisitorException
-