Package: org.apache.groovy.ast.tools

## [Java] Class MethodNodeUtils

- org.apache.groovy.ast.tools.MethodNodeUtils

-     public class MethodNodeUtils
      extends Object

  Utility class for working with MethodNodes

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public static BlockStatement` | `getCodeAsBlock(MethodNode mNode)` Gets the code for a method (or constructor) as a block.
    `` | `public static String` | `getPropertyName(MethodNode mNode)` For a method node potentially representing a property, returns the name of the property.
    `` | `public static boolean` | `isGetterCandidate(MethodNode mNode)` Determines if given method is a getter candidate.
    `` | `public static String` | `methodDescriptor(MethodNode mNode)` Return the method node's descriptor which includes its return type, name and parameter types without generics.
    `` | `public static String` | `methodDescriptor(MethodNode mNode, boolean pretty)` Return the method node's descriptor which includes its return type, name and parameter types without generics.
    `` | `public static String` | `methodDescriptorWithoutReturnType(MethodNode mNode)` Return the method node's descriptor including its name and parameter types without generics.
    `` | `public static List<MethodNode>` | `withDefaultArgumentMethods(List<? extends MethodNode> methods)` Returns new list that includes methods that will be generated for default argument expressions.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### public static BlockStatement getCodeAsBlock(MethodNode mNode)

      Gets the code for a method (or constructor) as a block. If no code is found, an empty block will be returned. If a single non-block statement is found, a block containing that statement will be returned. Otherwise the existing block statement will be returned. The original `node` is not modified.

      Parameters:
        `mNode` - the method (or constructor) node
      Returns:
        the found or created block statement

    - #### public static String getPropertyName(MethodNode mNode)

      For a method node potentially representing a property, returns the name of the property.

      Parameters:
        `mNode` - a MethodNode
      Returns:
        the property name without the get/set/is prefix if a property or null

    - #### public static boolean isGetterCandidate(MethodNode mNode)

      Determines if given method is a getter candidate.

      Since:
        4.0.0

    - #### public static String methodDescriptor(MethodNode mNode)

      Return the method node's descriptor which includes its return type, name and parameter types without generics.

      Parameters:
        `mNode` - the method node
      Returns:
        the method node's descriptor

    - #### public static String methodDescriptor(MethodNode mNode, boolean pretty)

      Return the method node's descriptor which includes its return type, name and parameter types without generics.

      Parameters:
        `mNode` - the method node
        `pretty` - whether to quote a name with spaces
      Returns:
        the method node's descriptor

    - #### public static String methodDescriptorWithoutReturnType(MethodNode mNode)

      Return the method node's descriptor including its name and parameter types without generics.

      Parameters:
        `mNode` - the method node
      Returns:
        the method node's abbreviated descriptor excluding the return type

    - #### public static List<MethodNode> withDefaultArgumentMethods(List<? extends MethodNode> methods)

      Returns new list that includes methods that will be generated for default argument expressions.

      Since:
        5.0.0