diff options
Diffstat (limited to 'src/main/java/org/junit/runners/model/FrameworkField.java')
-rw-r--r-- | src/main/java/org/junit/runners/model/FrameworkField.java | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/main/java/org/junit/runners/model/FrameworkField.java b/src/main/java/org/junit/runners/model/FrameworkField.java index 945e389..ea2b16f 100644 --- a/src/main/java/org/junit/runners/model/FrameworkField.java +++ b/src/main/java/org/junit/runners/model/FrameworkField.java @@ -14,12 +14,26 @@ import org.junit.runners.BlockJUnit4ClassRunner; public class FrameworkField extends FrameworkMember<FrameworkField> { private final Field field; - FrameworkField(Field field) { + /** + * Returns a new {@code FrameworkField} for {@code field}. + * + * <p>Access relaxed to {@code public} since version 4.13.1. + */ + public FrameworkField(Field field) { if (field == null) { throw new NullPointerException( "FrameworkField cannot be created without an underlying field."); } this.field = field; + + if (isPublic()) { + // This field could be a public field in a package-scope base class + try { + field.setAccessible(true); + } catch (SecurityException e) { + // We may get an IllegalAccessException when we try to access the field + } + } } @Override @@ -41,6 +55,11 @@ public class FrameworkField extends FrameworkMember<FrameworkField> { } @Override + boolean isBridgeMethod() { + return false; + } + + @Override protected int getModifiers() { return field.getModifiers(); } |