Skip to content

v0.12

Compare
Choose a tag to compare
@SQiShER SQiShER released this 03 Jul 19:12
· 294 commits to master since this release

Features

  • [#66] The signature of compared objects is now determined at runtime whenever possible. The signature of bean property values used to simply be the one of its getters return type. The object differ now does its best to determine the most specific shared object type. It does this like so:

    • If the object types of base and working are the same, the signature of this type will be used for introspection. (1)
    • If the object types of base and working are different, the signature of their closest shared superclass will be used. (2)
    • If no shared superclass could be found, it falls back the the declared return type of the objects property getter. (3)

    The runtime type analysis will not consider shared interfaces, so the only way to diff exclusively against interface signatures, is to cause the type lookup to fall through to (3). Currently I'm not sure if it needs to be possible to force the object differ to always use the declared type. If you think it does or this new behavior causes you any trouble, please let me know.