org.codehaus.groovy.runtime.dgmimpl

## Class NumberNumberMinus

- java.lang.Object
- - org.codehaus.groovy.reflection.ParameterTypes
  - - groovy.lang.MetaMethod
    - - org.codehaus.groovy.runtime.callsite.CallSiteAwareMetaMethod
      - - org.codehaus.groovy.runtime.dgmimpl.NumberNumberMetaMethod
        - - org.codehaus.groovy.runtime.dgmimpl.NumberNumberMinus

- All Implemented Interfaces:
    java.lang.Cloneable

      public final class NumberNumberMinus
      extends NumberNumberMetaMethod

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.codehaus.groovy.runtime.dgmimpl.NumberNumberMetaMethod

      `NumberNumberMetaMethod.NumberNumberCallSite`

  - ### Field Summary

    - ### Fields inherited from class groovy.lang.MetaMethod

      `EMPTY_ARRAY`

    - ### Fields inherited from class org.codehaus.groovy.reflection.ParameterTypes

      `isVargsMethod, nativeParamTypes, parameterTypes`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NumberNumberMinus()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `CallSite` | `createDoubleDouble(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createDoubleFloat(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createDoubleInteger(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createDoubleLong(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createFloatDouble(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createFloatFloat(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createFloatInteger(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createFloatLong(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createIntegerDouble(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createIntegerFloat(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createIntegerInteger(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createIntegerLong(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createLongDouble(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createLongFloat(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createLongInteger(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createLongLong(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `CallSite` | `createNumberNumber(CallSite site, MetaClassImpl metaClass, MetaMethod metaMethod, java.lang.Class[] params, java.lang.Object receiver, java.lang.Object[] args)`
    `java.lang.String` | `getName()` Returns the name of the method represented by this class
    `java.lang.Object` | `invoke(java.lang.Object object, java.lang.Object[] arguments)` Invoke this method
    `static java.lang.Number` | `minus(java.lang.Number left, java.lang.Number right)` Subtraction of two Numbers.

    - ### Methods inherited from class org.codehaus.groovy.runtime.dgmimpl.NumberNumberMetaMethod

      `createPojoCallSite, getDeclaringClass, getModifiers, getReturnType`

    - ### Methods inherited from class groovy.lang.MetaMethod

      `checkParameters, clone, doMethodInvoke, equal, equal, getDescriptor, getMopName, getSignature, isAbstract, isCacheable, isMethod, isPrivate, isProtected, isPublic, isSame, isStatic, processDoMethodInvokeException, toString`

    - ### Methods inherited from class org.codehaus.groovy.reflection.ParameterTypes

      `coerceArgumentsToClasses, correctArguments, getNativeParameterTypes, getParameterTypes, getPT, isValidExactMethod, isValidExactMethod, isValidMethod, isValidMethod, isVargsMethod, isVargsMethod, setParametersTypes`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### NumberNumberMinus

          public NumberNumberMinus()

  - ### Method Detail

    - #### getName

          public java.lang.String getName()

      Description copied from class: `MetaMethod`
      Returns the name of the method represented by this class
      Specified by:
        `getName` in class `MetaMethod`
      Returns:
        name of this method

    - #### invoke

          public java.lang.Object invoke(java.lang.Object object,
                                         java.lang.Object[] arguments)

      Description copied from class: `MetaMethod`
      Invoke this method
      Specified by:
        `invoke` in class `MetaMethod`
      Parameters:
        `object` - The object this method should be invoked on
        `arguments` - The arguments for the method if applicable
      Returns:
        The return value of the invocation

    - #### minus

          public static java.lang.Number minus(java.lang.Number left,
                                               java.lang.Number right)

      Subtraction of two Numbers.
      Parameters:
        `left` - a Number
        `right` - another Number to subtract to the first one
      Returns:
        the subtraction

    - #### createIntegerInteger

          public CallSite createIntegerInteger(CallSite site,
                                               MetaClassImpl metaClass,
                                               MetaMethod metaMethod,
                                               java.lang.Class[] params,
                                               java.lang.Object receiver,
                                               java.lang.Object[] args)

      Specified by:
        `createIntegerInteger` in class `NumberNumberMetaMethod`

    - #### createIntegerLong

          public CallSite createIntegerLong(CallSite site,
                                            MetaClassImpl metaClass,
                                            MetaMethod metaMethod,
                                            java.lang.Class[] params,
                                            java.lang.Object receiver,
                                            java.lang.Object[] args)

      Specified by:
        `createIntegerLong` in class `NumberNumberMetaMethod`

    - #### createIntegerFloat

          public CallSite createIntegerFloat(CallSite site,
                                             MetaClassImpl metaClass,
                                             MetaMethod metaMethod,
                                             java.lang.Class[] params,
                                             java.lang.Object receiver,
                                             java.lang.Object[] args)

      Specified by:
        `createIntegerFloat` in class `NumberNumberMetaMethod`

    - #### createIntegerDouble

          public CallSite createIntegerDouble(CallSite site,
                                              MetaClassImpl metaClass,
                                              MetaMethod metaMethod,
                                              java.lang.Class[] params,
                                              java.lang.Object receiver,
                                              java.lang.Object[] args)

      Specified by:
        `createIntegerDouble` in class `NumberNumberMetaMethod`

    - #### createLongInteger

          public CallSite createLongInteger(CallSite site,
                                            MetaClassImpl metaClass,
                                            MetaMethod metaMethod,
                                            java.lang.Class[] params,
                                            java.lang.Object receiver,
                                            java.lang.Object[] args)

      Specified by:
        `createLongInteger` in class `NumberNumberMetaMethod`

    - #### createLongLong

          public CallSite createLongLong(CallSite site,
                                         MetaClassImpl metaClass,
                                         MetaMethod metaMethod,
                                         java.lang.Class[] params,
                                         java.lang.Object receiver,
                                         java.lang.Object[] args)

      Specified by:
        `createLongLong` in class `NumberNumberMetaMethod`

    - #### createLongFloat

          public CallSite createLongFloat(CallSite site,
                                          MetaClassImpl metaClass,
                                          MetaMethod metaMethod,
                                          java.lang.Class[] params,
                                          java.lang.Object receiver,
                                          java.lang.Object[] args)

      Specified by:
        `createLongFloat` in class `NumberNumberMetaMethod`

    - #### createLongDouble

          public CallSite createLongDouble(CallSite site,
                                           MetaClassImpl metaClass,
                                           MetaMethod metaMethod,
                                           java.lang.Class[] params,
                                           java.lang.Object receiver,
                                           java.lang.Object[] args)

      Specified by:
        `createLongDouble` in class `NumberNumberMetaMethod`

    - #### createFloatInteger

          public CallSite createFloatInteger(CallSite site,
                                             MetaClassImpl metaClass,
                                             MetaMethod metaMethod,
                                             java.lang.Class[] params,
                                             java.lang.Object receiver,
                                             java.lang.Object[] args)

      Specified by:
        `createFloatInteger` in class `NumberNumberMetaMethod`

    - #### createFloatLong

          public CallSite createFloatLong(CallSite site,
                                          MetaClassImpl metaClass,
                                          MetaMethod metaMethod,
                                          java.lang.Class[] params,
                                          java.lang.Object receiver,
                                          java.lang.Object[] args)

      Specified by:
        `createFloatLong` in class `NumberNumberMetaMethod`

    - #### createFloatFloat

          public CallSite createFloatFloat(CallSite site,
                                           MetaClassImpl metaClass,
                                           MetaMethod metaMethod,
                                           java.lang.Class[] params,
                                           java.lang.Object receiver,
                                           java.lang.Object[] args)

      Specified by:
        `createFloatFloat` in class `NumberNumberMetaMethod`

    - #### createFloatDouble

          public CallSite createFloatDouble(CallSite site,
                                            MetaClassImpl metaClass,
                                            MetaMethod metaMethod,
                                            java.lang.Class[] params,
                                            java.lang.Object receiver,
                                            java.lang.Object[] args)

      Specified by:
        `createFloatDouble` in class `NumberNumberMetaMethod`

    - #### createDoubleInteger

          public CallSite createDoubleInteger(CallSite site,
                                              MetaClassImpl metaClass,
                                              MetaMethod metaMethod,
                                              java.lang.Class[] params,
                                              java.lang.Object receiver,
                                              java.lang.Object[] args)

      Specified by:
        `createDoubleInteger` in class `NumberNumberMetaMethod`

    - #### createDoubleLong

          public CallSite createDoubleLong(CallSite site,
                                           MetaClassImpl metaClass,
                                           MetaMethod metaMethod,
                                           java.lang.Class[] params,
                                           java.lang.Object receiver,
                                           java.lang.Object[] args)

      Specified by:
        `createDoubleLong` in class `NumberNumberMetaMethod`

    - #### createDoubleFloat

          public CallSite createDoubleFloat(CallSite site,
                                            MetaClassImpl metaClass,
                                            MetaMethod metaMethod,
                                            java.lang.Class[] params,
                                            java.lang.Object receiver,
                                            java.lang.Object[] args)

      Specified by:
        `createDoubleFloat` in class `NumberNumberMetaMethod`

    - #### createDoubleDouble

          public CallSite createDoubleDouble(CallSite site,
                                             MetaClassImpl metaClass,
                                             MetaMethod metaMethod,
                                             java.lang.Class[] params,
                                             java.lang.Object receiver,
                                             java.lang.Object[] args)

      Specified by:
        `createDoubleDouble` in class `NumberNumberMetaMethod`

    - #### createNumberNumber

          public CallSite createNumberNumber(CallSite site,
                                             MetaClassImpl metaClass,
                                             MetaMethod metaMethod,
                                             java.lang.Class[] params,
                                             java.lang.Object receiver,
                                             java.lang.Object[] args)

      Specified by:
        `createNumberNumber` in class `NumberNumberMetaMethod`