test_class.declarator: defaultClassInjector
test_class.original_string: DefaultClassInjector defaultClassInjector;
test_class.type: DefaultClassInjector
test_class.var_name: defaultClassInjector
test_class.declarator: typeDeterminator
test_class.modifier: @Mock
test_class.original_string: @Mock
      TypeDeterminator typeDeterminator;
test_class.type: TypeDeterminator
test_class.var_name: typeDeterminator
test_class.declarator: typeConfig
test_class.modifier: @Mock
test_class.original_string: @Mock
      TypeConfig typeConfig;
test_class.type: TypeConfig
test_class.var_name: typeConfig
test_class.declarator: typeContainer
test_class.modifier: @Mock
test_class.original_string: @Mock
      TypeContainer typeContainer;
test_class.type: TypeContainer
test_class.var_name: typeContainer
test_class.declarator: injectionSet
test_class.modifier: @Mock(answer = Answers.RETURNS_DEEP_STUBS)
test_class.original_string: @Mock(answer = Answers.RETURNS_DEEP_STUBS)
      InjectionSet injectionSet;
test_class.type: InjectionSet
test_class.var_name: injectionSet
test_class.declarator: classes
test_class.original_string: Map<String, Class<?>> classes;
test_class.type: Map<String, Class<?>>
test_class.var_name: classes
test_class.declarator: inheritanceTree
test_class.original_string: Map<String, Class<?>[]> inheritanceTree;
test_class.type: Map<String, Class<?>[]>
test_class.var_name: inheritanceTree
test_class.declarator: classLoader
test_class.original_string: ClassLoader classLoader;
test_class.type: ClassLoader
test_class.var_name: classLoader
test_class.file: core/src/test/java/com/github/jsr330/instance/DefaultClassInjectorTest.java
test_class.identifier: DefaultClassInjectorTest
test_case.body: @Test
      public void injectStaticMembers_NoClasses() {
          defaultClassInjector.injectStaticMembers(classes, inheritanceTree, classLoader);
          
          verifyZeroInteractions(typeConfig, typeDeterminator);
      }
test_case.class_method_signature: DefaultClassInjectorTest.injectStaticMembers_NoClasses()
test_case.full_signature: @Test public void injectStaticMembers_NoClasses()
test_case.identifier: injectStaticMembers_NoClasses
test_case.invocations: injectStaticMembers verifyZeroInteractions
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void injectStaticMembers_NoClasses()
focal_class.declarator: EMPTY_CLASS_ARRAY = new Class<?>[] {}
focal_class.modifier: private static final
focal_class.original_string: private static final Class<?>[] EMPTY_CLASS_ARRAY = new Class<?>[] {};
focal_class.type: Class<?>[]
focal_class.var_name: EMPTY_CLASS_ARRAY
focal_class.declarator: LOGGER = LoggerFactory.getLogger(DefaultClassInjector.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = LoggerFactory.getLogger(DefaultClassInjector.class);
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.declarator: providers = new TreeMap<String, Provider<?>>()
focal_class.modifier: protected
focal_class.original_string: protected Map<String, Provider<?>> providers = new TreeMap<String, Provider<?>>();
focal_class.type: Map<String, Provider<?>>
focal_class.var_name: providers
focal_class.declarator: singletons = new TreeMap<String, Object>()
focal_class.modifier: protected
focal_class.original_string: protected Map<String, Object> singletons = new TreeMap<String, Object>();
focal_class.type: Map<String, Object>
focal_class.var_name: singletons
focal_class.declarator: typeDeterminator = new DefaultTypeDeterminator()
focal_class.modifier: protected
focal_class.original_string: protected TypeDeterminator typeDeterminator = new DefaultTypeDeterminator();
focal_class.type: TypeDeterminator
focal_class.var_name: typeDeterminator
focal_class.declarator: types = new TreeMap<String, TypeContainer>()
focal_class.modifier: protected
focal_class.original_string: protected Map<String, TypeContainer> types = new TreeMap<String, TypeContainer>();
focal_class.type: Map<String, TypeContainer>
focal_class.var_name: types
focal_class.declarator: config
focal_class.modifier: protected
focal_class.original_string: protected TypeConfig config;
focal_class.type: TypeConfig
focal_class.var_name: config
focal_class.file: core/src/main/java/com/github/jsr330/instance/DefaultClassInjector.java
focal_class.identifier: DefaultClassInjector
focal_class.interfaces: implements ClassInjector
focal_class.class_method_signature: DefaultClassInjector.DefaultClassInjector()
focal_class.full_signature: public  DefaultClassInjector()
focal_class.identifier: DefaultClassInjector
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  DefaultClassInjector()
focal_class.class_method_signature: DefaultClassInjector.DefaultClassInjector(TypeConfig config)
focal_class.full_signature: public  DefaultClassInjector(TypeConfig config)
focal_class.identifier: DefaultClassInjector
focal_class.modifiers: public
focal_class.parameters: (TypeConfig config)
focal_class.signature:  DefaultClassInjector(TypeConfig config)
focal_class.class_method_signature: DefaultClassInjector.DefaultClassInjector(TypeDeterminator typeDeterminator)
focal_class.full_signature: public  DefaultClassInjector(TypeDeterminator typeDeterminator)
focal_class.identifier: DefaultClassInjector
focal_class.modifiers: public
focal_class.parameters: (TypeDeterminator typeDeterminator)
focal_class.signature:  DefaultClassInjector(TypeDeterminator typeDeterminator)
focal_class.class_method_signature: DefaultClassInjector.DefaultClassInjector(TypeConfig config, TypeDeterminator typeDeterminator)
focal_class.full_signature: public  DefaultClassInjector(TypeConfig config, TypeDeterminator typeDeterminator)
focal_class.identifier: DefaultClassInjector
focal_class.modifiers: public
focal_class.parameters: (TypeConfig config, TypeDeterminator typeDeterminator)
focal_class.signature:  DefaultClassInjector(TypeConfig config, TypeDeterminator typeDeterminator)
focal_class.class_method_signature: DefaultClassInjector.setTypeConfig(TypeConfig config)
focal_class.full_signature: @Override public void setTypeConfig(TypeConfig config)
focal_class.identifier: setTypeConfig
focal_class.modifiers: @Override public
focal_class.parameters: (TypeConfig config)
focal_class.return: void
focal_class.signature: void setTypeConfig(TypeConfig config)
focal_class.class_method_signature: DefaultClassInjector.injectStaticMembers(Map<String, Class<?>> classes, Map<String, Class<?>[]> inheritanceTree, ClassLoader classLoader)
focal_class.full_signature: @SuppressWarnings("unchecked") @Override public void injectStaticMembers(Map<String, Class<?>> classes, Map<String, Class<?>[]> inheritanceTree, ClassLoader classLoader)
focal_class.identifier: injectStaticMembers
focal_class.modifiers: @SuppressWarnings("unchecked") @Override public
focal_class.parameters: (Map<String, Class<?>> classes, Map<String, Class<?>[]> inheritanceTree, ClassLoader classLoader)
focal_class.return: void
focal_class.signature: void injectStaticMembers(Map<String, Class<?>> classes, Map<String, Class<?>[]> inheritanceTree, ClassLoader classLoader)
focal_class.class_method_signature: DefaultClassInjector.instance(Class<T> type, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader, Class<?>[] generics, Annotation qualifier)
focal_class.full_signature: @Override @SuppressWarnings("unchecked") public T instance(Class<T> type, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader, Class<?>[] generics, Annotation qualifier)
focal_class.identifier: instance
focal_class.modifiers: @Override @SuppressWarnings("unchecked") public
focal_class.parameters: (Class<T> type, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader, Class<?>[] generics, Annotation qualifier)
focal_class.return: T
focal_class.signature: T instance(Class<T> type, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader, Class<?>[] generics, Annotation qualifier)
focal_class.class_method_signature: DefaultClassInjector.generateTypeContainer(Class<T> type, Map<String, Class<? extends T>[]> inheritanceTree, Annotation qualifier,
              ClassLoader classLoader)
focal_class.full_signature: protected TypeContainer generateTypeContainer(Class<T> type, Map<String, Class<? extends T>[]> inheritanceTree, Annotation qualifier,
              ClassLoader classLoader)
focal_class.identifier: generateTypeContainer
focal_class.modifiers: protected
focal_class.parameters: (Class<T> type, Map<String, Class<? extends T>[]> inheritanceTree, Annotation qualifier,
              ClassLoader classLoader)
focal_class.return: TypeContainer
focal_class.signature: TypeContainer generateTypeContainer(Class<T> type, Map<String, Class<? extends T>[]> inheritanceTree, Annotation qualifier,
              ClassLoader classLoader)
focal_class.class_method_signature: DefaultClassInjector.injectTypeContainer(TypeContainer typeContainer, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.full_signature: protected void injectTypeContainer(TypeContainer typeContainer, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.identifier: injectTypeContainer
focal_class.modifiers: protected
focal_class.parameters: (TypeContainer typeContainer, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.return: void
focal_class.signature: void injectTypeContainer(TypeContainer typeContainer, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.class_method_signature: DefaultClassInjector.injectStaticFields(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.full_signature: protected void injectStaticFields(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.identifier: injectStaticFields
focal_class.modifiers: protected
focal_class.parameters: (InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.return: void
focal_class.signature: void injectStaticFields(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.class_method_signature: DefaultClassInjector.injectFields(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.full_signature: protected void injectFields(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.identifier: injectFields
focal_class.modifiers: protected
focal_class.parameters: (InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.return: void
focal_class.signature: void injectFields(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.class_method_signature: DefaultClassInjector.injectFields(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader,
              boolean onlyStatic)
focal_class.full_signature: @SuppressWarnings("unchecked") protected void injectFields(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader,
              boolean onlyStatic)
focal_class.identifier: injectFields
focal_class.modifiers: @SuppressWarnings("unchecked") protected
focal_class.parameters: (InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader,
              boolean onlyStatic)
focal_class.return: void
focal_class.signature: void injectFields(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader,
              boolean onlyStatic)
focal_class.class_method_signature: DefaultClassInjector.injectStaticMethods(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.full_signature: protected void injectStaticMethods(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.identifier: injectStaticMethods
focal_class.modifiers: protected
focal_class.parameters: (InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.return: void
focal_class.signature: void injectStaticMethods(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.class_method_signature: DefaultClassInjector.injectMethods(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.full_signature: protected void injectMethods(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.identifier: injectMethods
focal_class.modifiers: protected
focal_class.parameters: (InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.return: void
focal_class.signature: void injectMethods(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.class_method_signature: DefaultClassInjector.injectMethods(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader,
              boolean onlyStatic)
focal_class.full_signature: protected void injectMethods(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader,
              boolean onlyStatic)
focal_class.identifier: injectMethods
focal_class.modifiers: protected
focal_class.parameters: (InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader,
              boolean onlyStatic)
focal_class.return: void
focal_class.signature: void injectMethods(InjectionSet set, Object inst, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader,
              boolean onlyStatic)
focal_class.class_method_signature: DefaultClassInjector.getArguments(Method method, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.full_signature: protected Object[] getArguments(Method method, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.identifier: getArguments
focal_class.modifiers: protected
focal_class.parameters: (Method method, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.return: Object[]
focal_class.signature: Object[] getArguments(Method method, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.class_method_signature: DefaultClassInjector.getArguments(Constructor<?> ctor, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.full_signature: protected Object[] getArguments(Constructor<?> ctor, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.identifier: getArguments
focal_class.modifiers: protected
focal_class.parameters: (Constructor<?> ctor, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.return: Object[]
focal_class.signature: Object[] getArguments(Constructor<?> ctor, Map<String, Class<? extends T>[]> inheritanceTree, ClassLoader classLoader)
focal_class.class_method_signature: DefaultClassInjector.getArguments(Map<String, Class<? extends T>[]> inheritanceTree, Class<?>[] parameters, Type[] generics, Annotation[][] annotations,
              ClassLoader classLoader)
focal_class.full_signature: @SuppressWarnings("unchecked") protected Object[] getArguments(Map<String, Class<? extends T>[]> inheritanceTree, Class<?>[] parameters, Type[] generics, Annotation[][] annotations,
              ClassLoader classLoader)
focal_class.identifier: getArguments
focal_class.modifiers: @SuppressWarnings("unchecked") protected
focal_class.parameters: (Map<String, Class<? extends T>[]> inheritanceTree, Class<?>[] parameters, Type[] generics, Annotation[][] annotations,
              ClassLoader classLoader)
focal_class.return: Object[]
focal_class.signature: Object[] getArguments(Map<String, Class<? extends T>[]> inheritanceTree, Class<?>[] parameters, Type[] generics, Annotation[][] annotations,
              ClassLoader classLoader)
focal_class.class_method_signature: DefaultClassInjector.getQualifier(Annotation[] annotations)
focal_class.full_signature: protected Annotation getQualifier(Annotation[] annotations)
focal_class.identifier: getQualifier
focal_class.modifiers: protected
focal_class.parameters: (Annotation[] annotations)
focal_class.return: Annotation
focal_class.signature: Annotation getQualifier(Annotation[] annotations)
focal_class.class_method_signature: DefaultClassInjector.getInjectableConstructor(Class<?> type)
focal_class.full_signature: protected Constructor<?> getInjectableConstructor(Class<?> type)
focal_class.identifier: getInjectableConstructor
focal_class.modifiers: protected
focal_class.parameters: (Class<?> type)
focal_class.return: Constructor<?>
focal_class.signature: Constructor<?> getInjectableConstructor(Class<?> type)
focal_class.class_method_signature: DefaultClassInjector.getDefaultConstructor(Class<?> type)
focal_class.full_signature: protected Constructor<?> getDefaultConstructor(Class<?> type)
focal_class.identifier: getDefaultConstructor
focal_class.modifiers: protected
focal_class.parameters: (Class<?> type)
focal_class.return: Constructor<?>
focal_class.signature: Constructor<?> getDefaultConstructor(Class<?> type)
focal_class.class_method_signature: DefaultClassInjector.getGenericTypes(ParameterizedType type)
focal_class.full_signature: protected Class<?>[] getGenericTypes(ParameterizedType type)
focal_class.identifier: getGenericTypes
focal_class.modifiers: protected
focal_class.parameters: (ParameterizedType type)
focal_class.return: Class<?>[]
focal_class.signature: Class<?>[] getGenericTypes(ParameterizedType type)
focal_class.class_method_signature: DefaultClassInjector.getTypeDeterminator()
focal_class.full_signature: public TypeDeterminator getTypeDeterminator()
focal_class.identifier: getTypeDeterminator
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: TypeDeterminator
focal_class.signature: TypeDeterminator getTypeDeterminator()
focal_class.class_method_signature: DefaultClassInjector.setTypeDeterminator(TypeDeterminator typeDeterminator)
focal_class.full_signature: public void setTypeDeterminator(TypeDeterminator typeDeterminator)
focal_class.identifier: setTypeDeterminator
focal_class.modifiers: public
focal_class.parameters: (TypeDeterminator typeDeterminator)
focal_class.return: void
focal_class.signature: void setTypeDeterminator(TypeDeterminator typeDeterminator)
focal_method.body: @SuppressWarnings("unchecked")
      @Override
      public void injectStaticMembers(Map<String, Class<?>> classes, Map<String, Class<?>[]> inheritanceTree, ClassLoader classLoader) {
          TypeContainer typeContainer;
          Map<String, Class<? extends Object>[]> castedInheritanceTree = new HashMap<String, Class<? extends Object>[]>(inheritanceTree);
          
          for (Map.Entry<String, Class<?>> type : classes.entrySet()) {
              typeContainer = generateTypeContainer((Class<Object>) type.getValue(), castedInheritanceTree, null, classLoader);
              for (InjectionSet set : typeContainer.getInjectionSets()) {
                  injectStaticFields(set, (Object) null, castedInheritanceTree, classLoader);
                  injectStaticMethods(set, (Object) null, castedInheritanceTree, classLoader);
              }
          }
      }
focal_method.class_method_signature: DefaultClassInjector.injectStaticMembers(Map<String, Class<?>> classes, Map<String, Class<?>[]> inheritanceTree, ClassLoader classLoader)
focal_method.full_signature: @SuppressWarnings("unchecked") @Override public void injectStaticMembers(Map<String, Class<?>> classes, Map<String, Class<?>[]> inheritanceTree, ClassLoader classLoader)
focal_method.identifier: injectStaticMembers
focal_method.invocations: entrySet generateTypeContainer getValue getInjectionSets injectStaticFields injectStaticMethods
focal_method.modifiers: @SuppressWarnings("unchecked") @Override public
focal_method.parameters: (Map<String, Class<?>> classes, Map<String, Class<?>[]> inheritanceTree, ClassLoader classLoader)
focal_method.return: void
focal_method.signature: void injectStaticMembers(Map<String, Class<?>> classes, Map<String, Class<?>[]> inheritanceTree, ClassLoader classLoader)