Package kawa.lang
Class Macro
java.lang.Object
kawa.lang.Syntax
kawa.lang.Macro
- All Implemented Interfaces:
gnu.kawa.format.Printable
,Named
,Externalizable
,Serializable
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
If this flag is set, then don't expand during the scan-body phase. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionexpand
(Object form, Translator tr) final boolean
static Macro
make
(Declaration decl) static Macro
static Macro
static Macro
makeNonHygienic
(Object name, Procedure expander) static Macro
makeNonHygienic
(Object name, Procedure expander, Object instance) static Macro
makeSkipScanForm
(Object name, Procedure expander, Object instance) void
void
rewriteForm
(Pair form, Translator tr) void
scanForm
(Pair st, ScopeExp defs, Translator tr) void
setCapturedScope
(ScopeExp scope) final void
setFlags
(int flags) final void
setHygienic
(boolean hygienic) toString()
void
-
Field Details
-
expander
-
HYGIENIC
public static final int HYGIENIC- See Also:
-
SKIP_SCAN_FORM
public static final int SKIP_SCAN_FORMIf this flag is set, then don't expand during the scan-body phase.- See Also:
-
-
Constructor Details
-
Macro
public Macro() -
Macro
Copy constructor. -
Macro
-
Macro
-
-
Method Details
-
setFlags
public final void setFlags(int flags) -
isHygienic
public final boolean isHygienic() -
setHygienic
public final void setHygienic(boolean hygienic) -
getCapturedScope
-
setCapturedScope
-
make
-
makeNonHygienic
-
makeNonHygienic
-
makeSkipScanForm
-
make
-
make
-
rewriteForm
- Overrides:
rewriteForm
in classSyntax
-
toString
-
print
-
rewriteIfNeeded
-
expand
-
scanForm
-
writeExternal
- Specified by:
writeExternal
in interfaceExternalizable
- Throws:
IOException
-
readExternal
- Specified by:
readExternal
in interfaceExternalizable
- Throws:
IOException
ClassNotFoundException
-