| Package | Description | 
|---|---|
| org.clafer.ast | 
 This package provides the language for building Clafer AST. 
 | 
| org.clafer.ast.analysis | 
 This package provides various analysis and optimizations to perform on the
 AST. 
 | 
| org.clafer.ast.compiler | 
 This package provides a compiler to translate Clafer AST to IR. 
 | 
| org.clafer.instance | 
 This package provides structure for working with instances. 
 | 
| org.clafer.javascript | 
 This package provides classes for building Clafer models and invoking the
 solver via Javascript. 
 | 
| org.clafer.scope | 
 This package provides classes for building and retrieving the scope. 
 | 
| Modifier and Type | Class and Description | 
|---|---|
class  | 
AstAbstractClafer
An abstract Clafer. 
 | 
class  | 
AstBoolClafer
The primitive boolean Clafer. 
 | 
class  | 
AstConcreteClafer
A concrete Clafer. 
 | 
class  | 
AstIntClafer
The primitive integer Clafer. 
 | 
class  | 
AstModel
 The Clafer model. 
 | 
class  | 
AstPrimClafer
A primitive Clafer. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
AstClafer | 
AstPrimClafer.extending(AstAbstractClafer superClafer)
Set the supertype of this Clafer. 
 | 
AstClafer | 
AstClafer.extending(AstAbstractClafer superClafer)
Set the supertype of this Clafer. 
 | 
AstClafer | 
AstConstraint.getContext()  | 
static AstClafer | 
AstUtil.getLowestCommonSupertype(AstClafer... unionType)
Finds the lowest common supertype. 
 | 
static AstClafer | 
AstUtil.getLowestCommonSupertype(Iterable<AstClafer> unionType)
Finds the lowest common supertype. 
 | 
AstClafer | 
AstConcreteClafer.getParent()
Returns this Clafer's parent. 
 | 
AstClafer | 
AstRef.getSourceType()  | 
AstClafer | 
AstDowncast.getTarget()  | 
AstClafer | 
AstRef.getTargetType()  | 
static AstClafer | 
AstUtil.getTopParent(AstClafer clafer)
Find the highest non-root Clafer above the supplied one. 
 | 
AstClafer | 
AstGlobal.getType()
The type of this expression. 
 | 
AstClafer | 
AstConstant.getType()  | 
AstClafer | 
AstPrimClafer.refTo(AstClafer targetType)
Set this Clafer's reference to target type. 
 | 
AstClafer | 
AstClafer.refTo(AstClafer targetType)
Set this Clafer's reference to target type. 
 | 
AstClafer | 
AstPrimClafer.refToUnique(AstClafer targetType)
Set this Clafer's reference to target type along with a uniqueness
 constraint. 
 | 
AstClafer | 
AstClafer.refToUnique(AstClafer targetType)
Set this Clafer's reference to target type along with a uniqueness
 constraint. 
 | 
AstClafer | 
AstClafer.withGroupCard(Card groupCard)
Set this Clafer's group cardinality. 
 | 
AstClafer | 
AstClafer.withGroupCard(int low)
Set this Clafer's low group cardinality and set the high group
 cardinality to unbounded. 
 | 
AstClafer | 
AstClafer.withGroupCard(int low,
                          int high)
Set this Clafer's group cardinality. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
static List<AstClafer> | 
AstUtil.getClafers(AstModel model)
Find all the nested Clafers in no specific order. 
 | 
static List<Set<AstClafer>> | 
AstUtil.getClafersInParentAndSubOrder(AstModel model)
Find the Clafers such that the parents appear before the children, and
 the subclafers appear before the superclafers. 
 | 
static List<AstClafer> | 
AstUtil.getNestedClafers(AstClafer clafer)
Find all the Clafers below the supplied one, including itself. 
 | 
List<AstClafer> | 
AstAbstractClafer.getSubs()
Returns the Clafers that extend this Clafer 
 | 
static List<AstClafer> | 
AstUtil.getSuperHierarchy(AstClafer clafer)
Finds the supertype hierarchy of the Clafer. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
static AstConstant | 
Asts.constant(AstClafer type,
                int... value)  | 
static AstSetExpr | 
Asts.downcast(AstSetExpr base,
                AstClafer target)
Downcast an expression. 
 | 
static List<AstConcreteClafer> | 
AstUtil.getConcreteSubs(AstClafer clafer)
Find all the concrete subtypes of the supplied Clafer, including itself
 if it is concrete. 
 | 
static AstRef | 
AstUtil.getInheritedRef(AstClafer clafer)
Find the reference belonging to the Clafer or the reference it inherited. 
 | 
static AstClafer | 
AstUtil.getLowestCommonSupertype(AstClafer... unionType)
Finds the lowest common supertype. 
 | 
static List<AstClafer> | 
AstUtil.getNestedClafers(AstClafer clafer)
Find all the Clafers below the supplied one, including itself. 
 | 
static List<AstClafer> | 
AstUtil.getSuperHierarchy(AstClafer clafer)
Finds the supertype hierarchy of the Clafer. 
 | 
static List<AstAbstractClafer> | 
AstUtil.getSupers(AstClafer clafer)
Finds all the supertypes of the Clafer in order of lowest to highest. 
 | 
static AstClafer | 
AstUtil.getTopParent(AstClafer clafer)
Find the highest non-root Clafer above the supplied one. 
 | 
static AstGlobal | 
Asts.global(AstClafer type)  | 
static boolean | 
AstUtil.hasInheritedRef(AstClafer clafer)  | 
static boolean | 
AstUtil.hasNonEmptyIntersectionType(AstClafer t1,
                                                      AstClafer t2)
Detects if a set of  
t1 can share elements with a set of
 t2. | 
static boolean | 
AstUtil.isAssignable(AstClafer from,
                        AstClafer to)
Detects if a set of  
from is also a set of to. | 
static boolean | 
AstUtil.isTop(AstClafer clafer)
Detects if the Clafer is directly under the root. 
 | 
static boolean | 
AstUtil.isUnionType(AstClafer union,
                      AstClafer[] partitions)
Detects if the union type is fully covered by the partitions. 
 | 
static boolean | 
AstUtil.isUnionType(AstClafer union,
                      AstClafer[] partitions)
Detects if the union type is fully covered by the partitions. 
 | 
static AstBoolExpr | 
Asts.lone(AstClafer clafer)  | 
static AstBoolExpr | 
Asts.none(AstClafer clafer)  | 
static AstBoolExpr | 
Asts.one(AstClafer clafer)  | 
AstConcreteClafer | 
AstConcreteClafer.refTo(AstClafer targetType)
Set this Clafer's reference to target type. 
 | 
AstClafer | 
AstPrimClafer.refTo(AstClafer targetType)
Set this Clafer's reference to target type. 
 | 
AstAbstractClafer | 
AstAbstractClafer.refTo(AstClafer targetType)
Set this Clafer's reference to target type. 
 | 
AstModel | 
AstModel.refTo(AstClafer targetType)  | 
AstClafer | 
AstClafer.refTo(AstClafer targetType)
Set this Clafer's reference to target type. 
 | 
AstConcreteClafer | 
AstConcreteClafer.refToUnique(AstClafer targetType)
Set this Clafer's reference to target type along with a uniqueness
 constraint. 
 | 
AstClafer | 
AstPrimClafer.refToUnique(AstClafer targetType)
Set this Clafer's reference to target type along with a uniqueness
 constraint. 
 | 
AstAbstractClafer | 
AstAbstractClafer.refToUnique(AstClafer targetType)
Set this Clafer's reference to target type along with a uniqueness
 constraint. 
 | 
AstModel | 
AstModel.refToUnique(AstClafer targetType)  | 
AstClafer | 
AstClafer.refToUnique(AstClafer targetType)
Set this Clafer's reference to target type along with a uniqueness
 constraint. 
 | 
static AstBoolExpr | 
Asts.some(AstClafer clafer)  | 
| Modifier and Type | Method and Description | 
|---|---|
static AstClafer | 
AstUtil.getLowestCommonSupertype(Iterable<AstClafer> unionType)
Finds the lowest common supertype. 
 | 
| Constructor and Description | 
|---|
AstConstraint(AstClafer context,
                          AstBoolExpr expr)  | 
AstConstraint(AstClafer context,
                          AstBoolExpr expr,
                          boolean soft)  | 
| Modifier and Type | Method and Description | 
|---|---|
AstClafer | 
Type.getBasicType()  | 
AstClafer | 
Offsets.getClafer(int offset)  | 
AstClafer | 
Type.getCommonSuperType()  | 
AstClafer | 
Analysis.getCommonSupertype(AstExpr expr)  | 
| Modifier and Type | Method and Description | 
|---|---|
Map<AstClafer,AstConcreteClafer[]> | 
Analysis.getBreakableChildrenMap()  | 
Map<AstClafer,AstRef[]> | 
Analysis.getBreakableTargetsMap()  | 
List<AstClafer> | 
Analysis.getClafers()  | 
List<Set<AstClafer>> | 
Analysis.getClafersInParentAndSubOrder()  | 
Map<AstClafer,Format> | 
Analysis.getFormatMap()  | 
Map<AstClafer,Card> | 
Analysis.getGlobalCardMap()  | 
List<Pair<AstClafer,Integer>> | 
Analysis.getHierarcyIds(AstClafer clafer,
                            int id)  | 
List<Pair<AstClafer,Integer>> | 
Analysis.getHierarcyOffsets(AstClafer clafer)  | 
Map<AstClafer,PartialSolution> | 
Analysis.getPartialSolutionMap()  | 
Pair<AstClafer,Integer> | 
Analysis.getSubId(AstAbstractClafer clafer,
                int id)  | 
Set<AstClafer> | 
Type.getUnionType()  | 
| Modifier and Type | Method and Description | 
|---|---|
Analysis | 
Analysis.setBreakableChildrenMap(Map<AstClafer,AstConcreteClafer[]> breakableChildren)  | 
Analysis | 
Analysis.setBreakableTargetsMap(Map<AstClafer,AstRef[]> breakableTargetsMap)  | 
Analysis | 
Analysis.setFormatMap(Map<AstClafer,Format> formatMap)  | 
Analysis | 
Analysis.setGlobalCardMap(Map<AstClafer,Card> globalCardMap)  | 
Analysis | 
Analysis.setPartialSolutionMap(Map<AstClafer,PartialSolution> partialSolutionMap)  | 
| Constructor and Description | 
|---|
Type(Set<AstClafer> unionType,
        AstClafer commonSupertype)  | 
| Constructor and Description | 
|---|
Type(Set<AstClafer> unionType)  | 
Type(Set<AstClafer> unionType,
        AstClafer commonSupertype)  | 
| Modifier and Type | Method and Description | 
|---|---|
IrSetVar[] | 
AstSolutionMap.getSiblingVars(AstClafer clafer)
Returns the sibling variables associated with the Clafer. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
AstClafer | 
InstanceClafer.getType()  | 
AstClafer | 
InstanceRef.getType()  | 
| Constructor and Description | 
|---|
InstanceClafer(AstClafer type,
                            int id,
                            InstanceRef ref,
                            InstanceClafer... children)  | 
InstanceRef(AstClafer type,
                      int value)  | 
| Modifier and Type | Method and Description | 
|---|---|
Object | 
JavascriptShell.maximize(AstClafer clafer)
Find an instance where the Clafer's value is maximal. 
 | 
Object | 
JavascriptShell.minimize(AstClafer clafer)
Find an instance where the Clafer's value is minimal. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
Set<AstClafer> | 
Scope.getScoped()
Returns the set of Clafers that have an explicit scope. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
ScopeBuilder | 
ScopeBuilder.adjustScope(AstClafer clafer,
                      int adjust)
Adjust the scope of the Clafer. 
 | 
int | 
Scope.getScope(AstClafer clafer)
Returns the scope of the Clafer. 
 | 
ScopeBuilder | 
ScopeBuilder.setScope(AstClafer clafer,
                int scope)
Set the scope of the Clafer. 
 | 
static ScopeBuilder | 
Scope.setScope(AstClafer clafer,
                int scope)
Equivalent to  
builder().setScope(clafer, scope). | 
| Constructor and Description | 
|---|
Scope(Map<AstClafer,Integer> scopes,
          int defaultScope,
          int intLow,
          int intHigh)
Construct a new scope. 
 | 
Copyright © 2013. All Rights Reserved.