/** Returns {@code true} if {@code member} is visible under {@code this} visibility. */ final boolean isVisible(Member member) { return isVisible(member.getModifiers()); }
@Override public boolean apply(Class<?> cls) { return visibility.isVisible(cls.getModifiers()); } };
private ImmutableList<Method> getVisibleMethods(Class<?> cls) { // Don't use cls.getPackage() because it does nasty things like reading // a file. String visiblePackage = Reflection.getPackageName(cls); ImmutableList.Builder<Method> builder = ImmutableList.builder(); for (Class<?> type : TypeToken.of(cls).getTypes().rawTypes()) { if (!Reflection.getPackageName(type).equals(visiblePackage)) { break; } for (Method method : type.getDeclaredMethods()) { if (!method.isSynthetic() && isVisible(method)) { builder.add(method); } } } return builder.build(); } }
private ImmutableList<Method> getVisibleMethods(Class<?> cls) { // Don't use cls.getPackage() because it does nasty things like reading // a file. String visiblePackage = Reflection.getPackageName(cls); ImmutableList.Builder<Method> builder = ImmutableList.builder(); for (Class<?> type : TypeToken.of(cls).getTypes().rawTypes()) { if (!Reflection.getPackageName(type).equals(visiblePackage)) { break; } for (Method method : type.getDeclaredMethods()) { if (!method.isSynthetic() && isVisible(method)) { builder.add(method); } } } return builder.build(); } }
/** Returns {@code true} if {@code member} is visible under {@code this} visibility. */ final boolean isVisible(Member member) { return isVisible(member.getModifiers()); }
public void testVisibility_public() throws Exception { assertFalse(Visibility.PUBLIC.isVisible( VisibilityMethods.class.getDeclaredMethod("privateMethod"))); assertFalse(Visibility.PUBLIC.isVisible( VisibilityMethods.class.getDeclaredMethod("packagePrivateMethod"))); assertFalse(Visibility.PUBLIC.isVisible( VisibilityMethods.class.getDeclaredMethod("protectedMethod"))); assertTrue(Visibility.PUBLIC.isVisible( VisibilityMethods.class.getDeclaredMethod("publicMethod"))); }
/** * Returns {@code true} if {@code member} is visible under {@code this} * visibility. */ final boolean isVisible(Member member) { return isVisible(member.getModifiers()); }
/** * Runs {@link #testConstructor} on every constructor in class {@code c} that * has at least {@code minimalVisibility}. */ public void testConstructors(Class<?> c, Visibility minimalVisibility) { for (Constructor<?> constructor : c.getDeclaredConstructors()) { if (minimalVisibility.isVisible(constructor) && !isIgnored(constructor)) { testConstructor(constructor); } } }
@Override public boolean apply(Class<?> cls) { return visibility.isVisible(cls.getModifiers()); } };
/** * Runs {@link #testConstructor} on every constructor in class {@code c} that has at least {@code * minimalVisibility}. */ public void testConstructors(Class<?> c, Visibility minimalVisibility) { for (Constructor<?> constructor : c.getDeclaredConstructors()) { if (minimalVisibility.isVisible(constructor) && !isIgnored(constructor)) { testConstructor(constructor); } } }
public void testVisibility_package() throws Exception { assertFalse( Visibility.PACKAGE.isVisible(VisibilityMethods.class.getDeclaredMethod("privateMethod"))); assertTrue( Visibility.PACKAGE.isVisible( VisibilityMethods.class.getDeclaredMethod("packagePrivateMethod"))); assertTrue( Visibility.PACKAGE.isVisible(VisibilityMethods.class.getDeclaredMethod("protectedMethod"))); assertTrue( Visibility.PACKAGE.isVisible(VisibilityMethods.class.getDeclaredMethod("publicMethod"))); }
public void testVisibility_package() throws Exception { assertFalse(Visibility.PACKAGE.isVisible( VisibilityMethods.class.getDeclaredMethod("privateMethod"))); assertTrue(Visibility.PACKAGE.isVisible( VisibilityMethods.class.getDeclaredMethod("packagePrivateMethod"))); assertTrue(Visibility.PACKAGE.isVisible( VisibilityMethods.class.getDeclaredMethod("protectedMethod"))); assertTrue(Visibility.PACKAGE.isVisible( VisibilityMethods.class.getDeclaredMethod("publicMethod"))); }
public void testVisibility_protected() throws Exception { assertFalse(Visibility.PROTECTED.isVisible( VisibilityMethods.class.getDeclaredMethod("privateMethod"))); assertFalse(Visibility.PROTECTED.isVisible( VisibilityMethods.class.getDeclaredMethod("packagePrivateMethod"))); assertTrue(Visibility.PROTECTED.isVisible( VisibilityMethods.class.getDeclaredMethod("protectedMethod"))); assertTrue(Visibility.PROTECTED.isVisible( VisibilityMethods.class.getDeclaredMethod("publicMethod"))); }
public void testVisibility_public() throws Exception { assertFalse( Visibility.PUBLIC.isVisible(VisibilityMethods.class.getDeclaredMethod("privateMethod"))); assertFalse( Visibility.PUBLIC.isVisible( VisibilityMethods.class.getDeclaredMethod("packagePrivateMethod"))); assertFalse( Visibility.PUBLIC.isVisible(VisibilityMethods.class.getDeclaredMethod("protectedMethod"))); assertTrue( Visibility.PUBLIC.isVisible(VisibilityMethods.class.getDeclaredMethod("publicMethod"))); }
@Override public boolean apply(Class<?> cls) { return visibility.isVisible(cls.getModifiers()); } };
public void testVisibility_protected() throws Exception { assertFalse( Visibility.PROTECTED.isVisible(VisibilityMethods.class.getDeclaredMethod("privateMethod"))); assertFalse( Visibility.PROTECTED.isVisible( VisibilityMethods.class.getDeclaredMethod("packagePrivateMethod"))); assertTrue( Visibility.PROTECTED.isVisible( VisibilityMethods.class.getDeclaredMethod("protectedMethod"))); assertTrue( Visibility.PROTECTED.isVisible(VisibilityMethods.class.getDeclaredMethod("publicMethod"))); }
public void testVisibility_package() throws Exception { assertFalse( Visibility.PACKAGE.isVisible(VisibilityMethods.class.getDeclaredMethod("privateMethod"))); assertTrue( Visibility.PACKAGE.isVisible( VisibilityMethods.class.getDeclaredMethod("packagePrivateMethod"))); assertTrue( Visibility.PACKAGE.isVisible(VisibilityMethods.class.getDeclaredMethod("protectedMethod"))); assertTrue( Visibility.PACKAGE.isVisible(VisibilityMethods.class.getDeclaredMethod("publicMethod"))); }
public void testVisibility_public() throws Exception { assertFalse( Visibility.PUBLIC.isVisible(VisibilityMethods.class.getDeclaredMethod("privateMethod"))); assertFalse( Visibility.PUBLIC.isVisible( VisibilityMethods.class.getDeclaredMethod("packagePrivateMethod"))); assertFalse( Visibility.PUBLIC.isVisible(VisibilityMethods.class.getDeclaredMethod("protectedMethod"))); assertTrue( Visibility.PUBLIC.isVisible(VisibilityMethods.class.getDeclaredMethod("publicMethod"))); }
public void testVisibility_protected() throws Exception { assertFalse( Visibility.PROTECTED.isVisible(VisibilityMethods.class.getDeclaredMethod("privateMethod"))); assertFalse( Visibility.PROTECTED.isVisible( VisibilityMethods.class.getDeclaredMethod("packagePrivateMethod"))); assertTrue( Visibility.PROTECTED.isVisible( VisibilityMethods.class.getDeclaredMethod("protectedMethod"))); assertTrue( Visibility.PROTECTED.isVisible(VisibilityMethods.class.getDeclaredMethod("publicMethod"))); }
/** * Runs {@link #testConstructor} on every constructor in class {@code c} that has at least {@code * minimalVisibility}. */ public void testConstructors(Class<?> c, Visibility minimalVisibility) { for (Constructor<?> constructor : c.getDeclaredConstructors()) { if (minimalVisibility.isVisible(constructor) && !isIgnored(constructor)) { testConstructor(constructor); } } }