Class Invoke

All Implemented Interfaces:
Named

public class Invoke extends Procedure
  • Field Details

    • invoke

      public static final Invoke invoke
    • invokeStatic

      public static final Invoke invokeStatic
    • invokeSpecial

      public static final Invoke invokeSpecial
    • make

      public static final Invoke make
  • Constructor Details

    • Invoke

      public Invoke(String name, char kind)
    • Invoke

      public Invoke(String name, char kind, Language language)
  • Method Details

    • invoke$V

      public static Object invoke$V(Object[] args) throws Throwable
      Throws:
      Throwable
    • invokeStatic$V

      public static Object invokeStatic$V(Object[] args) throws Throwable
      Throws:
      Throwable
    • make$V

      public static Object make$V(Object[] args) throws Throwable
      Throws:
      Throwable
    • applyToObject

      public static Object applyToObject(Procedure proc, CallContext ctx) throws Throwable
      Throws:
      Throwable
    • 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
    • lookupMethods

      protected MethodProc lookupMethods(ObjectType dtype, Object name)
    • makeInvokeStatic

      public static ApplyExp makeInvokeStatic(ClassType type, String name, Expression... args)
      Return an ApplyExp that will call a method with given arguments.
      Parameters:
      type - the class containing the method we want to call.
      name - the name of the method we want to call
      args - the arguments to the call
      Returns:
      an ApplyExp representing the call
    • getStaticMethod

      @Deprecated public static PrimProcedure getStaticMethod(ClassType type, String name, Expression[] args)
      Deprecated.