java-topology/test/langtools/tools/javac/warnings/Deprecation.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

60 lines
1.5 KiB
Java

/*
* @test /nodynamiccopyright/
* @bug 4986256 6598104 8032211 8194764
* @compile/ref=Deprecation.noLint.out -XDrawDiagnostics Deprecation.java
* @compile/ref=Deprecation.lintDeprecation.out -Xlint:deprecation -XDrawDiagnostics Deprecation.java
* @compile/ref=Deprecation.lintDeprecation.out -Xlint:deprecation,-options --release 9 -XDrawDiagnostics Deprecation.java
* @compile/ref=Deprecation.lintDeprecation8.out -Xlint:deprecation,-options --release 8 -XDrawDiagnostics Deprecation.java
*/
import java.io.StringBufferInputStream;
@Deprecated
class Deprecation
{
}
// control: this class should generate warnings
class Deprecation2
{
void m() {
Object d = new Deprecation();
}
}
// tests: the warnings that would otherwise be generated should all be suppressed
@SuppressWarnings("deprecation")
class Deprecation3
{
void m() {
Object d = new Deprecation();
}
}
class Deprecation4
{
@SuppressWarnings("deprecation")
void m() {
Object d = new Deprecation();
}
}
class Deprecation5
{
void m() {
@SuppressWarnings("deprecation")
class Inner {
void m() {
Object d = new Deprecation();
}
}
}
}
// this class should produce warnings because @SuppressWarnings should not be inherited
class Deprecation6 extends Deprecation3
{
void m() {
Object d = new Deprecation();
}
}