4242import static com .intellij .codeInsight .AnnotationUtil .findAnnotation ;
4343import static com .intellij .codeInsight .AnnotationUtil .getBooleanAttributeValue ;
4444import static org .mapstruct .intellij .util .MapstructAnnotationUtils .findAllDefinedMappingAnnotations ;
45+ import static org .mapstruct .intellij .util .MapstructAnnotationUtils .findMapperConfigReference ;
4546import static org .mapstruct .intellij .util .MapstructUtil .canDescendIntoType ;
4647import static org .mapstruct .intellij .util .MapstructUtil .isFluentSetter ;
4748import static org .mapstruct .intellij .util .MapstructUtil .publicFields ;
@@ -148,10 +149,18 @@ public static boolean isBuilderEnabled(@Nullable PsiMethod mappingMethod) {
148149 Optional <Boolean > disableBuilder = findDisableBuilder ( mappingMethod , MapstructUtil .BEAN_MAPPING_FQN );
149150
150151 if ( !disableBuilder .isPresent () && mappingMethod != null ) {
151- disableBuilder = findDisableBuilder (
152+ PsiAnnotation mapperAnnotation = findAnnotation (
152153 mappingMethod .getContainingClass (),
153154 MapstructUtil .MAPPER_ANNOTATION_FQN
154155 );
156+ disableBuilder = findDisabledBuilder ( mapperAnnotation );
157+
158+ if ( disableBuilder .isEmpty () && mapperAnnotation != null ) {
159+ disableBuilder = findDisableBuilder (
160+ findMapperConfigReference ( mapperAnnotation ),
161+ MapstructUtil .MAPPER_CONFIG_ANNOTATION_FQN
162+ );
163+ }
155164 }
156165
157166 return !disableBuilder .orElse ( false );
@@ -160,6 +169,10 @@ public static boolean isBuilderEnabled(@Nullable PsiMethod mappingMethod) {
160169 private static Optional <Boolean > findDisableBuilder (@ Nullable PsiModifierListOwner listOwner ,
161170 String annotationName ) {
162171 PsiAnnotation requestedAnnotation = findAnnotation ( listOwner , true , annotationName );
172+ return findDisabledBuilder ( requestedAnnotation );
173+ }
174+
175+ private static Optional <Boolean > findDisabledBuilder (@ Nullable PsiAnnotation requestedAnnotation ) {
163176 if ( requestedAnnotation != null ) {
164177 PsiNameValuePair builderAttribute = AnnotationUtil .findDeclaredAttribute ( requestedAnnotation , "builder" );
165178 if ( builderAttribute != null ) {
0 commit comments