void () { doTest("package p;" + "class A implements I, J<I> { }\n" + "class B<K, V extends X> extends a/*skip*/.A { class I { } }\n" + "@java.lang.Deprecated interface I { }\n" + "/** @deprecated just don't use */ @interface N { }", "PsiJavaFileStub [p]\n" + " IMPORT_LIST:PsiImportListStub\n" + " CLASS:PsiClassStub[name=A fqn=p.A]\n" + " MODIFIER_LIST:PsiModifierListStub[mask=4096]\n" + " TYPE_PARAMETER_LIST:PsiTypeParameterListStub\n" + " EXTENDS_LIST:PsiRefListStub[EXTENDS_LIST:]\n" + " IMPLEMENTS_LIST:PsiRefListStub[IMPLEMENTS_LIST:I, J<I>]\n" + " CLASS:PsiClassStub[name=B fqn=p.B]\n" + " MODIFIER_LIST:PsiModifierListStub[mask=4096]\n" + " TYPE_PARAMETER_LIST:PsiTypeParameterListStub\n" + " TYPE_PARAMETER:PsiTypeParameter[K]\n" + " EXTENDS_BOUND_LIST:PsiRefListStub[EXTENDS_BOUNDS_LIST:]\n" + " TYPE_PARAMETER:PsiTypeParameter[V]\n" + " EXTENDS_BOUND_LIST:PsiRefListStub[EXTENDS_BOUNDS_LIST:X]\n" + " EXTENDS_LIST:PsiRefListStub[EXTENDS_LIST:a/*skip*/.A]\n" + " IMPLEMENTS_LIST:PsiRefListStub[IMPLEMENTS_LIST:]\n" + " CLASS:PsiClassStub[name=I fqn=p.B.I]\n" + " MODIFIER_LIST:PsiModifierListStub[mask=4096]\n" + " TYPE_PARAMETER_LIST:PsiTypeParameterListStub\n" + " EXTENDS_LIST:PsiRefListStub[EXTENDS_LIST:]\n" + " IMPLEMENTS_LIST:PsiRefListStub[IMPLEMENTS_LIST:]\n" + " CLASS:PsiClassStub[interface deprecatedA name=I fqn=p.I]\n" + " MODIFIER_LIST:PsiModifierListStub[mask=5120]\n" + " ANNOTATION:PsiAnnotationStub[@java.lang.Deprecated]\n" + " ANNOTATION_PARAMETER_LIST:PsiAnnotationParameterListStubImpl\n" + " TYPE_PARAMETER_LIST:PsiTypeParameterListStub\n" + " EXTENDS_LIST:PsiRefListStub[EXTENDS_LIST:]\n" + " IMPLEMENTS_LIST:PsiRefListStub[IMPLEMENTS_LIST:]\n" + " CLASS:PsiClassStub[interface annotation deprecated name=N fqn=p.N]\n" + " MODIFIER_LIST:PsiModifierListStub[mask=5120]\n" + " TYPE_PARAMETER_LIST:PsiTypeParameterListStub\n" + " EXTENDS_LIST:PsiRefListStub[EXTENDS_LIST:]\n" + " IMPLEMENTS_LIST:PsiRefListStub[IMPLEMENTS_LIST:]\n"); }