Fix tests: No dangling annotations in stubs
This commit is contained in:
@@ -92,7 +92,7 @@ public class JetClassBody extends JetElementImplStub<KotlinPlaceHolderStub<JetCl
|
||||
@NotNull
|
||||
public List<JetAnnotationEntry> getDanglingAnnotations() {
|
||||
return KotlinPackage.flatMap(
|
||||
findChildrenByClass(JetModifierList.class),
|
||||
getStubOrPsiChildrenAsList(MODIFIER_LIST),
|
||||
new Function1<JetModifierList, Iterable<JetAnnotationEntry>>() {
|
||||
@Override
|
||||
public Iterable<JetAnnotationEntry> invoke(JetModifierList modifierList) {
|
||||
|
||||
@@ -245,8 +245,15 @@ public class JetFile extends PsiFileBase implements JetDeclarationContainer, Jet
|
||||
*/
|
||||
@NotNull
|
||||
public List<JetAnnotationEntry> getDanglingAnnotations() {
|
||||
KotlinFileStub stub = getStub();
|
||||
JetModifierList[] danglingModifierLists = stub == null
|
||||
? findChildrenByClass(JetModifierList.class)
|
||||
: stub.getChildrenByType(
|
||||
JetStubElementTypes.MODIFIER_LIST,
|
||||
JetStubElementTypes.MODIFIER_LIST.getArrayFactory()
|
||||
);
|
||||
return KotlinPackage.flatMap(
|
||||
findChildrenByClass(JetModifierList.class),
|
||||
danglingModifierLists,
|
||||
new Function1<JetModifierList, Iterable<JetAnnotationEntry>>() {
|
||||
@Override
|
||||
public Iterable<JetAnnotationEntry> invoke(JetModifierList modifierList) {
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
PsiJetFileStubImpl[package=]
|
||||
PACKAGE_DIRECTIVE:
|
||||
CLASS:[fqName=C, isEnumEntry=false, isLocal=false, isTopLevel=true, isTrait=false, name=C, superNames=[]]
|
||||
CLASS_BODY:
|
||||
MODIFIER_LIST:[]
|
||||
ANNOTATION:
|
||||
ANNOTATION_ENTRY:[hasValueArguments=false, shortName=Ann]
|
||||
CONSTRUCTOR_CALLEE:
|
||||
TYPE_REFERENCE:
|
||||
USER_TYPE:[isAbsoluteInRootPackage=false]
|
||||
REFERENCE_EXPRESSION:[referencedName=Ann]
|
||||
MODIFIER_LIST:[]
|
||||
ANNOTATION:
|
||||
ANNOTATION_ENTRY:[hasValueArguments=false, shortName=Ann]
|
||||
CONSTRUCTOR_CALLEE:
|
||||
TYPE_REFERENCE:
|
||||
USER_TYPE:[isAbsoluteInRootPackage=false]
|
||||
REFERENCE_EXPRESSION:[referencedName=Ann]
|
||||
@@ -0,0 +1,5 @@
|
||||
class C {
|
||||
[Ann]
|
||||
}
|
||||
|
||||
[Ann]
|
||||
@@ -84,6 +84,12 @@ public class StubBuilderTestGenerated extends AbstractStubBuilderTest {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("DanglingAnnotations.kt")
|
||||
public void testDanglingAnnotations() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/stubs/DanglingAnnotations.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("DynamicType.kt")
|
||||
public void testDynamicType() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/stubs/DynamicType.kt");
|
||||
|
||||
Reference in New Issue
Block a user