Package kawa.standard
Class IfFeature
java.lang.Object
kawa.lang.Syntax
kawa.standard.IfFeature
- All Implemented Interfaces:
gnu.kawa.format.Printable,Named
Implements the Scheme 'cond-expand' syntax.
Also provides various static methods relating to "features".
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final SimpleSymbolstatic final IfFeaturestatic final SimpleSymbolstatic final SimpleSymbolstatic final SimpleSymbolstatic final SimpleSymbolstatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionevaluate(Object clauses, Translator tr) booleanevaluateCondition(Object form, Translator tr) booleanevaluateConditionCar(Pair pair, Translator tr) static LListReturn 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) rewriteForm(Pair form, Translator tr) voidscanForm(Pair st, ScopeExp defs, Translator tr)
-
Field Details
-
condExpand
-
PROVIDE_PREFIX
- See Also:
-
andSymbol
-
elseSymbol
-
librarySymbol
-
notSymbol
-
orSymbol
-
-
Constructor Details
-
IfFeature
public IfFeature()
-
-
Method Details
-
scanForm
-
rewriteForm
- Overrides:
rewriteFormin classSyntax
-
evaluateConditionCar
-
evaluateCondition
-
evaluate
-
hasFeature
Check if we implement a named feature.- Parameters:
name- an interned feature name
-
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
-