public abstract class GenericSortCondition
extends java.lang.Object
| Modifier and Type | Class and Description | 
|---|---|
(package private) static class  | 
GenericSortCondition.GSCForceInstantiation  | 
(package private) static class  | 
GenericSortCondition.GSCIdentity  | 
(package private) static class  | 
GenericSortCondition.GSCSupersort  | 
| Modifier and Type | Field and Description | 
|---|---|
private GenericSort | 
gs  | 
| Modifier | Constructor and Description | 
|---|---|
protected  | 
GenericSortCondition(GenericSort p_gs)  | 
| Modifier and Type | Method and Description | 
|---|---|
abstract boolean | 
check(Sort s,
     GenericSortInstantiations insts)
returns true if the given sort  
s satisfies this generic sort
 condition | 
static GenericSortCondition | 
createCondition(SchemaVariable sv,
               InstantiationEntry<?> p_entry)
Create the condition that needs to be fulfilled for the given
 instantiation of a metavariable to be correct, i.e. if the
 schemavariable is of generic sort, the instantiation of that
 sort has to match the sort of the schemavariable's
 instantiation 
 | 
static GenericSortCondition | 
createCondition(SortDependingFunction p0,
               SortDependingFunction p1)
Create a condition ensuring that the two given symbols become
 identical; "p0" may be of generic sort, "p1" not 
 | 
protected static GenericSortCondition | 
createCondition(Sort s0,
               Sort s1,
               boolean p_identity)
Create the condition to make a generic sort (s0) (or a
 collection sort of a generic sort) and a concrete sort (s1)
 equal 
 | 
static GenericSortCondition | 
createForceInstantiationCondition(GenericSort p_gs,
                                 boolean p_maximum)  | 
static GenericSortCondition | 
createIdentityCondition(GenericSort p_gs,
                       Sort p_s)  | 
static GenericSortCondition | 
createSupersortCondition(GenericSort p_gs,
                        Sort p_s)  | 
static GenericSortCondition | 
forceInstantiation(Sort p_s,
                  boolean p_maximum)
Create the condition to force the instantiation of a given
 (possibly generic) sort 
 | 
GenericSort | 
getGenericSort()  | 
(package private) static boolean | 
subSortsAllowed(SchemaVariable p_sv)  | 
private GenericSort gs
protected GenericSortCondition(GenericSort p_gs)
public static GenericSortCondition createCondition(SchemaVariable sv, InstantiationEntry<?> p_entry)
public static GenericSortCondition createCondition(SortDependingFunction p0, SortDependingFunction p1)
static boolean subSortsAllowed(SchemaVariable p_sv)
true iff the variable p_sv is
         allowed to be instantiated with expressions that have a real
         subtype of the type of p_sv. Otherwise the sorts
         have to match exactlyprotected static GenericSortCondition createCondition(Sort s0, Sort s1, boolean p_identity)
p_identity - true iff an identity condition should be
 generated (otherwise: a supersort condition is generated)public static GenericSortCondition forceInstantiation(Sort p_s, boolean p_maximum)
p_maximum - hint whether the generic sort should be
 instantiated with the maximum or mimimum possible concrete sort
 (this hint is currently not used by GenericSortInstantiations)public static GenericSortCondition createSupersortCondition(GenericSort p_gs, Sort p_s)
public static GenericSortCondition createIdentityCondition(GenericSort p_gs, Sort p_s)
public static GenericSortCondition createForceInstantiationCondition(GenericSort p_gs, boolean p_maximum)
p_maximum - hint whether the generic sort should be
 instantiated with the maximum or mimimum possible concrete sort
 (this hint is currently not used by GenericSortInstantiations)public GenericSort getGenericSort()
public abstract boolean check(Sort s, GenericSortInstantiations insts)
s satisfies this generic sort
 conditions - the Sort to checkinsts - a map containing already found instantiationss satisfies this generic sort
 condition