Skip to content

Commit 26d7a56

Browse files
authored
Merge pull request quarkusio#36038 from geoand/quarkusio#35715
Properly add @CheckReturnValue
2 parents 727f5a5 + 88f0f1c commit 26d7a56

File tree

2 files changed

+5
-24
lines changed

2 files changed

+5
-24
lines changed

extensions/panache/hibernate-reactive-panache-kotlin/deployment/src/main/java/io/quarkus/hibernate/reactive/panache/kotlin/deployment/HibernateReactivePanacheKotlinProcessor.java

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@
1414
import org.jboss.jandex.AnnotationInstance;
1515
import org.jboss.jandex.ClassInfo;
1616
import org.jboss.jandex.DotName;
17-
import org.jboss.jandex.MethodInfo;
18-
import org.objectweb.asm.MethodVisitor;
19-
import org.objectweb.asm.Type;
2017

2118
import io.quarkus.arc.deployment.UnremovableBeanBuildItem;
2219
import io.quarkus.arc.deployment.ValidationPhaseBuildItem;
@@ -41,18 +38,12 @@
4138
import io.quarkus.panache.common.deployment.PanacheMethodCustomizerBuildItem;
4239
import io.quarkus.panache.common.deployment.PanacheRepositoryEnhancer;
4340
import io.quarkus.panache.common.deployment.TypeBundle;
44-
import io.smallrye.mutiny.Multi;
45-
import io.smallrye.mutiny.Uni;
4641

4742
public class HibernateReactivePanacheKotlinProcessor {
4843

4944
private static final String META_INF_PANACHE_ARCHIVE_MARKER = "META-INF/panache-archive.marker";
5045
private static final DotName DOTNAME_REACTIVE_SESSION = DotName.createSimple(Mutiny.Session.class.getName());
5146
private static final DotName DOTNAME_ID = DotName.createSimple(Id.class.getName());
52-
private static final DotName DOTNAME_UNI = DotName.createSimple(Uni.class.getName());
53-
private static final DotName DOTNAME_MULTI = DotName.createSimple(Multi.class.getName());
54-
private static final String CHECK_RETURN_VALUE_BINARY_NAME = "io/smallrye/common/annotation/CheckReturnValue";
55-
private static final String CHECK_RETURN_VALUE_SIGNATURE = "L" + CHECK_RETURN_VALUE_BINARY_NAME + ";";
5647
private static final TypeBundle TYPE_BUNDLE = ReactiveKotlinJpaTypeBundle.BUNDLE;
5748

5849
@BuildStep
@@ -171,17 +162,4 @@ public ValidationPhaseBuildItem.ValidationErrorBuildItem validate(ValidationPhas
171162
}
172163
return null;
173164
}
174-
175-
@BuildStep
176-
PanacheMethodCustomizerBuildItem mutinyReturnTypes() {
177-
return new PanacheMethodCustomizerBuildItem(new PanacheMethodCustomizer() {
178-
@Override
179-
public void customize(Type entityClassSignature, MethodInfo method, MethodVisitor mv) {
180-
DotName returnType = method.returnType().name();
181-
if (returnType.equals(DOTNAME_UNI) || returnType.equals(DOTNAME_MULTI)) {
182-
mv.visitAnnotation(CHECK_RETURN_VALUE_SIGNATURE, true);
183-
}
184-
}
185-
});
186-
}
187165
}

extensions/panache/hibernate-reactive-panache/deployment/src/main/java/io/quarkus/hibernate/reactive/panache/common/deployment/PanacheHibernateResourceProcessor.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import io.quarkus.panache.common.deployment.PanacheJpaEntityOperationsEnhancer;
3939
import io.quarkus.panache.common.deployment.PanacheMethodCustomizer;
4040
import io.quarkus.panache.common.deployment.PanacheMethodCustomizerBuildItem;
41+
import io.smallrye.common.annotation.CheckReturnValue;
4142
import io.smallrye.mutiny.Multi;
4243
import io.smallrye.mutiny.Uni;
4344

@@ -145,7 +146,8 @@ ValidationPhaseBuildItem.ValidationErrorBuildItem validate(ValidationPhaseBuildI
145146
return null;
146147
}
147148

148-
private static final String CHECK_RETURN_VALUE_BINARY_NAME = "io/smallrye/common/annotation/CheckReturnValue";
149+
private static final DotName DOTNAME_CHECK_RETURN_VALUE_CLASS = DotName.createSimple(CheckReturnValue.class);
150+
private static final String CHECK_RETURN_VALUE_BINARY_NAME = CheckReturnValue.class.getName().replace('.', '/');
149151
private static final String CHECK_RETURN_VALUE_SIGNATURE = "L" + CHECK_RETURN_VALUE_BINARY_NAME + ";";
150152

151153
@BuildStep
@@ -154,7 +156,8 @@ PanacheMethodCustomizerBuildItem mutinyReturnTypes() {
154156
@Override
155157
public void customize(Type entityClassSignature, MethodInfo method, MethodVisitor mv) {
156158
DotName returnType = method.returnType().name();
157-
if (returnType.equals(DOTNAME_UNI) || returnType.equals(DOTNAME_MULTI)) {
159+
if ((returnType.equals(DOTNAME_UNI) || returnType.equals(DOTNAME_MULTI))
160+
&& !method.hasDeclaredAnnotation(DOTNAME_CHECK_RETURN_VALUE_CLASS)) {
158161
mv.visitAnnotation(CHECK_RETURN_VALUE_SIGNATURE, true);
159162
}
160163
}

0 commit comments

Comments
 (0)