private void findLocalComponentsForComponent ( LocalComponents localComponents , TypeElement componentTypeElement ) { Component componentAnnotation = componentTypeElement . getAnnotation ( Component . class ) ; if ( componentAnnotation == null ) { return ; } processLocalComponentClass ( localComponents , componentTypeElement ) ; getComponentLocalComponents ( elements , componentTypeElement ) . stream ( ) . map ( DeclaredType . class :: cast ) . map ( DeclaredType :: asElement ) . map ( TypeElement . class :: cast ) . forEach ( childTypeElement -> processLocalComponentClass ( localComponents , childTypeElement ) ) ; getSuperComponentType ( componentTypeElement ) . ifPresent ( superComponentType -> findLocalComponentsForComponent ( localComponents , superComponentType ) ) ; }
Register all locally declared components .