Skip to content
New issue

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

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

Already on GitHub? # to your account

Replace all unvisible types by Object #15

Closed
stephanenicolas opened this issue Sep 30, 2013 · 1 comment
Closed

Replace all unvisible types by Object #15

stephanenicolas opened this issue Sep 30, 2013 · 1 comment
Assignees
Labels

Comments

@stephanenicolas
Copy link
Owner

When processing a class, it can internally use types that may not be visible in the boundbox scope or in its clients scope.

In that case , the type should be replaced by Object.

@stephanenicolas
Copy link
Owner Author

The visitor inside the BoundBoxScanner should take into account the visibility of the types it visits :

  • a type that is public at root level is visible
  • a type that is public and is an inner class of a class that is visible, is visible
  • a type that is protected or package at root level and in the same package as the BoundBox class is visible
  • a type that is protected or package and is an inner class of a class that is visible and in the same package as the BoundBox class is visible

TODO :

  • Update Annotation Processor
  • Fields
  • Methods signature : return type + param + exceptions
  • Inner classes
  • Update wiki
  • Update integration tests
  • Check that package is taken into account

Typical example :

public class A {
    private class B {}
    B foo();
}

A.B is not visible from BoundBoxOfA, the signature of BoundBoxOfA.foo() should be :

 public Object foo()

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant