test_class.declarator: mVarArgsParams = {String.class, String[].class}
test_class.modifier: private static final
test_class.original_string: private static final Class<?>[] mVarArgsParams = {String.class, String[].class};
test_class.type: Class<?>[]
test_class.var_name: mVarArgsParams
test_class.declarator: mVarArgsPrimParams = {int.class, int[].class}
test_class.modifier: private static final
test_class.original_string: private static final Class<?>[] mVarArgsPrimParams = {int.class, int[].class};
test_class.type: Class<?>[]
test_class.var_name: mVarArgsPrimParams
test_class.file: objects/src/test/java/org/cthul/objects/reflection/SignaturesTest.java
test_class.identifier: SignaturesTest
test_case.body: @Test
      public void test_collect_public_non_static() {
          Method[] m = Signatures.collectMethods(TestStatic.class, "m", Signatures.PUBLIC, Signatures.STATIC);
          assertThat(m, arrayWithSize(1));
      }
test_case.class_method_signature: SignaturesTest.test_collect_public_non_static()
test_case.full_signature: @Test public void test_collect_public_non_static()
test_case.identifier: test_collect_public_non_static
test_case.invocations: collectMethods assertThat arrayWithSize
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void test_collect_public_non_static()
focal_class.declarator: NONE = 0
focal_class.modifier: public static final
focal_class.original_string: public static final int NONE = 0;
focal_class.type: int
focal_class.var_name: NONE
focal_class.declarator: ANY = 0
focal_class.modifier: public static final
focal_class.original_string: public static final int ANY = 0;
focal_class.type: int
focal_class.var_name: ANY
focal_class.declarator: STATIC = Modifier.STATIC
focal_class.modifier: public static final
focal_class.original_string: public static final int STATIC = Modifier.STATIC;
focal_class.type: int
focal_class.var_name: STATIC
focal_class.declarator: PRIVATE = Modifier.PRIVATE
focal_class.modifier: public static final
focal_class.original_string: public static final int PRIVATE = Modifier.PRIVATE;
focal_class.type: int
focal_class.var_name: PRIVATE
focal_class.declarator: PROTECTED = Modifier.PROTECTED
focal_class.modifier: public static final
focal_class.original_string: public static final int PROTECTED = Modifier.PROTECTED;
focal_class.type: int
focal_class.var_name: PROTECTED
focal_class.declarator: PUBLIC = Modifier.PUBLIC
focal_class.modifier: public static final
focal_class.original_string: public static final int PUBLIC = Modifier.PUBLIC;
focal_class.type: int
focal_class.var_name: PUBLIC
focal_class.declarator: NOT_DEFAULT = PRIVATE | PROTECTED | PUBLIC
focal_class.modifier: public static final
focal_class.original_string: public static final int NOT_DEFAULT = PRIVATE | PROTECTED | PUBLIC;
focal_class.type: int
focal_class.var_name: NOT_DEFAULT
focal_class.file: objects/src/main/java/org/cthul/objects/reflection/Signatures.java
focal_class.identifier: Signatures
focal_class.class_method_signature: Signatures.bestConstructor(Class<T> clazz, Object[] args)
focal_class.full_signature: public static Constructor<T> bestConstructor(Class<T> clazz, Object[] args)
focal_class.identifier: bestConstructor
focal_class.modifiers: public static
focal_class.parameters: (Class<T> clazz, Object[] args)
focal_class.return: Constructor<T>
focal_class.signature: Constructor<T> bestConstructor(Class<T> clazz, Object[] args)
focal_class.class_method_signature: Signatures.bestConstructor(Class<T> clazz, Class<?>[] argTypes)
focal_class.full_signature: public static Constructor<T> bestConstructor(Class<T> clazz, Class<?>[] argTypes)
focal_class.identifier: bestConstructor
focal_class.modifiers: public static
focal_class.parameters: (Class<T> clazz, Class<?>[] argTypes)
focal_class.return: Constructor<T>
focal_class.signature: Constructor<T> bestConstructor(Class<T> clazz, Class<?>[] argTypes)
focal_class.class_method_signature: Signatures.bestConstructor(Constructor<T>[] constructors, Object[] args)
focal_class.full_signature: public static Constructor<T> bestConstructor(Constructor<T>[] constructors, Object[] args)
focal_class.identifier: bestConstructor
focal_class.modifiers: public static
focal_class.parameters: (Constructor<T>[] constructors, Object[] args)
focal_class.return: Constructor<T>
focal_class.signature: Constructor<T> bestConstructor(Constructor<T>[] constructors, Object[] args)
focal_class.class_method_signature: Signatures.bestConstructor(Constructor<T>[] constructors, Class<?>[] argTypes)
focal_class.full_signature: public static Constructor<T> bestConstructor(Constructor<T>[] constructors, Class<?>[] argTypes)
focal_class.identifier: bestConstructor
focal_class.modifiers: public static
focal_class.parameters: (Constructor<T>[] constructors, Class<?>[] argTypes)
focal_class.return: Constructor<T>
focal_class.signature: Constructor<T> bestConstructor(Constructor<T>[] constructors, Class<?>[] argTypes)
focal_class.class_method_signature: Signatures.candidateConstructors(Class<T> clazz, Object[] args)
focal_class.full_signature: public static Constructor<T>[] candidateConstructors(Class<T> clazz, Object[] args)
focal_class.identifier: candidateConstructors
focal_class.modifiers: public static
focal_class.parameters: (Class<T> clazz, Object[] args)
focal_class.return: Constructor<T>[]
focal_class.signature: Constructor<T>[] candidateConstructors(Class<T> clazz, Object[] args)
focal_class.class_method_signature: Signatures.candidateConstructors(Class<T> clazz, Class<?>[] argTypes)
focal_class.full_signature: public static Constructor<T>[] candidateConstructors(Class<T> clazz, Class<?>[] argTypes)
focal_class.identifier: candidateConstructors
focal_class.modifiers: public static
focal_class.parameters: (Class<T> clazz, Class<?>[] argTypes)
focal_class.return: Constructor<T>[]
focal_class.signature: Constructor<T>[] candidateConstructors(Class<T> clazz, Class<?>[] argTypes)
focal_class.class_method_signature: Signatures.candidateConstructors(Constructor<T>[] constructors, Object[] args)
focal_class.full_signature: public static Constructor<T>[] candidateConstructors(Constructor<T>[] constructors, Object[] args)
focal_class.identifier: candidateConstructors
focal_class.modifiers: public static
focal_class.parameters: (Constructor<T>[] constructors, Object[] args)
focal_class.return: Constructor<T>[]
focal_class.signature: Constructor<T>[] candidateConstructors(Constructor<T>[] constructors, Object[] args)
focal_class.class_method_signature: Signatures.candidateConstructors(Constructor<T>[] constructors, Class<?>[] argTypes)
focal_class.full_signature: public static Constructor<T>[] candidateConstructors(Constructor<T>[] constructors, Class<?>[] argTypes)
focal_class.identifier: candidateConstructors
focal_class.modifiers: public static
focal_class.parameters: (Constructor<T>[] constructors, Class<?>[] argTypes)
focal_class.return: Constructor<T>[]
focal_class.signature: Constructor<T>[] candidateConstructors(Constructor<T>[] constructors, Class<?>[] argTypes)
focal_class.class_method_signature: Signatures.bestMethod(Class<?> clazz, String name, Object[] args)
focal_class.full_signature: public static Method bestMethod(Class<?> clazz, String name, Object[] args)
focal_class.identifier: bestMethod
focal_class.modifiers: public static
focal_class.parameters: (Class<?> clazz, String name, Object[] args)
focal_class.return: Method
focal_class.signature: Method bestMethod(Class<?> clazz, String name, Object[] args)
focal_class.class_method_signature: Signatures.bestMethod(Class<?> clazz, String name, Class<?>[] argTypes)
focal_class.full_signature: public static Method bestMethod(Class<?> clazz, String name, Class<?>[] argTypes)
focal_class.identifier: bestMethod
focal_class.modifiers: public static
focal_class.parameters: (Class<?> clazz, String name, Class<?>[] argTypes)
focal_class.return: Method
focal_class.signature: Method bestMethod(Class<?> clazz, String name, Class<?>[] argTypes)
focal_class.class_method_signature: Signatures.bestMethod(Method[] methods, Object[] args)
focal_class.full_signature: public static Method bestMethod(Method[] methods, Object[] args)
focal_class.identifier: bestMethod
focal_class.modifiers: public static
focal_class.parameters: (Method[] methods, Object[] args)
focal_class.return: Method
focal_class.signature: Method bestMethod(Method[] methods, Object[] args)
focal_class.class_method_signature: Signatures.bestMethod(Method[] methods, Class<?>[] argTypes)
focal_class.full_signature: public static Method bestMethod(Method[] methods, Class<?>[] argTypes)
focal_class.identifier: bestMethod
focal_class.modifiers: public static
focal_class.parameters: (Method[] methods, Class<?>[] argTypes)
focal_class.return: Method
focal_class.signature: Method bestMethod(Method[] methods, Class<?>[] argTypes)
focal_class.class_method_signature: Signatures.candidateMethods(Class<?> clazz, String name, Object[] args)
focal_class.full_signature: public static Method[] candidateMethods(Class<?> clazz, String name, Object[] args)
focal_class.identifier: candidateMethods
focal_class.modifiers: public static
focal_class.parameters: (Class<?> clazz, String name, Object[] args)
focal_class.return: Method[]
focal_class.signature: Method[] candidateMethods(Class<?> clazz, String name, Object[] args)
focal_class.class_method_signature: Signatures.candidateMethods(Class<?> clazz, String name, Class<?>[] argTypes)
focal_class.full_signature: public static Method[] candidateMethods(Class<?> clazz, String name, Class<?>[] argTypes)
focal_class.identifier: candidateMethods
focal_class.modifiers: public static
focal_class.parameters: (Class<?> clazz, String name, Class<?>[] argTypes)
focal_class.return: Method[]
focal_class.signature: Method[] candidateMethods(Class<?> clazz, String name, Class<?>[] argTypes)
focal_class.class_method_signature: Signatures.candidateMethods(Method[] methods, Object[] args)
focal_class.full_signature: public static Method[] candidateMethods(Method[] methods, Object[] args)
focal_class.identifier: candidateMethods
focal_class.modifiers: public static
focal_class.parameters: (Method[] methods, Object[] args)
focal_class.return: Method[]
focal_class.signature: Method[] candidateMethods(Method[] methods, Object[] args)
focal_class.class_method_signature: Signatures.candidateMethods(Method[] methods, Class<?>[] argTypes)
focal_class.full_signature: public static Method[] candidateMethods(Method[] methods, Class<?>[] argTypes)
focal_class.identifier: candidateMethods
focal_class.modifiers: public static
focal_class.parameters: (Method[] methods, Class<?>[] argTypes)
focal_class.return: Method[]
focal_class.signature: Method[] candidateMethods(Method[] methods, Class<?>[] argTypes)
focal_class.class_method_signature: Signatures.best(T[] items, Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.full_signature: public static T best(T[] items, Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.identifier: best
focal_class.modifiers: public static
focal_class.parameters: (T[] items, Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.return: T
focal_class.signature: T best(T[] items, Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.class_method_signature: Signatures.candidates(T[] items, Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.full_signature: public static T[] candidates(T[] items, Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.identifier: candidates
focal_class.modifiers: public static
focal_class.parameters: (T[] items, Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.return: T[]
focal_class.signature: T[] candidates(T[] items, Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.class_method_signature: Signatures.newArray(Class<?> componentType, int length)
focal_class.full_signature: @SuppressWarnings("unchecked") private static T[] newArray(Class<?> componentType, int length)
focal_class.identifier: newArray
focal_class.modifiers: @SuppressWarnings("unchecked") private static
focal_class.parameters: (Class<?> componentType, int length)
focal_class.return: T[]
focal_class.signature: T[] newArray(Class<?> componentType, int length)
focal_class.class_method_signature: Signatures.collectArgTypes(Collection<?> args)
focal_class.full_signature: public static Class<?>[] collectArgTypes(Collection<?> args)
focal_class.identifier: collectArgTypes
focal_class.modifiers: public static
focal_class.parameters: (Collection<?> args)
focal_class.return: Class<?>[]
focal_class.signature: Class<?>[] collectArgTypes(Collection<?> args)
focal_class.class_method_signature: Signatures.collectArgTypes(final Object[] args)
focal_class.full_signature: public static Class<?>[] collectArgTypes(final Object[] args)
focal_class.identifier: collectArgTypes
focal_class.modifiers: public static
focal_class.parameters: (final Object[] args)
focal_class.return: Class<?>[]
focal_class.signature: Class<?>[] collectArgTypes(final Object[] args)
focal_class.class_method_signature: Signatures.collectArgTypes(final Object[] args, final Class<?>[] types, int argIndex, int typeIndex, int length)
focal_class.full_signature: public static void collectArgTypes(final Object[] args, final Class<?>[] types, int argIndex, int typeIndex, int length)
focal_class.identifier: collectArgTypes
focal_class.modifiers: public static
focal_class.parameters: (final Object[] args, final Class<?>[] types, int argIndex, int typeIndex, int length)
focal_class.return: void
focal_class.signature: void collectArgTypes(final Object[] args, final Class<?>[] types, int argIndex, int typeIndex, int length)
focal_class.class_method_signature: Signatures.argType(Object a)
focal_class.full_signature: private static Class<?> argType(Object a)
focal_class.identifier: argType
focal_class.modifiers: private static
focal_class.parameters: (Object a)
focal_class.return: Class<?>
focal_class.signature: Class<?> argType(Object a)
focal_class.class_method_signature: Signatures.collectMethods(Class<?> clazz, String name)
focal_class.full_signature: public static Method[] collectMethods(Class<?> clazz, String name)
focal_class.identifier: collectMethods
focal_class.modifiers: public static
focal_class.parameters: (Class<?> clazz, String name)
focal_class.return: Method[]
focal_class.signature: Method[] collectMethods(Class<?> clazz, String name)
focal_class.class_method_signature: Signatures.collectMethods(Class<?> clazz, String name, int include, int exclude)
focal_class.full_signature: public static Method[] collectMethods(Class<?> clazz, String name, int include, int exclude)
focal_class.identifier: collectMethods
focal_class.modifiers: public static
focal_class.parameters: (Class<?> clazz, String name, int include, int exclude)
focal_class.return: Method[]
focal_class.signature: Method[] collectMethods(Class<?> clazz, String name, int include, int exclude)
focal_class.class_method_signature: Signatures.collectMethods(List<Method> methods, List<Class<?>[]> signatures, Set<Class<?>> visited, Class<?> clazz, String name, int include, int exclude)
focal_class.full_signature: private static void collectMethods(List<Method> methods, List<Class<?>[]> signatures, Set<Class<?>> visited, Class<?> clazz, String name, int include, int exclude)
focal_class.identifier: collectMethods
focal_class.modifiers: private static
focal_class.parameters: (List<Method> methods, List<Class<?>[]> signatures, Set<Class<?>> visited, Class<?> clazz, String name, int include, int exclude)
focal_class.return: void
focal_class.signature: void collectMethods(List<Method> methods, List<Class<?>[]> signatures, Set<Class<?>> visited, Class<?> clazz, String name, int include, int exclude)
focal_class.class_method_signature: Signatures.collectConstructors(Class<T> clazz)
focal_class.full_signature: @SuppressWarnings("unchecked") public static Constructor<T>[] collectConstructors(Class<T> clazz)
focal_class.identifier: collectConstructors
focal_class.modifiers: @SuppressWarnings("unchecked") public static
focal_class.parameters: (Class<T> clazz)
focal_class.return: Constructor<T>[]
focal_class.signature: Constructor<T>[] collectConstructors(Class<T> clazz)
focal_class.class_method_signature: Signatures.collectConstructors(Class<T> clazz, int include, int exclude)
focal_class.full_signature: @SuppressWarnings({"unchecked"}) public static Constructor<T>[] collectConstructors(Class<T> clazz, int include, int exclude)
focal_class.identifier: collectConstructors
focal_class.modifiers: @SuppressWarnings({"unchecked"}) public static
focal_class.parameters: (Class<T> clazz, int include, int exclude)
focal_class.return: Constructor<T>[]
focal_class.signature: Constructor<T>[] collectConstructors(Class<T> clazz, int include, int exclude)
focal_class.class_method_signature: Signatures.include(int mod, int include, int exclude)
focal_class.full_signature: private static boolean include(int mod, int include, int exclude)
focal_class.identifier: include
focal_class.modifiers: private static
focal_class.parameters: (int mod, int include, int exclude)
focal_class.return: boolean
focal_class.signature: boolean include(int mod, int include, int exclude)
focal_class.class_method_signature: Signatures.collectSignatures(final Method[] methods)
focal_class.full_signature: public static Class<?>[][] collectSignatures(final Method[] methods)
focal_class.identifier: collectSignatures
focal_class.modifiers: public static
focal_class.parameters: (final Method[] methods)
focal_class.return: Class<?>[][]
focal_class.signature: Class<?>[][] collectSignatures(final Method[] methods)
focal_class.class_method_signature: Signatures.collectVarArgs(final Method[] methods)
focal_class.full_signature: public static boolean[] collectVarArgs(final Method[] methods)
focal_class.identifier: collectVarArgs
focal_class.modifiers: public static
focal_class.parameters: (final Method[] methods)
focal_class.return: boolean[]
focal_class.signature: boolean[] collectVarArgs(final Method[] methods)
focal_class.class_method_signature: Signatures.collectSignatures(final Constructor<?>[] constructors)
focal_class.full_signature: public static Class<?>[][] collectSignatures(final Constructor<?>[] constructors)
focal_class.identifier: collectSignatures
focal_class.modifiers: public static
focal_class.parameters: (final Constructor<?>[] constructors)
focal_class.return: Class<?>[][]
focal_class.signature: Class<?>[][] collectSignatures(final Constructor<?>[] constructors)
focal_class.class_method_signature: Signatures.collectVarArgs(final Constructor<?>[] constructors)
focal_class.full_signature: public static boolean[] collectVarArgs(final Constructor<?>[] constructors)
focal_class.identifier: collectVarArgs
focal_class.modifiers: public static
focal_class.parameters: (final Constructor<?>[] constructors)
focal_class.return: boolean[]
focal_class.signature: boolean[] collectVarArgs(final Constructor<?>[] constructors)
focal_class.class_method_signature: Signatures.bestMatch(Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.full_signature: public static int bestMatch(Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.identifier: bestMatch
focal_class.modifiers: public static
focal_class.parameters: (Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.return: int
focal_class.signature: int bestMatch(Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.class_method_signature: Signatures.bestMatch(final Class<?>[][] signatures, final boolean[] varArgs, final JavaSignatureComparator jsCmp)
focal_class.full_signature: public static int bestMatch(final Class<?>[][] signatures, final boolean[] varArgs, final JavaSignatureComparator jsCmp)
focal_class.identifier: bestMatch
focal_class.modifiers: public static
focal_class.parameters: (final Class<?>[][] signatures, final boolean[] varArgs, final JavaSignatureComparator jsCmp)
focal_class.return: int
focal_class.signature: int bestMatch(final Class<?>[][] signatures, final boolean[] varArgs, final JavaSignatureComparator jsCmp)
focal_class.class_method_signature: Signatures.candidateMatches(Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.full_signature: public static int[] candidateMatches(Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.identifier: candidateMatches
focal_class.modifiers: public static
focal_class.parameters: (Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.return: int[]
focal_class.signature: int[] candidateMatches(Class<?>[][] signatures, boolean[] varArgs, Class<?>[] argTypes)
focal_class.class_method_signature: Signatures.candidateMatches(Class<?>[][] signatures, boolean[] varArgs, JavaSignatureComparator jsCmp)
focal_class.full_signature: public static int[] candidateMatches(Class<?>[][] signatures, boolean[] varArgs, JavaSignatureComparator jsCmp)
focal_class.identifier: candidateMatches
focal_class.modifiers: public static
focal_class.parameters: (Class<?>[][] signatures, boolean[] varArgs, JavaSignatureComparator jsCmp)
focal_class.return: int[]
focal_class.signature: int[] candidateMatches(Class<?>[][] signatures, boolean[] varArgs, JavaSignatureComparator jsCmp)
focal_class.class_method_signature: Signatures.fixVarArgs(Class<?>[] paramsWithVarArgs, Object[] arguments)
focal_class.full_signature: public static Object[] fixVarArgs(Class<?>[] paramsWithVarArgs, Object[] arguments)
focal_class.identifier: fixVarArgs
focal_class.modifiers: public static
focal_class.parameters: (Class<?>[] paramsWithVarArgs, Object[] arguments)
focal_class.return: Object[]
focal_class.signature: Object[] fixVarArgs(Class<?>[] paramsWithVarArgs, Object[] arguments)
focal_class.class_method_signature: Signatures.fixVarArgs(int length, Class<?> varArgType, Object[] arguments)
focal_class.full_signature: @SuppressWarnings("SuspiciousSystemArraycopy") public static Object[] fixVarArgs(int length, Class<?> varArgType, Object[] arguments)
focal_class.identifier: fixVarArgs
focal_class.modifiers: @SuppressWarnings("SuspiciousSystemArraycopy") public static
focal_class.parameters: (int length, Class<?> varArgType, Object[] arguments)
focal_class.return: Object[]
focal_class.signature: Object[] fixVarArgs(int length, Class<?> varArgType, Object[] arguments)
focal_class.class_method_signature: Signatures.newInstance(Constructor<T> constructor, Object... args)
focal_class.full_signature: public static T newInstance(Constructor<T> constructor, Object... args)
focal_class.identifier: newInstance
focal_class.modifiers: public static
focal_class.parameters: (Constructor<T> constructor, Object... args)
focal_class.return: T
focal_class.signature: T newInstance(Constructor<T> constructor, Object... args)
focal_class.class_method_signature: Signatures.invoke(Object instance, Method method, Object... args)
focal_class.full_signature: public static Object invoke(Object instance, Method method, Object... args)
focal_class.identifier: invoke
focal_class.modifiers: public static
focal_class.parameters: (Object instance, Method method, Object... args)
focal_class.return: Object
focal_class.signature: Object invoke(Object instance, Method method, Object... args)
focal_method.body: public static Method[] collectMethods(Class<?> clazz, String name) {
          final List<Method> result = new ArrayList<>();
          for (Method m: clazz.getMethods()) {
              if (m.getName().equals(name)) result.add(m);
          }
          return result.toArray(new Method[result.size()]);
      }
focal_method.class_method_signature: Signatures.collectMethods(Class<?> clazz, String name)
focal_method.full_signature: public static Method[] collectMethods(Class<?> clazz, String name)
focal_method.identifier: collectMethods
focal_method.invocations: getMethods equals getName add toArray size
focal_method.modifiers: public static
focal_method.parameters: (Class<?> clazz, String name)
focal_method.return: Method[]
focal_method.signature: Method[] collectMethods(Class<?> clazz, String name)