[ 
https://issues.apache.org/jira/browse/FLINK-25043?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17448568#comment-17448568
 ] 

Chesnay Schepler commented on FLINK-25043:
------------------------------------------

For reference if anyone wants to look into it:

{code}
if (call.getTarget().resolve().stream()
                .anyMatch(
                        x ->
                                x.getModifiers()
                                        .contains(
                                                JavaModifier
                                                        .PUBLIC))
        && call.getOriginOwner()
                .getPackage()
                .equals(targetOwner.getPackage())) {
    return false;
}
{code}

> Allow calls to public @VisibleForTesting from the same package
> --------------------------------------------------------------
>
>                 Key: FLINK-25043
>                 URL: https://issues.apache.org/jira/browse/FLINK-25043
>             Project: Flink
>          Issue Type: Improvement
>          Components: Tests
>            Reporter: Chesnay Schepler
>            Priority: Major
>             Fix For: 1.15.0
>
>
> Consider a class having some package-private method that is used by other 
> classes in said package.
> If this method is then needed from outside the package, and thus made public 
> and annotated with VisibleForTesting, then the architecture tests currently 
> flag the original usage as well.
> We could think about allowing package-private access if the method is public.
> On the other hand, if the method was originally annotated with 
> VisibleForTesting, then marking it as public would remove a violation, which 
> would be incorrect.
> Maybe we need to extend our VisibleForTesting annotation to provide this 
> information.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to