Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide support for fields in abstract skeleton classes #126

Open
khatchad opened this issue Apr 1, 2016 · 5 comments
Open

Provide support for fields in abstract skeleton classes #126

khatchad opened this issue Apr 1, 2016 · 5 comments

Comments

@khatchad
Copy link
Member

khatchad commented Apr 1, 2016

The refactoring should also provide support for fields in abstract skeleton classes, because fields cannot be easily migrated to a skeleton interface. Maybe fields could be migrated by adding getters and setters for each field to the interface and replacing field accesses by calls to these methods?

@khatchad
Copy link
Member Author

khatchad commented Apr 1, 2016

This sounds like excellent future work or at least something to consider now.

@khatchad
Copy link
Member Author

khatchad commented Apr 1, 2016

Might be related to the "method stubs" used in the Pull Up refactoring and/or #87.

@khatchad
Copy link
Member Author

We may need to do this for the initial release, depending on how relevant the problem is. But, this really then becomes a composite refactoring (field encapsulation and then migration).

@khatchad
Copy link
Member Author

Maybe our refactoring approach can invoke the encapsulate field refactoring (depending on if there are reads and/or writes) and then migrate those methods? Sounds quite complicated and I'm not sure if we'll have time for this.

@khatchad
Copy link
Member Author

Putting in the future milestone now but may need to revisit.

@khatchad khatchad added this to the Future Preconditions milestone Apr 24, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant