- List of argument types
- Name of the function
- Does function takes variable arguments as input(isVariadic)
- Register functions set
- Search function based on the query parameters type.
- functionA(Integer, Integer, Integer)
- functionB(Boolean, Integer, Integer)
- functionC(Integer, Integer...)
- functionD(Boolean, Integer...)
- functionE(Integer...)
Above functions are defined in some class. Now user wants to search for functions based on below query. Query:
- [Integer] should return functionC, functionE because both these functions can accept single Integer params.
- [Integer, Integer, Integer] should return functionA, functionC, functionE