java-topology/test/langtools/tools/javac/InterfaceMemberClassModifiers.java
russell@unturf.com 0a580b313d undefect. CWE-407 — 63 sites patched across 27 ecosystems
Authors: russell@unturf.com · brackishbert@gmail.com · foxhop.net · TimeHexOn.com

Patches, unit tests, benchmarks, whitepaper, and outreach briefs.
Public domain — no copyright claimed. Use freely.
2026-03-26 17:11:57 -04:00

40 lines
1.1 KiB
Java

/*
* @test /nodynamiccopyright/
* @bug 4294065 4785453
* @summary Verify that invalid access modifiers on interface members don't cause crash.
* @author maddox
*
* @compile/fail/ref=InterfaceMemberClassModifiers.out --diags=layout=%b:%l:%_%m InterfaceMemberClassModifiers.java
*/
public interface InterfaceMemberClassModifiers {
Object nullWriter = null;
class SomeClass1 implements InterfaceMemberClassModifiers { // OK
public Object getOut() {
return nullWriter;
}
}
public class SomeClass2 implements InterfaceMemberClassModifiers { // OK
public Object getOut() {
return nullWriter;
}
}
// Compiler used to crash on these! (after reporting error)
protected class SomeClass3 implements InterfaceMemberClassModifiers { // illegal
public Object getOut() {
return nullWriter;
}
}
private class SomeClass4 implements InterfaceMemberClassModifiers { // illegal
public Object getOut() {
return nullWriter;
}
}
}