test_class.file: simple-spring-memcached/src/test/java/com/google/code/ssm/util/UtilsTest.java
test_class.identifier: UtilsTest
test_case.body: @Test
      public void getMethodArg() throws Exception {
          final String answer = "bubba";
          final Object[] args = new Object[] { null, answer, "blue" };
  
          final Method method = AOPTargetClass1.class.getDeclaredMethod("doIt", String.class, String.class, String.class);
  
          try {
              Utils.getMethodArg(-1, args, method.toString());
              fail("Expected Exception");
          } catch (InvalidParameterException ex) {
              assertTrue(ex.getMessage().indexOf("is invalid") != -1);
              System.out.println(ex.getMessage());
          }
  
          try {
              Utils.getMethodArg(3, args, method.toString());
              fail("Expected Exception");
          } catch (InvalidParameterException ex) {
              assertTrue(ex.getMessage().indexOf("too big") != -1);
              System.out.println(ex.getMessage());
          }
          try {
              Utils.getMethodArg(4, args, method.toString());
              fail("Expected Exception");
          } catch (InvalidParameterException ex) {
              assertTrue(ex.getMessage().indexOf("too big") != -1);
              System.out.println(ex.getMessage());
          }
  
          try {
              Utils.getMethodArg(0, args, method.toString());
              fail("Expected Exception");
          } catch (InvalidParameterException ex) {
              assertTrue(ex.getMessage().indexOf("null") != -1);
              System.out.println(ex.getMessage());
          }
  
          assertEquals(answer, Utils.getMethodArg(1, args, method.toString()));
      }
test_case.class_method_signature: UtilsTest.getMethodArg()
test_case.full_signature: @Test public void getMethodArg()
test_case.identifier: getMethodArg
test_case.invocations: getDeclaredMethod getMethodArg toString fail assertTrue indexOf getMessage println getMessage getMethodArg toString fail assertTrue indexOf getMessage println getMessage getMethodArg toString fail assertTrue indexOf getMessage println getMessage getMethodArg toString fail assertTrue indexOf getMessage println getMessage assertEquals getMethodArg toString
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void getMethodArg()
focal_class.file: simple-spring-memcached/src/main/java/com/google/code/ssm/util/Utils.java
focal_class.identifier: Utils
focal_class.class_method_signature: Utils.Utils()
focal_class.full_signature: private  Utils()
focal_class.identifier: Utils
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  Utils()
focal_class.class_method_signature: Utils.getMethodArg(final int index, final Object[] args, final String methodDesc)
focal_class.full_signature: public static Object getMethodArg(final int index, final Object[] args, final String methodDesc)
focal_class.identifier: getMethodArg
focal_class.modifiers: public static
focal_class.parameters: (final int index, final Object[] args, final String methodDesc)
focal_class.return: Object
focal_class.signature: Object getMethodArg(final int index, final Object[] args, final String methodDesc)
focal_class.class_method_signature: Utils.getMethodArgs(final Collection<Integer> indexes, final Object[] args, final String methodDesc)
focal_class.full_signature: public static Object[] getMethodArgs(final Collection<Integer> indexes, final Object[] args, final String methodDesc)
focal_class.identifier: getMethodArgs
focal_class.modifiers: public static
focal_class.parameters: (final Collection<Integer> indexes, final Object[] args, final String methodDesc)
focal_class.return: Object[]
focal_class.signature: Object[] getMethodArgs(final Collection<Integer> indexes, final Object[] args, final String methodDesc)
focal_class.class_method_signature: Utils.getMethodParameterTypes(final Collection<Integer> indexes, final Method method)
focal_class.full_signature: public static Class<?>[] getMethodParameterTypes(final Collection<Integer> indexes, final Method method)
focal_class.identifier: getMethodParameterTypes
focal_class.modifiers: public static
focal_class.parameters: (final Collection<Integer> indexes, final Method method)
focal_class.return: Class<?>[]
focal_class.signature: Class<?>[] getMethodParameterTypes(final Collection<Integer> indexes, final Method method)
focal_method.body: public static Object getMethodArg(final int index, final Object[] args, final String methodDesc) {
          if (index < 0) {
              throw new InvalidParameterException(String.format("An index of %s is invalid", index));
          }
          if (args.length <= index) {
              throw new InvalidParameterException(String.format("An index of %s is too big for the number of arguments in [%s]", index,
                      methodDesc));
          }
          final Object indexObject = args[index];
          if (indexObject == null) {
              throw new InvalidParameterException(String.format("The argument passed into [%s] at index %s is null.", methodDesc, index));
          }
          return indexObject;
      }
focal_method.class_method_signature: Utils.getMethodArg(final int index, final Object[] args, final String methodDesc)
focal_method.full_signature: public static Object getMethodArg(final int index, final Object[] args, final String methodDesc)
focal_method.identifier: getMethodArg
focal_method.invocations: format format format
focal_method.modifiers: public static
focal_method.parameters: (final int index, final Object[] args, final String methodDesc)
focal_method.return: Object
focal_method.signature: Object getMethodArg(final int index, final Object[] args, final String methodDesc)