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

Compute effectively functional interfaces #37

Open
khatchad opened this issue Dec 18, 2015 · 0 comments
Open

Compute effectively functional interfaces #37

khatchad opened this issue Dec 18, 2015 · 0 comments

Comments

@khatchad
Copy link
Member

We saw with #35 that functional interfaces should not be refactored, i.e., they should fail preconditions. However, for #35, we are simply using the @FunctionalInterface annotation to determine if a particular interface is functional. However, this annotation just serves as a hint to the compiler to verify the constraints that make up functional interfaces. Developers are free to create and use functional interfaces without this annotation. As such, refactoring these interfaces will cause problems, particularly when they are used in lambda expressions and method references.

This task is to expand the edu.cuny.citytech.defaultrefactoring.core.refactorings.MigrateSkeletalImplementationToInterfaceRefactoringProcessor.isInterfaceFunctional(IType) method to find functional interfaces not having the @FunctionalInterface annotation.

@khatchad khatchad self-assigned this Dec 18, 2015
@khatchad khatchad added this to the Preconditions milestone Dec 18, 2015
@khatchad khatchad added the task label Dec 18, 2015
@khatchad khatchad added enhancement and removed task labels Dec 28, 2015
@khatchad khatchad removed their assignment Apr 5, 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