Package kawa.lang

Class Macro

  • All Implemented Interfaces:
    gnu.kawa.format.Printable, Named, java.io.Externalizable, java.io.Serializable

    public class Macro
    extends Syntax
    implements gnu.kawa.format.Printable, java.io.Externalizable
    See Also:
    Serialized Form
    • Field Detail

      • expander

        public java.lang.Object expander
      • SKIP_SCAN_FORM

        public static final int SKIP_SCAN_FORM
        If this flag is set, then don't expand during the scan-body phase.
        See Also:
        Constant Field Values
    • Constructor Detail

      • Macro

        public Macro()
      • Macro

        public Macro​(Macro old)
        Copy constructor.
      • Macro

        public Macro​(java.lang.Object name,
                     Procedure expander)
      • Macro

        public Macro​(java.lang.Object name)
    • Method Detail

      • setFlags

        public final void setFlags​(int flags)
      • isHygienic

        public final boolean isHygienic()
      • setHygienic

        public final void setHygienic​(boolean hygienic)
      • getCapturedScope

        public ScopeExp getCapturedScope()
      • setCapturedScope

        public void setCapturedScope​(ScopeExp scope)
      • makeNonHygienic

        public static Macro makeNonHygienic​(java.lang.Object name,
                                            Procedure expander)
      • makeNonHygienic

        public static Macro makeNonHygienic​(java.lang.Object name,
                                            Procedure expander,
                                            java.lang.Object instance)
      • makeSkipScanForm

        public static Macro makeSkipScanForm​(java.lang.Object name,
                                             Procedure expander,
                                             java.lang.Object instance)
      • make

        public static Macro make​(java.lang.Object name,
                                 Procedure expander)
      • make

        public static Macro make​(java.lang.Object name,
                                 Procedure expander,
                                 java.lang.Object instance)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • print

        public void print​(Consumer out)
        Specified by:
        print in interface gnu.kawa.format.Printable
        Overrides:
        print in class Syntax
      • rewriteIfNeeded

        public java.lang.Object rewriteIfNeeded()
      • expand

        public java.lang.Object expand​(java.lang.Object form,
                                       Translator tr)
      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Specified by:
        writeExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
                          throws java.io.IOException,
                                 java.lang.ClassNotFoundException
        Specified by:
        readExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException