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 SimpleSymbol
static final IfFeature
static final SimpleSymbol
static final SimpleSymbol
static final SimpleSymbol
static final SimpleSymbol
static final String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionevaluate
(Object clauses, Translator tr) boolean
evaluateCondition
(Object form, Translator tr) boolean
evaluateConditionCar
(Pair pair, Translator tr) static LList
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) rewriteForm
(Pair form, Translator tr) void
scanForm
(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:
rewriteForm
in 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
-