Class MethodExtension


  • public class MethodExtension
    extends Object
    • Constructor Detail

      • MethodExtension

        public MethodExtension()
    • Method Detail

      • isSomeMethodForCall

        public static boolean isSomeMethodForCall​(Method me,
                                                  MethodCall methodCall)
        Returns true if the given method matches the given call.
        Parameters:
        me - the given method.
        methodCall - the method call.
        Returns:
        true if the method matches. false otherwise.
      • isBetterMethodForCall

        public static boolean isBetterMethodForCall​(Method me,
                                                    Method otherMethod,
                                                    MethodCall methodCall)
        Returns true if the given Method me is a better match for the given method call than Method otherMethod.
        Parameters:
        me - the given method.
        otherMethod - the other method.
        methodCall - the method call.
        Returns:
        true or false.
      • isMethodForCall

        public static boolean isMethodForCall​(Method me,
                                              MethodCall methodCall,
                                              boolean needsPerfectMatch)
      • isSignatureMatching

        public static boolean isSignatureMatching​(Method one,
                                                  Method two)
        Checks if the signature, i. e., the parameter types and return type, of two methods match, independently of the method and parameter names. It is possible for one method to have specialized parameter and return types compared to the other method.
        Parameters:
        one - the first method.
        two - the second method which can have specialized types.
        Returns:
        true if the signatures match. false otherwise.
      • isSignatureMatching

        public static boolean isSignatureMatching​(Method one,
                                                  Method two,
                                                  Type twoFirstParameter)
        Checks if the signature, i. e., the parameter types and return type, of two methods match, independently of the method and parameter names. It is possible for one method to have specialized parameter and return types compared to the other method. If the comparison is for finding the referenced method within a MethodReferenceExpression, e. g., StringBuilder::append, where the type of the primary expression (in the example StringBuilder) can be part of the parameter types of the second method, the type can be given.
        Parameters:
        one - the first method.
        two - the second method which can have specialized types.
        twoFirstParameter - the type in case of MethodReferenceExpressions which is counted as the first parameter type of the second method.
        Returns:
        true if the signatures match. false otherwise.
      • getStatements

        @Deprecated
        public static EList<Statement> getStatements​(Method me)
        Deprecated.
        Use getBlock().getStatements().
        Returns a list of all statements within the block of a method. This is a legacy method to provide a stable and backwards-compatible API.
        Parameters:
        me - the method for which the statements are obtained.
        Returns:
        the list of all statements.
      • getBlock

        public static Block getBlock​(Method me)
        Returns a block representing the body of a method.
        Parameters:
        me - the method for which the body is returned.
        Returns:
        the block or null if the method has no implementation.