2929import jakarta .enterprise .context .spi .CreationalContext ;
3030import jakarta .enterprise .inject .CreationException ;
3131import jakarta .enterprise .inject .IllegalProductException ;
32- import jakarta .enterprise .inject .TransientReference ;
3332import jakarta .enterprise .inject .UnproxyableResolutionException ;
3433import jakarta .enterprise .inject .literal .InjectLiteral ;
3534import jakarta .enterprise .inject .spi .InterceptionType ;
@@ -144,28 +143,17 @@ void precomputeGeneratedName(BeanInfo bean) {
144143
145144 private void generateClassBeanName (BeanInfo bean ) {
146145 ClassInfo beanClass = bean .getTarget ().get ().asClass ();
147- String baseName ;
148- if (beanClass .enclosingClass () != null ) {
149- baseName = DotNames .simpleName (beanClass .enclosingClass ()) + UNDERSCORE + DotNames .simpleName (beanClass );
150- } else {
151- baseName = DotNames .simpleName (beanClass );
152- }
146+ String baseName = beanClass .name ().withoutPackagePrefix ();
153147 this .beanToGeneratedBaseName .put (bean , baseName );
154- String targetPackage = DotNames .packageName (bean .getProviderType ().name ());
148+ String targetPackage = DotNames .packagePrefix (bean .getProviderType ().name ());
155149 String generatedName = generatedNameFromTarget (targetPackage , baseName , BEAN_SUFFIX );
156150 this .beanToGeneratedName .put (bean , generatedName );
157151 }
158152
159153 private void generateProducerMethodBeanName (BeanInfo bean ) {
160154 MethodInfo producerMethod = bean .getTarget ().get ().asMethod ();
161155 ClassInfo declaringClass = producerMethod .declaringClass ();
162- String declaringClassBase ;
163- if (declaringClass .enclosingClass () != null ) {
164- declaringClassBase = DotNames .simpleName (declaringClass .enclosingClass ()) + UNDERSCORE
165- + DotNames .simpleName (declaringClass );
166- } else {
167- declaringClassBase = DotNames .simpleName (declaringClass );
168- }
156+ String declaringClassBase = declaringClass .name ().withoutPackagePrefix ();
169157
170158 StringBuilder sigBuilder = new StringBuilder ();
171159 sigBuilder .append (producerMethod .name ())
@@ -178,42 +166,26 @@ private void generateProducerMethodBeanName(BeanInfo bean) {
178166 String baseName = declaringClassBase + PRODUCER_METHOD_SUFFIX + UNDERSCORE + producerMethod .name () + UNDERSCORE
179167 + Hashes .sha1_base64 (sigBuilder .toString ());
180168 this .beanToGeneratedBaseName .put (bean , baseName );
181- String targetPackage = DotNames .packageName (declaringClass .name ());
169+ String targetPackage = DotNames .packagePrefix (declaringClass .name ());
182170 String generatedName = generatedNameFromTarget (targetPackage , baseName , BEAN_SUFFIX );
183171 this .beanToGeneratedName .put (bean , generatedName );
184172 }
185173
186174 private void generateProducerFieldBeanName (BeanInfo bean ) {
187175 FieldInfo producerField = bean .getTarget ().get ().asField ();
188176 ClassInfo declaringClass = producerField .declaringClass ();
189- String declaringClassBase ;
190- if (declaringClass .enclosingClass () != null ) {
191- declaringClassBase = DotNames .simpleName (declaringClass .enclosingClass ()) + UNDERSCORE
192- + DotNames .simpleName (declaringClass );
193- } else {
194- declaringClassBase = DotNames .simpleName (declaringClass );
195- }
177+ String declaringClassBase = declaringClass .name ().withoutPackagePrefix ();
196178
197179 String baseName = declaringClassBase + PRODUCER_FIELD_SUFFIX + UNDERSCORE + producerField .name ();
198180 this .beanToGeneratedBaseName .put (bean , baseName );
199- String targetPackage = DotNames .packageName (declaringClass .name ());
181+ String targetPackage = DotNames .packagePrefix (declaringClass .name ());
200182 String generatedName = generatedNameFromTarget (targetPackage , baseName , BEAN_SUFFIX );
201183 this .beanToGeneratedName .put (bean , generatedName );
202184 }
203185
204186 private void generateSyntheticBeanName (BeanInfo bean ) {
205- StringBuilder baseNameBuilder = new StringBuilder ();
206- if (bean .getImplClazz ().enclosingClass () != null ) {
207- baseNameBuilder .append (DotNames .simpleName (bean .getImplClazz ().enclosingClass ())).append (UNDERSCORE )
208- .append (DotNames .simpleName (bean .getImplClazz ()));
209- } else {
210- baseNameBuilder .append (DotNames .simpleName (bean .getImplClazz ()));
211- }
212- baseNameBuilder .append (UNDERSCORE );
213- baseNameBuilder .append (bean .getIdentifier ());
214- baseNameBuilder .append (UNDERSCORE );
215- baseNameBuilder .append (SYNTHETIC_SUFFIX );
216- String baseName = baseNameBuilder .toString ();
187+ String baseName = bean .getImplClazz ().name ().withoutPackagePrefix () + UNDERSCORE + bean .getIdentifier ()
188+ + UNDERSCORE + SYNTHETIC_SUFFIX ;
217189 this .beanToGeneratedBaseName .put (bean , baseName );
218190 String targetPackage = bean .getTargetPackageName ();
219191 this .beanToGeneratedName .put (bean , generatedNameFromTarget (targetPackage , baseName , BEAN_SUFFIX ));
@@ -242,7 +214,7 @@ Collection<Resource> generate(BeanInfo bean) {
242214 String baseName = beanToGeneratedBaseName .get (bean );
243215 String targetPackage = bean .isSynthetic ()
244216 ? bean .getTargetPackageName ()
245- : DotNames .packageName (bean .isProducer () ? clazz .name () : providerType .name ());
217+ : DotNames .packagePrefix (bean .isProducer () ? clazz .name () : providerType .name ());
246218 String generatedName = beanToGeneratedName .get (bean );
247219 if (existingClasses .contains (generatedName )) {
248220 return Collections .emptyList ();
@@ -263,8 +235,7 @@ Collection<Resource> generate(BeanInfo bean) {
263235
264236 private void generateBean (Gizmo gizmo , BeanInfo bean , String generatedName , String baseName ,
265237 String targetPackage , boolean isApplicationClass , ProviderType providerType ) {
266- // TODO generated name includes `/` instead of `.`
267- gizmo .class_ (generatedName .replace ('/' , '.' ), cc -> {
238+ gizmo .class_ (generatedName , cc -> {
268239 cc .implements_ (InjectableBean .class );
269240 cc .implements_ (Supplier .class );
270241
@@ -880,9 +851,7 @@ private void generateCreateForClassBean(ClassCreator cc, BeanInfo bean,
880851 // and also the CDI specification:
881852 //
882853 // > Invocations of initializer methods by the container are not business method invocations.
883- // TODO generated name includes `/` instead of `.`
884- ClassDesc subclass = ClassDesc .of (SubclassGenerator .generatedName (bean .getProviderType ().name (), baseName )
885- .replace ('/' , '.' ));
854+ ClassDesc subclass = ClassDesc .of (SubclassGenerator .generatedName (bean .getProviderType ().name (), baseName ));
886855 bc .invokeVirtual (ClassMethodDesc .of (subclass , SubclassGenerator .MARK_CONSTRUCTED_METHOD_NAME , void .class ),
887856 bc .cast (instance , subclass ));
888857 }
@@ -1015,9 +984,7 @@ private Expr newBeanInstance(BeanInfo bean, BlockCreator bc, ProviderType provid
1015984 args .add (providers .get (injectionPoints .size () + interceptors .size () + i ));
1016985 }
1017986
1018- // TODO generated name includes `/` instead of `.`
1019- ClassDesc subclass = ClassDesc .of (SubclassGenerator .generatedName (bean .getProviderType ().name (), baseName )
1020- .replace ('/' , '.' ));
987+ ClassDesc subclass = ClassDesc .of (SubclassGenerator .generatedName (bean .getProviderType ().name (), baseName ));
1021988 return bc .new_ (ConstructorDesc .of (subclass , paramTypes ), args );
1022989 } else if (constructorInjection .isPresent ()) {
1023990 if (Modifier .isPrivate (constructor .flags ())) {
@@ -1561,9 +1528,8 @@ void generate(BlockCreator bc, Var instance) {
15611528 // }
15621529 new PreDestroyGenerator ().generate (b1 , instance );
15631530 } else {
1564- // TODO generated name includes `/` instead of `.`
15651531 ClassDesc subclass = ClassDesc .of (SubclassGenerator .generatedName (
1566- bean .getProviderType ().name (), baseName ). replace ( '/' , '.' ) );
1532+ bean .getProviderType ().name (), baseName ));
15671533
15681534 // if there _is_ some `@PreDestroy` interceptor, however, we'll reify the chain of `@PreDestroy`
15691535 // callbacks into a `Runnable` that we pass into the interceptor chain to be called
0 commit comments