test_class.declarator: counter
test_class.modifier: private static
test_class.original_string: private static int counter;
test_class.type: int
test_class.var_name: counter
test_class.file: matchers/src/test/java/org/cthul/proc/ReflectiveProcTest.java
test_class.identifier: ReflectiveProcTest
test_case.body: @Test
      public void test_implicitClass_invoke() {
          Proc proc = Procs.invoke("count");
          assertThat(proc.call(11).hasResult(), is(true));
          assertThat(counter, is(11));
      }
test_case.class_method_signature: ReflectiveProcTest.test_implicitClass_invoke()
test_case.full_signature: @Test public void test_implicitClass_invoke()
test_case.identifier: test_implicitClass_invoke
test_case.invocations: invoke assertThat hasResult call is assertThat is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void test_implicitClass_invoke()
focal_class.declarator: ANY_PARAMETERS = null
focal_class.modifier: public static final
focal_class.original_string: public static final Class[] ANY_PARAMETERS = null;
focal_class.type: Class[]
focal_class.var_name: ANY_PARAMETERS
focal_class.declarator: PARAM_COUNT = { 
          new Class[0], new Class[1], new Class[2], new Class[3], new Class[4], 
          new Class[5], new Class[6], new Class[7], new Class[8], new Class[9]}
focal_class.modifier: private static final
focal_class.original_string: private static final Class[][] PARAM_COUNT = { 
          new Class[0], new Class[1], new Class[2], new Class[3], new Class[4], 
          new Class[5], new Class[6], new Class[7], new Class[8], new Class[9]};
focal_class.type: Class[][]
focal_class.var_name: PARAM_COUNT
focal_class.declarator: NO_PARAMETERS = PARAM_COUNT[0]
focal_class.modifier: public static final
focal_class.original_string: public static final Class[] NO_PARAMETERS = PARAM_COUNT[0];
focal_class.type: Class[]
focal_class.var_name: NO_PARAMETERS
focal_class.declarator: instance
focal_class.modifier: private final
focal_class.original_string: private final Object instance;
focal_class.type: Object
focal_class.var_name: instance
focal_class.declarator: method
focal_class.modifier: private final
focal_class.original_string: private final Method method;
focal_class.type: Method
focal_class.var_name: method
focal_class.declarator: constructor
focal_class.modifier: private final
focal_class.original_string: private final Constructor constructor;
focal_class.type: Constructor
focal_class.var_name: constructor
focal_class.declarator: paramCount
focal_class.modifier: private final
focal_class.original_string: private final int paramCount;
focal_class.type: int
focal_class.var_name: paramCount
focal_class.declarator: varArgType
focal_class.modifier: private final
focal_class.original_string: private final Class varArgType;
focal_class.type: Class
focal_class.var_name: varArgType
focal_class.file: matchers/src/main/java/org/cthul/proc/ReflectiveProc.java
focal_class.identifier: ReflectiveProc
focal_class.class_method_signature: ReflectiveProc.anyParameters(int count)
focal_class.full_signature: public static Class[] anyParameters(int count)
focal_class.identifier: anyParameters
focal_class.modifiers: public static
focal_class.parameters: (int count)
focal_class.return: Class[]
focal_class.signature: Class[] anyParameters(int count)
focal_class.class_method_signature: ReflectiveProc.internAnyParameters(int count)
focal_class.full_signature: static Class[] internAnyParameters(int count)
focal_class.identifier: internAnyParameters
focal_class.modifiers: static
focal_class.parameters: (int count)
focal_class.return: Class[]
focal_class.signature: Class[] internAnyParameters(int count)
focal_class.class_method_signature: ReflectiveProc.newInstance(Class<?> clazz, Class... paramTypes)
focal_class.full_signature: public static ReflectiveProc newInstance(Class<?> clazz, Class... paramTypes)
focal_class.identifier: newInstance
focal_class.modifiers: public static
focal_class.parameters: (Class<?> clazz, Class... paramTypes)
focal_class.return: ReflectiveProc
focal_class.signature: ReflectiveProc newInstance(Class<?> clazz, Class... paramTypes)
focal_class.class_method_signature: ReflectiveProc.newInstanceWith(Class<?> clazz, Object... args)
focal_class.full_signature: public static PN newInstanceWith(Class<?> clazz, Object... args)
focal_class.identifier: newInstanceWith
focal_class.modifiers: public static
focal_class.parameters: (Class<?> clazz, Object... args)
focal_class.return: PN
focal_class.signature: PN newInstanceWith(Class<?> clazz, Object... args)
focal_class.class_method_signature: ReflectiveProc.invoke(Class clazz, String name, Class... paramTypes)
focal_class.full_signature: public static ReflectiveProc invoke(Class clazz, String name, Class... paramTypes)
focal_class.identifier: invoke
focal_class.modifiers: public static
focal_class.parameters: (Class clazz, String name, Class... paramTypes)
focal_class.return: ReflectiveProc
focal_class.signature: ReflectiveProc invoke(Class clazz, String name, Class... paramTypes)
focal_class.class_method_signature: ReflectiveProc.invoke(Object object, String name, Class... paramTypes)
focal_class.full_signature: public static ReflectiveProc invoke(Object object, String name, Class... paramTypes)
focal_class.identifier: invoke
focal_class.modifiers: public static
focal_class.parameters: (Object object, String name, Class... paramTypes)
focal_class.return: ReflectiveProc
focal_class.signature: ReflectiveProc invoke(Object object, String name, Class... paramTypes)
focal_class.class_method_signature: ReflectiveProc.invokeWith(Class clazz, String name, Object... args)
focal_class.full_signature: public static PN invokeWith(Class clazz, String name, Object... args)
focal_class.identifier: invokeWith
focal_class.modifiers: public static
focal_class.parameters: (Class clazz, String name, Object... args)
focal_class.return: PN
focal_class.signature: PN invokeWith(Class clazz, String name, Object... args)
focal_class.class_method_signature: ReflectiveProc.invokeWith(Object object, String name, Object... args)
focal_class.full_signature: public static PN invokeWith(Object object, String name, Object... args)
focal_class.identifier: invokeWith
focal_class.modifiers: public static
focal_class.parameters: (Object object, String name, Object... args)
focal_class.return: PN
focal_class.signature: PN invokeWith(Object object, String name, Object... args)
focal_class.class_method_signature: ReflectiveProc.notFound(Object owner, String name, Object[] args)
focal_class.full_signature: private static IllegalArgumentException notFound(Object owner, String name, Object[] args)
focal_class.identifier: notFound
focal_class.modifiers: private static
focal_class.parameters: (Object owner, String name, Object[] args)
focal_class.return: IllegalArgumentException
focal_class.signature: IllegalArgumentException notFound(Object owner, String name, Object[] args)
focal_class.class_method_signature: ReflectiveProc.describeMethod(String invokee, String method, Class[] paramTypes)
focal_class.full_signature: private static String describeMethod(String invokee, String method, Class[] paramTypes)
focal_class.identifier: describeMethod
focal_class.modifiers: private static
focal_class.parameters: (String invokee, String method, Class[] paramTypes)
focal_class.return: String
focal_class.signature: String describeMethod(String invokee, String method, Class[] paramTypes)
focal_class.class_method_signature: ReflectiveProc.ReflectiveProc(Object instance, Method method)
focal_class.full_signature: public  ReflectiveProc(Object instance, Method method)
focal_class.identifier: ReflectiveProc
focal_class.modifiers: public
focal_class.parameters: (Object instance, Method method)
focal_class.signature:  ReflectiveProc(Object instance, Method method)
focal_class.class_method_signature: ReflectiveProc.expectedArgCount(Method method, Object instance)
focal_class.full_signature: private static int expectedArgCount(Method method, Object instance)
focal_class.identifier: expectedArgCount
focal_class.modifiers: private static
focal_class.parameters: (Method method, Object instance)
focal_class.return: int
focal_class.signature: int expectedArgCount(Method method, Object instance)
focal_class.class_method_signature: ReflectiveProc.isStatic(Method method)
focal_class.full_signature: private static boolean isStatic(Method method)
focal_class.identifier: isStatic
focal_class.modifiers: private static
focal_class.parameters: (Method method)
focal_class.return: boolean
focal_class.signature: boolean isStatic(Method method)
focal_class.class_method_signature: ReflectiveProc.ReflectiveProc(Constructor constructor)
focal_class.full_signature: public  ReflectiveProc(Constructor constructor)
focal_class.identifier: ReflectiveProc
focal_class.modifiers: public
focal_class.parameters: (Constructor constructor)
focal_class.signature:  ReflectiveProc(Constructor constructor)
focal_class.class_method_signature: ReflectiveProc.expectedArgCount(Constructor constructor)
focal_class.full_signature: private static int expectedArgCount(Constructor constructor)
focal_class.identifier: expectedArgCount
focal_class.modifiers: private static
focal_class.parameters: (Constructor constructor)
focal_class.return: int
focal_class.signature: int expectedArgCount(Constructor constructor)
focal_class.class_method_signature: ReflectiveProc.runN(Object[] args)
focal_class.full_signature: @Override protected Object runN(Object[] args)
focal_class.identifier: runN
focal_class.modifiers: @Override protected
focal_class.parameters: (Object[] args)
focal_class.return: Object
focal_class.signature: Object runN(Object[] args)
focal_class.class_method_signature: ReflectiveProc.fixVarArgs(Object[] args)
focal_class.full_signature: private Object[] fixVarArgs(Object[] args)
focal_class.identifier: fixVarArgs
focal_class.modifiers: private
focal_class.parameters: (Object[] args)
focal_class.return: Object[]
focal_class.signature: Object[] fixVarArgs(Object[] args)
focal_class.class_method_signature: ReflectiveProc.invoke(Object[] args)
focal_class.full_signature: private Object invoke(Object[] args)
focal_class.identifier: invoke
focal_class.modifiers: private
focal_class.parameters: (Object[] args)
focal_class.return: Object
focal_class.signature: Object invoke(Object[] args)
focal_class.class_method_signature: ReflectiveProc.newInstance(Object[] args)
focal_class.full_signature: private Object newInstance(Object[] args)
focal_class.identifier: newInstance
focal_class.modifiers: private
focal_class.parameters: (Object[] args)
focal_class.return: Object
focal_class.signature: Object newInstance(Object[] args)
focal_class.superclass: extends PN
focal_method.body: public static ReflectiveProc invoke(Class clazz, String name, Class... paramTypes) {
          Method m = Signatures.bestMethod(clazz, name, paramTypes);
          if (m == null) {
              throw notFound(clazz, name, paramTypes);
          }
          return new ReflectiveProc(null, m);
      }
focal_method.class_method_signature: ReflectiveProc.invoke(Class clazz, String name, Class... paramTypes)
focal_method.full_signature: public static ReflectiveProc invoke(Class clazz, String name, Class... paramTypes)
focal_method.identifier: invoke
focal_method.invocations: bestMethod notFound
focal_method.modifiers: public static
focal_method.parameters: (Class clazz, String name, Class... paramTypes)
focal_method.return: ReflectiveProc
focal_method.signature: ReflectiveProc invoke(Class clazz, String name, Class... paramTypes)