// !LANGUAGE: +ProhibitInnerClassesOfGenericClassExtendingThrowable // !DIAGNOSTICS: -UNUSED_VARIABLE // JAVAC_EXPECTED_FILE class OuterGeneric { inner class ErrorInnerExn : Exception() inner class InnerA { inner class ErrorInnerExn2 : Exception() } class OkNestedExn : Exception() val errorAnonymousObjectExn = object : Exception() {} fun foo() { class OkLocalExn : Exception() val errorAnonymousObjectExn = object : Exception() {} } fun genericFoo() { class OkLocalExn : Exception() class LocalGeneric { inner class ErrorInnerExnOfLocalGeneric : Exception() } } } class Outer { inner class InnerGeneric { inner class ErrorInnerExn : Exception() } } fun genericFoo() { class ErrorLocalExnInGenericFun : Exception() val errorkAnonymousObjectExnInGenericFun = object : Exception() {} }