Source:
<code>private void reportErrorForUnmappedTargetPropertiesIfRequired() { ReportingPolicyPrism unmappedTargetPolicy = getUnmappedTargetPolicy(); <START> if ( method instanceof ForgedMethod && ( (ForgedMethod) method ).isAutoMapping() ) { <END> ForgedMethod forgedMethod = (ForgedMethod) this.method; if ( targetProperties.isEmpty() || !unprocessedTargetProperties.isEmpty() ) { if ( forgedMethod.getHistory() == null ) { Type sourceType = this.method.getParameters().get( 0 ).getType(); Type targetType = this.method.getReturnType(); ctx.getMessager().printMessage( this.method.getExecutable(), Message.PROPERTYMAPPING_FORGED_MAPPING_NOT_FOUND, sourceType, targetType, targetType, sourceType ); } else { ForgedMethodHistory history = forgedMethod.getHistory(); ctx.getMessager().printMessage( this.method.getExecutable(), Message.PROPERTYMAPPING_MAPPING_NOT_FOUND, history.createSourcePropertyErrorMessage(), history.getTargetType(), history.createTargetPropertyName(), history.getTargetType(), history.getSourceType() ); } } } else if ( !unprocessedTargetProperties.isEmpty() && unmappedTargetPolicy.requiresReport() ) { Message msg = unmappedTargetPolicy.getDiagnosticKind() == Diagnostic.Kind.ERROR ? Message.BEANMAPPING_UNMAPPED_TARGETS_ERROR : Message.BEANMAPPING_UNMAPPED_TARGETS_WARNING; ctx.getMessager().printMessage( method.getExecutable(), msg, MessageFormat.format( "{0,choice,1#property|1<properties}: \"{1}\"", unprocessedTargetProperties.size(), Strings.join( unprocessedTargetProperties.keySet(), ", " ) ) ); } }</code><technical_language>I do this for forged automappings do normal reporting for other forged methods. Especially addition ignore unmapped target properties for ForgedMethods (which needs revised)</technical_language>

Target:
private void reportErrorForUnmappedTargetPropertiesIfRequired() { ReportingPolicyPrism unmappedTargetPolicy = getUnmappedTargetPolicy(); if ( method instanceof ForgedMethod && ( (ForgedMethod) method ).isForgedNamedBased() ) { ForgedMethod forgedMethod = (ForgedMethod) this.method; if ( targetProperties.isEmpty() || !unprocessedTargetProperties.isEmpty() ) { if ( forgedMethod.getHistory() == null ) { Type sourceType = this.method.getParameters().get( 0 ).getType(); Type targetType = this.method.getReturnType(); ctx.getMessager().printMessage( this.method.getExecutable(), Message.PROPERTYMAPPING_FORGED_MAPPING_NOT_FOUND, sourceType, targetType, targetType, sourceType ); } else { ForgedMethodHistory history = forgedMethod.getHistory(); ctx.getMessager().printMessage( this.method.getExecutable(), Message.PROPERTYMAPPING_MAPPING_NOT_FOUND, history.createSourcePropertyErrorMessage(), history.getTargetType(), history.createTargetPropertyName(), history.getTargetType(), history.getSourceType() ); } } } else if ( !unprocessedTargetProperties.isEmpty() && unmappedTargetPolicy.requiresReport() ) { Message msg = unmappedTargetPolicy.getDiagnosticKind() == Diagnostic.Kind.ERROR ? Message.BEANMAPPING_UNMAPPED_TARGETS_ERROR : Message.BEANMAPPING_UNMAPPED_TARGETS_WARNING; ctx.getMessager().printMessage( method.getExecutable(), msg, MessageFormat.format( "{0,choice,1#property|1<properties}: \"{1}\"", unprocessedTargetProperties.size(), Strings.join( unprocessedTargetProperties.keySet(), ", " ) ) ); } }