Consider improvements to how bytecode enhancement works

Description

In terms of what we "write into" the bytecode we should consider:

  • defining more granular interfaces representing the specific types of enhancement done (laziness, bi-directionality, dirty-tracking, etc).

  • we could implement a lot of functionality simply as default impls of these methods on the interfaces. This is a Java 8 feature we can use, so we should. It makes manually writing specific bytecode into the classes unnecessary in most (all?) cases. Easier to read, spot bugs, etc -> easier maintenance!

had some good ideas (including the ones above) on the subject. , anything else you'd add?

Environment

None

Assignee

Unassigned

Reporter

Steve Ebersole

Fix versions

Labels

None

backPortable

Backport?

Suitable for new contributors

None

Requires Release Note

None

Pull Request

None

backportDecision

None

Components

Priority

Major
Configure