test_class.file: examples/src/test/java/NonConstructableGenericSubClassTest.java
test_class.identifier: NonConstructableGenericSubClassTest
test_case.body: @Test
      @SuppressWarnings("unchecked")
      public void shouldCreateBaseClassInstanceEvenWithSubclassNewInstance() throws NoSuchMethodException {
          final NonConstructableGenericBaseClass<Long> instance =
                  NonConstructableGenericBaseClass.newInstance(NonConstructableGenericBaseClass.class, Long.class, 5);
          assertThat(valueOf(instance.getFieldA()), is(5));
          assertTrue(instance.getMemberClass() == Long.class);
      }
test_case.class_method_signature: NonConstructableGenericSubClassTest.shouldCreateBaseClassInstanceEvenWithSubclassNewInstance()
test_case.full_signature: @Test @SuppressWarnings("unchecked") public void shouldCreateBaseClassInstanceEvenWithSubclassNewInstance()
test_case.identifier: shouldCreateBaseClassInstanceEvenWithSubclassNewInstance
test_case.invocations: newInstance assertThat valueOf getFieldA is assertTrue getMemberClass
test_case.modifiers: @Test @SuppressWarnings("unchecked") public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldCreateBaseClassInstanceEvenWithSubclassNewInstance()
focal_class.declarator: fieldB
focal_class.modifier: private final
focal_class.original_string: private final int fieldB;
focal_class.type: int
focal_class.var_name: fieldB
focal_class.declarator: fieldC
focal_class.modifier: private final
focal_class.original_string: private final int fieldC;
focal_class.type: int
focal_class.var_name: fieldC
focal_class.declarator: fullConstructorArgTypes = {Class.class, int.class, int.class, int.class}
focal_class.modifier: static final
focal_class.original_string: static final Class[] fullConstructorArgTypes = {Class.class, int.class, int.class, int.class};
focal_class.type: Class[]
focal_class.var_name: fullConstructorArgTypes
focal_class.declarator: fullConstructor
focal_class.modifier: static final
focal_class.original_string: static final Constructor<NonConstructableGenericSubClass> fullConstructor;
focal_class.type: Constructor<NonConstructableGenericSubClass>
focal_class.var_name: fullConstructor
focal_class.file: examples/src/main/java/NonConstructableGenericSubClass.java
focal_class.identifier: NonConstructableGenericSubClass
focal_class.class_method_signature: NonConstructableGenericSubClass.newInstance(Class<T> memberClass, int argA)
focal_class.full_signature: @SuppressWarnings("unchecked") public static NonConstructableGenericSubClass<T> newInstance(Class<T> memberClass, int argA)
focal_class.identifier: newInstance
focal_class.modifiers: @SuppressWarnings("unchecked") public static
focal_class.parameters: (Class<T> memberClass, int argA)
focal_class.return: NonConstructableGenericSubClass<T>
focal_class.signature: NonConstructableGenericSubClass<T> newInstance(Class<T> memberClass, int argA)
focal_class.class_method_signature: NonConstructableGenericSubClass.newInstance(Class<T> memberClass, int argA, int argB, int argC)
focal_class.full_signature: @SuppressWarnings("unchecked") public static NonConstructableGenericSubClass<T> newInstance(Class<T> memberClass, int argA, int argB, int argC)
focal_class.identifier: newInstance
focal_class.modifiers: @SuppressWarnings("unchecked") public static
focal_class.parameters: (Class<T> memberClass, int argA, int argB, int argC)
focal_class.return: NonConstructableGenericSubClass<T>
focal_class.signature: NonConstructableGenericSubClass<T> newInstance(Class<T> memberClass, int argA, int argB, int argC)
focal_class.class_method_signature: NonConstructableGenericSubClass.NonConstructableGenericSubClass(Class<T> memberClass, int argA, int argB, int argC)
focal_class.full_signature: public  NonConstructableGenericSubClass(Class<T> memberClass, int argA, int argB, int argC)
focal_class.identifier: NonConstructableGenericSubClass
focal_class.modifiers: public
focal_class.parameters: (Class<T> memberClass, int argA, int argB, int argC)
focal_class.signature:  NonConstructableGenericSubClass(Class<T> memberClass, int argA, int argB, int argC)
focal_class.class_method_signature: NonConstructableGenericSubClass.NonConstructableGenericSubClass(Class<T> memberClass, int argA)
focal_class.full_signature: public  NonConstructableGenericSubClass(Class<T> memberClass, int argA)
focal_class.identifier: NonConstructableGenericSubClass
focal_class.modifiers: public
focal_class.parameters: (Class<T> memberClass, int argA)
focal_class.signature:  NonConstructableGenericSubClass(Class<T> memberClass, int argA)
focal_class.class_method_signature: NonConstructableGenericSubClass.getFieldB()
focal_class.full_signature: public int getFieldB()
focal_class.identifier: getFieldB
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getFieldB()
focal_class.class_method_signature: NonConstructableGenericSubClass.getFieldC()
focal_class.full_signature: public int getFieldC()
focal_class.identifier: getFieldC
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getFieldC()
focal_class.superclass: extends NonConstructableGenericBaseClass<T>
focal_method.body: @SuppressWarnings("unchecked")
      public static <T> NonConstructableGenericSubClass<T> newInstance(Class<T> memberClass, int argA)
              throws NoSuchMethodException {
          return (NonConstructableGenericSubClass<T>)
                  NonConstructableGenericBaseClass.newInstance(NonConstructableGenericSubClass.class, memberClass, argA);
      }
focal_method.class_method_signature: NonConstructableGenericSubClass.newInstance(Class<T> memberClass, int argA)
focal_method.full_signature: @SuppressWarnings("unchecked") public static NonConstructableGenericSubClass<T> newInstance(Class<T> memberClass, int argA)
focal_method.identifier: newInstance
focal_method.invocations: newInstance
focal_method.modifiers: @SuppressWarnings("unchecked") public static
focal_method.parameters: (Class<T> memberClass, int argA)
focal_method.return: NonConstructableGenericSubClass<T>
focal_method.signature: NonConstructableGenericSubClass<T> newInstance(Class<T> memberClass, int argA)