#252 merging reverse mapping with forward mapping.

There is also an error in the `Mapper#reverse` method class.  The check on constant / expression has been fixed.

Also, the order of forward / reverse method is not relevant (as thought before). This is been assured by adding some tests.
I mentioned 'qualifiedBy' already 😕. Point is, we cannot look in the future here. It also feels that we are introducing two mechanisms: specialized annotations and more generic annotations with parameters (on mappers). Finally there is ide completion (on parameter) if you know a limited set of annotations, whereas if you got many annotations you need to look in the documentation.

> Op 12 okt. 2014 om 16:46 heeft Gunnar Morling <notifications@github.com> het volgende geschreven:
> 
> In processor/src/test/java/org/mapstruct/ap/test/reverse/SourceTargetMapper.java:
> 
> > +public interface SourceTargetMapper {
> > +
> > +    SourceTargetMapper INSTANCE = Mappers.getMapper( SourceTargetMapper.class );
> > +
> > +    @Mappings( {
> > +        @Mapping( source = "sourceToTarget1", target = "sourceToTarget3" ),
> > +        @Mapping( source = "sourceToTarget2", target = "sourceToTarget4" ),
> > +        @Mapping( source = "propertyToIgnoreDownstream", target = "propertyNotToIgnoreUpstream" )
> > +    } )
> > +    Target forward( Source source );
> > +
> > +    @Mappings( {
> > +        @Mapping( target = "someConstantDownstream", constant = "test" ),
> > +        @Mapping( source = "propertyToIgnoreDownstream", ignore = true )
> > +    } )
> > +    Source reverse( Target target );
> I agree on what you say about the hierarchy and elements taking precedence, but I'm a bit concerned about the name @MappingMethod.
> 
> The problem I see is that each method of a mapper interface is a "mapping method", whereas only some of them (reverse ones) would be annotated with that annotation. At what other places see you potential for re-use of the annotation if it where named more generically? @ReverseMappingMethod seems less confusing to me, unless there is another compelling case where @MappingMethod would be (re-)used.
> 
> —
> Reply to this email directly or view it on GitHub.