Package kawa.standard
Class IfFeature
- java.lang.Object
-
- kawa.lang.Syntax
-
- kawa.standard.IfFeature
-
-
Field Summary
Fields Modifier and Type Field Description static SimpleSymbolandSymbolstatic IfFeaturecondExpandstatic SimpleSymbolelseSymbolstatic SimpleSymbollibrarySymbolstatic SimpleSymbolnotSymbolstatic SimpleSymbolorSymbolstatic StringPROVIDE_PREFIX
-
Constructor Summary
Constructors Constructor Description IfFeature()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectevaluate(Object clauses, Translator tr)booleanevaluateCondition(Object form, Translator tr)booleanevaluateConditionCar(Pair pair, Translator tr)static LListfeatureList()Return a (partial) list of features, The result does not include "provide" feature names - though it should.static booleanhasFeature(String name)Check if we implement a named feature.static booleanisProvide(Declaration decl)ExpressionrewriteForm(Pair form, Translator tr)voidscanForm(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:
rewriteFormin 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)
-
-