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.
|
Modifier and Type | Field and Description |
---|---|
protected AstAbstractClafer |
AstClafer.claferClafer |
Modifier and Type | Method and Description |
---|---|
AstAbstractClafer |
AstModel.addAbstract(String name)
Add a new abstract Clafer to the model.
|
AstAbstractClafer |
AstAbstractClafer.extending(AstAbstractClafer superClafer)
Set the supertype of this Clafer.
|
AstAbstractClafer |
AstClafer.getSuperClafer()
Returns the supertype of this Clafer.
|
AstAbstractClafer |
AstUpcast.getTarget() |
AstAbstractClafer |
AstModel.getTypeHierarchyRoot()
Returns the type every non-primitive type extends from.
|
AstAbstractClafer |
AstAbstractClafer.refTo(AstClafer targetType)
Set this Clafer's reference to target type.
|
AstAbstractClafer |
AstAbstractClafer.refToUnique(AstClafer targetType)
Set this Clafer's reference to target type along with a uniqueness
constraint.
|
AstAbstractClafer |
AstAbstractClafer.withGroupCard(Card groupCard)
Set this Clafer's group cardinality.
|
AstAbstractClafer |
AstAbstractClafer.withGroupCard(int low)
Set this Clafer's low group cardinality and set the high group
cardinality to unbounded.
|
AstAbstractClafer |
AstAbstractClafer.withGroupCard(int low,
int high)
Set this Clafer's group cardinality.
|
Modifier and Type | Method and Description |
---|---|
static List<AstAbstractClafer> |
AstUtil.getAbstractClafersInSubOrder(AstModel model)
Find the abstract Clafers such that the subclafers appear before the
super clafers.
|
List<AstAbstractClafer> |
AstModel.getAbstracts()
Returns all the abstract Clafers
|
static List<AstAbstractClafer> |
AstUtil.getSupers(AstClafer clafer)
Finds all the supertypes of the Clafer in order of lowest to highest.
|
Modifier and Type | Method and Description |
---|---|
AstConcreteClafer |
AstConcreteClafer.extending(AstAbstractClafer superClafer)
Set the supertype of this Clafer.
|
AstClafer |
AstPrimClafer.extending(AstAbstractClafer superClafer)
Set the supertype of this Clafer.
|
AstAbstractClafer |
AstAbstractClafer.extending(AstAbstractClafer superClafer)
Set the supertype of this Clafer.
|
AstModel |
AstModel.extending(AstAbstractClafer superClafer) |
AstClafer |
AstClafer.extending(AstAbstractClafer superClafer)
Set the supertype of this Clafer.
|
static boolean |
AstUtil.isTypeRoot(AstAbstractClafer clafer)
Detects if the Clafer is the implicit type root of the model.
|
static AstSetExpr |
Asts.upcast(AstSetExpr base,
AstAbstractClafer target)
Upcast an expression.
|
Modifier and Type | Method and Description |
---|---|
List<AstAbstractClafer> |
Analysis.getAbstractClafers() |
Map<AstAbstractClafer,Offsets> |
Analysis.getOffsetMap() |
Pair<AstAbstractClafer,Integer> |
Analysis.getSuperId(AstClafer clafer,
int id) |
List<Pair<AstAbstractClafer,Integer>> |
Analysis.getSuperIds(AstClafer clafer,
int id) |
Modifier and Type | Method and Description |
---|---|
Offsets |
Analysis.getOffsets(AstAbstractClafer clafer) |
Pair<AstClafer,Integer> |
Analysis.getSubId(AstAbstractClafer clafer,
int id) |
Modifier and Type | Method and Description |
---|---|
Analysis |
Analysis.setOffsetMap(Map<AstAbstractClafer,Offsets> offsetMap) |
Copyright © 2013. All Rights Reserved.