|
Good news is, I can reproduce the exception locally by integration aspectj into hibernate-validator and using a minimal aspect. (I haven't pushed anything to my hibernate-validator fork on github yet, needs cleanup). The minimal aspect adds a new field to an interface by intertype declaration - just as spring-data Neo4jRelationshipBacking.aj is doing. But I don't really understand what I am seeing:
1 ->
public abstract void org.hibernate.validator.test.internal.util.ExecutableHelperTest$BooInterface.ajc$interFieldSet$org_hibernate_validator_test_internal_util_ExecutableHelperTest$BooAspect$org_hibernate_validator_test_internal_util_ExecutableHelperTest$BooInterface$someField(java.lang.Object)
public void org.hibernate.validator.test.internal.util.ExecutableHelperTest$Boo.ajc$interFieldSet$org_hibernate_validator_test_internal_util_ExecutableHelperTest$BooAspect$org_hibernate_validator_test_internal_util_ExecutableHelperTest$BooInterface$someField(java.lang.Object)
2 ->
public abstract void org.hibernate.validator.test.internal.util.ExecutableHelperTest$IBaz.paz(java.lang.Object)
public void org.hibernate.validator.test.internal.util.ExecutableHelperTest$Baz.paz(java.lang.Object)
"1" are those two methods which are available because of my aspect. "2" are "normal" methods, one definied in an interface, and one implmenetation.
Gunnar Morling, IMO those methods in "1" look suspicious. "$BooInterface$someField(java.lang.Object)" is something else as "$IBaz.paz(java.lang.Object)". But I cannot find any information where this different signatures come from. Do you have any information or knowledge?
|