Package kawa.standard
Class IfFeature
- java.lang.Object
-
- kawa.lang.Syntax
-
- kawa.standard.IfFeature
-
-
Field Summary
Fields Modifier and Type Field Description static SimpleSymbol
andSymbol
static IfFeature
condExpand
static SimpleSymbol
elseSymbol
static SimpleSymbol
librarySymbol
static SimpleSymbol
notSymbol
static SimpleSymbol
orSymbol
static String
PROVIDE_PREFIX
-
Constructor Summary
Constructors Constructor Description IfFeature()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
evaluate(Object clauses, Translator tr)
boolean
evaluateCondition(Object form, Translator tr)
boolean
evaluateConditionCar(Pair pair, Translator tr)
static LList
featureList()
Return a (partial) list of features, The result does not include "provide" feature names - though it should.static boolean
hasFeature(String name)
Check if we implement a named feature.static boolean
isProvide(Declaration decl)
Expression
rewriteForm(Pair form, Translator tr)
void
scanForm(Pair st, ScopeExp defs, Translator tr)
-
-
-
Field Detail
-
condExpand
public static final IfFeature condExpand
-
PROVIDE_PREFIX
public static final String PROVIDE_PREFIX
- See Also:
- Constant Field Values
-
andSymbol
public static final SimpleSymbol andSymbol
-
elseSymbol
public static final SimpleSymbol elseSymbol
-
librarySymbol
public static final SimpleSymbol librarySymbol
-
notSymbol
public static final SimpleSymbol notSymbol
-
orSymbol
public static final SimpleSymbol orSymbol
-
-
Method Detail
-
scanForm
public void scanForm(Pair st, ScopeExp defs, Translator tr)
-
rewriteForm
public Expression rewriteForm(Pair form, Translator tr)
- Overrides:
rewriteForm
in classSyntax
-
evaluateConditionCar
public boolean evaluateConditionCar(Pair pair, Translator tr)
-
evaluateCondition
public boolean evaluateCondition(Object form, Translator tr)
-
evaluate
public Object evaluate(Object clauses, Translator tr)
-
hasFeature
public static boolean hasFeature(String name)
Check if we implement a named feature.- Parameters:
name
- an interned feature name
-
featureList
public static LList featureList()
Return a (partial) list of features, The result does not include "provide" feature names - though it should. Feature names of the form class:CLASSNAME are not returned.
-
isProvide
public static boolean isProvide(Declaration decl)
-
-