abstract class IdeaBugTest<M extends IdeaBugTest.Mapping>
{
static class Mapping {}
}
class BugTestSub extends IdeaBugTest<BugTestSub.SubMapping>
{
public abstract static class SubMapping extends Mapping {}
}
class BugTestSub1 extends IdeaBugTest
{
public abstract static class SubMapping extends IdeaBugTest.Mapping {} //fqn here
}
class AbstractSettings {
interface State {}
}
interface SomeInterface<T> {}
class Settings extends AbstractSettings implements SomeInterface {
static class MyState implements State {}
}