public abstract class SubstOp
extends java.lang.Object
WarySubstOp
is used
and accessible through the key parser.Modifier and Type | Method and Description |
---|---|
protected void |
additionalValidTopLevel(Term term)
Allows subclasses to impose custom demands on what constitutes a
valid term using the operator represented by the subclass.
|
abstract Term |
apply(Term term,
TermBuilder tb)
Apply this substitution operator to
term , which
has this operator as top-level operator |
int |
arity()
the arity of this operator
|
boolean |
bindVarsAt(int n)
Tells whether the operator binds variables at the n-th subterm.
|
boolean |
isRigid()
Tells whether the operator is rigid.
|
Name |
name()
returns the name of this element
|
Sort |
sort(ImmutableArray<Term> terms)
Determines the sort of the
Term if it would be created using this
Operator as top level operator and the given terms as sub terms. |
java.lang.String |
toString() |
void |
validTopLevelException(Term term)
Checks whether the top level structure of the given @link Term
is syntactically valid, given the assumption that the top level
operator of the term is the same as this Operator.
|
protected ImmutableArray<java.lang.Boolean> |
whereToBind() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
validTopLevel
protected SubstOp(Name name)
public Sort sort(ImmutableArray<Term> terms)
Operator
Term
if it would be created using this
Operator as top level operator and the given terms as sub terms. The
assumption that the constructed term would be allowed is not checked.terms
- an array of Term containing the subterms of a (potential)
term with this operator as top level operatorprotected void additionalValidTopLevel(Term term)
public abstract Term apply(Term term, TermBuilder tb)
term
, which
has this operator as top-level operatorterm
- the Term
on which to apply the substitutiontb
- the TermBuilder
to use for term constructionprotected final ImmutableArray<java.lang.Boolean> whereToBind()
public final Name name()
Named
public final int arity()
Operator
public final boolean bindVarsAt(int n)
Operator
bindVarsAt
in interface Operator
public final boolean isRigid()
Operator
public void validTopLevelException(Term term) throws TermCreationException
Operator
validTopLevelException
in interface Operator
TermCreationException
- if a construction error was recognisepublic java.lang.String toString()
toString
in class java.lang.Object
Copyright © 2003-2019 The KeY-Project.