public static SymbolReference<ResolvedMethodDeclaration> solveMethodInType(ResolvedTypeDeclaration typeDeclaration,
                                                                               String name, List<ResolvedType> argumentsTypes, boolean staticOnly,
                                                                               TypeSolver typeSolver) {
        if (typeDeclaration instanceof JavaParserClassDeclaration) {
            Context ctx = ((JavaParserClassDeclaration) typeDeclaration).getContext();
            return ctx.solveMethod(name, argumentsTypes, staticOnly, typeSolver);
        }
        if (typeDeclaration instanceof JavaParserInterfaceDeclaration) {
            Context ctx = ((JavaParserInterfaceDeclaration) typeDeclaration).getContext();
            return ctx.solveMethod(name, argumentsTypes, staticOnly, typeSolver);
        }
        if (typeDeclaration instanceof JavaParserEnumDeclaration) {
            if (name.equals("values") && argumentsTypes.isEmpty()) {
                return SymbolReference.solved(new JavaParserEnumDeclaration.ValuesMethod((JavaParserEnumDeclaration) typeDeclaration, typeSolver));
            }
            Context ctx = ((JavaParserEnumDeclaration) typeDeclaration).getContext();
            return ctx.solveMethod(name, argumentsTypes, staticOnly, typeSolver);
        }
        if (typeDeclaration instanceof JavaParserAnonymousClassDeclaration) {
        	Context ctx = ((JavaParserAnonymousClassDeclaration) typeDeclaration).getContext();
            return ctx.solveMethod(name, argumentsTypes, staticOnly, typeSolver);
        }
        if (typeDeclaration instanceof ReflectionClassDeclaration) {
            return ((ReflectionClassDeclaration) typeDeclaration).solveMethod(name, argumentsTypes, staticOnly);
        }
        if (typeDeclaration instanceof ReflectionInterfaceDeclaration) {
          return ((ReflectionInterfaceDeclaration) typeDeclaration).solveMethod(name, argumentsTypes, staticOnly);
        }
          if (typeDeclaration instanceof ReflectionEnumDeclaration) {
            return ((ReflectionEnumDeclaration) typeDeclaration).solveMethod(name, argumentsTypes, staticOnly);
        }
        if (typeDeclaration instanceof JavassistInterfaceDeclaration) {
            return ((JavassistInterfaceDeclaration) typeDeclaration).solveMethod(name, argumentsTypes, staticOnly);
        }
        if (typeDeclaration instanceof JavassistClassDeclaration) {
          return ((JavassistClassDeclaration) typeDeclaration).solveMethod(name, argumentsTypes, staticOnly);
        }
          if (typeDeclaration instanceof JavassistEnumDeclaration) {
            return ((JavassistEnumDeclaration) typeDeclaration).solveMethod(name, argumentsTypes, staticOnly);
        }
        throw new UnsupportedOperationException(typeDeclaration.getClass().getCanonicalName());
    }
public static SymbolReference<ResolvedMethodDeclaration> solveMethodInType(ResolvedTypeDeclaration typeDeclaration,
                                                                               String name, List<ResolvedType> argumentsTypes, boolean staticOnly,
                                                                               TypeSolver typeSolver) {
        if (typeDeclaration instanceof JavaParserClassDeclaration) {
            Context ctx = ((JavaParserClassDeclaration) typeDeclaration).getContext();
            return ctx.solveMethod(name, argumentsTypes, staticOnly, typeSolver);
        }
        if (typeDeclaration instanceof JavaParserInterfaceDeclaration) {
            Context ctx = ((JavaParserInterfaceDeclaration) typeDeclaration).getContext();
            return ctx.solveMethod(name, argumentsTypes, staticOnly, typeSolver);
        }
        if (typeDeclaration instanceof JavaParserEnumDeclaration) {
            if (name.equals("values") && argumentsTypes.isEmpty()) {
                return SymbolReference.solved(new JavaParserEnumDeclaration.ValuesMethod((JavaParserEnumDeclaration) typeDeclaration, typeSolver));
            }
            Context ctx = ((JavaParserEnumDeclaration) typeDeclaration).getContext();
            return ctx.solveMethod(name, argumentsTypes, staticOnly, typeSolver);
        }
        if (typeDeclaration instanceof JavaParserAnonymousClassDeclaration) {
        	Context ctx = ((JavaParserAnonymousClassDeclaration) typeDeclaration).getContext();
            return ctx.solveMethod(name, argumentsTypes, staticOnly, typeSolver);
        }
        if (typeDeclaration instanceof ReflectionClassDeclaration) {
            return ((ReflectionClassDeclaration) typeDeclaration).solveMethod(name, argumentsTypes, staticOnly);
        }
        if (typeDeclaration instanceof ReflectionInterfaceDeclaration) {
          return ((ReflectionInterfaceDeclaration) typeDeclaration).solveMethod(name, argumentsTypes, staticOnly);
        }
          if (typeDeclaration instanceof ReflectionEnumDeclaration) {
            return ((ReflectionEnumDeclaration) typeDeclaration).solveMethod(name, argumentsTypes, staticOnly);
        }
        if (typeDeclaration instanceof JavassistInterfaceDeclaration) {
            return ((JavassistInterfaceDeclaration) typeDeclaration).solveMethod(name, argumentsTypes, staticOnly);
        }
        if (typeDeclaration instanceof JavassistClassDeclaration) {
          return ((JavassistClassDeclaration) typeDeclaration).solveMethod(name, argumentsTypes, staticOnly);
        }
          if (typeDeclaration instanceof JavassistEnumDeclaration) {
            return ((JavassistEnumDeclaration) typeDeclaration).solveMethod(name, argumentsTypes, staticOnly);
        }
        throw new UnsupportedOperationException(typeDeclaration.getClass().getCanonicalName());
    }
public static SymbolReference < ResolvedMethodDeclaration > solveMethodInType ( ResolvedTypeDeclaration typeDeclaration , String name , List < ResolvedType > argumentsTypes , boolean staticOnly , TypeSolver typeSolver ) { if ( typeDeclaration instanceof JavaParserClassDeclaration ) { Context ctx = ( ( JavaParserClassDeclaration ) typeDeclaration ) . getContext ( ) ; return ctx . solveMethod ( name , argumentsTypes , staticOnly , typeSolver ) ; } if ( typeDeclaration instanceof JavaParserInterfaceDeclaration ) { Context ctx = ( ( JavaParserInterfaceDeclaration ) typeDeclaration ) . getContext ( ) ; return ctx . solveMethod ( name , argumentsTypes , staticOnly , typeSolver ) ; } if ( typeDeclaration instanceof JavaParserEnumDeclaration ) { if ( name . equals ( "values" ) && argumentsTypes . isEmpty ( ) ) { return SymbolReference . solved ( new JavaParserEnumDeclaration . ValuesMethod ( ( JavaParserEnumDeclaration ) typeDeclaration , typeSolver ) ) ; } Context ctx = ( ( JavaParserEnumDeclaration ) typeDeclaration ) . getContext ( ) ; return ctx . solveMethod ( name , argumentsTypes , staticOnly , typeSolver ) ; } if ( typeDeclaration instanceof JavaParserAnonymousClassDeclaration ) { Context ctx = ( ( JavaParserAnonymousClassDeclaration ) typeDeclaration ) . getContext ( ) ; return ctx . solveMethod ( name , argumentsTypes , staticOnly , typeSolver ) ; } if ( typeDeclaration instanceof ReflectionClassDeclaration ) { return ( ( ReflectionClassDeclaration ) typeDeclaration ) . solveMethod ( name , argumentsTypes , staticOnly ) ; } if ( typeDeclaration instanceof ReflectionInterfaceDeclaration ) { return ( ( ReflectionInterfaceDeclaration ) typeDeclaration ) . solveMethod ( name , argumentsTypes , staticOnly ) ; } if ( typeDeclaration instanceof ReflectionEnumDeclaration ) { return ( ( ReflectionEnumDeclaration ) typeDeclaration ) . solveMethod ( name , argumentsTypes , staticOnly ) ; } if ( typeDeclaration instanceof JavassistInterfaceDeclaration ) { return ( ( JavassistInterfaceDeclaration ) typeDeclaration ) . solveMethod ( name , argumentsTypes , staticOnly ) ; } if ( typeDeclaration instanceof JavassistClassDeclaration ) { return ( ( JavassistClassDeclaration ) typeDeclaration ) . solveMethod ( name , argumentsTypes , staticOnly ) ; } if ( typeDeclaration instanceof JavassistEnumDeclaration ) { return ( ( JavassistEnumDeclaration ) typeDeclaration ) . solveMethod ( name , argumentsTypes , staticOnly ) ; } throw new UnsupportedOperationException ( typeDeclaration . getClass ( ) . getCanonicalName ( ) ) ; }
Replace TypeDeclaration.solveMethod

@param typeDeclaration
@param name
@param argumentsTypes
@param staticOnly
@return
Replace TypeDeclaration . solveMethod