Class AddOp

  • All Implemented Interfaces:
    Named

    public class AddOp
    extends ArithOp
    Implement the Scheme standard functions "+" and "-".
    • Field Detail

      • PLUS

        public static final AddOp PLUS
      • MINUS

        public static final AddOp MINUS
    • Constructor Detail

      • AddOp

        public AddOp​(java.lang.String name,
                     int plusOrMinus)
    • Method Detail

      • apply2

        public static java.lang.Object apply2​(int plusOrMinus,
                                              java.lang.Object arg1,
                                              java.lang.Object arg2)
      • PLUS

        public static java.lang.Object PLUS​(java.lang.Object arg1,
                                            java.lang.Object arg2)
      • MINUS

        public static java.lang.Object MINUS​(java.lang.Object arg1,
                                             java.lang.Object arg2)
      • MINUS

        public static java.lang.Object MINUS​(java.lang.Object arg1)
      • PLUS$V

        public static java.lang.Object PLUS$V​(java.lang.Object arg1,
                                              java.lang.Object arg2,
                                              java.lang.Object arg3,
                                              java.lang.Object[] rest)
      • MINUS$V

        public static java.lang.Object MINUS$V​(java.lang.Object arg1,
                                               java.lang.Object arg2,
                                               java.lang.Object arg3,
                                               java.lang.Object[] rest)
      • applyN

        public static java.lang.Object applyN​(int plusOrMinus,
                                              java.lang.Object[] args)
      • applyN

        public static java.lang.Object applyN​(int plusOrMinus,
                                              java.lang.Object init,
                                              java.lang.Object[] args)
      • applyN

        public java.lang.Object applyN​(java.lang.Object[] args)
        Overrides:
        applyN in class Procedure
      • numArgs

        public int numArgs()
        Description copied from class: Procedure
        Return minArgs()|(maxArgs<<12). We use a single virtual function to reduce the number of methods in the system, as well as the number of virtual method table entries. We shift by 12 so the number can normally be represented using a sipush instruction, without requiring a constant pool entry.
        Overrides:
        numArgs in class Procedure