Fix tests: No dangling annotations in stubs
This commit is contained in:
@@ -92,7 +92,7 @@ public class JetClassBody extends JetElementImplStub<KotlinPlaceHolderStub<JetCl
|
|||||||
@NotNull
|
@NotNull
|
||||||
public List<JetAnnotationEntry> getDanglingAnnotations() {
|
public List<JetAnnotationEntry> getDanglingAnnotations() {
|
||||||
return KotlinPackage.flatMap(
|
return KotlinPackage.flatMap(
|
||||||
findChildrenByClass(JetModifierList.class),
|
getStubOrPsiChildrenAsList(MODIFIER_LIST),
|
||||||
new Function1<JetModifierList, Iterable<JetAnnotationEntry>>() {
|
new Function1<JetModifierList, Iterable<JetAnnotationEntry>>() {
|
||||||
@Override
|
@Override
|
||||||
public Iterable<JetAnnotationEntry> invoke(JetModifierList modifierList) {
|
public Iterable<JetAnnotationEntry> invoke(JetModifierList modifierList) {
|
||||||
|
|||||||
@@ -245,8 +245,15 @@ public class JetFile extends PsiFileBase implements JetDeclarationContainer, Jet
|
|||||||
*/
|
*/
|
||||||
@NotNull
|
@NotNull
|
||||||
public List<JetAnnotationEntry> getDanglingAnnotations() {
|
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(
|
return KotlinPackage.flatMap(
|
||||||
findChildrenByClass(JetModifierList.class),
|
danglingModifierLists,
|
||||||
new Function1<JetModifierList, Iterable<JetAnnotationEntry>>() {
|
new Function1<JetModifierList, Iterable<JetAnnotationEntry>>() {
|
||||||
@Override
|
@Override
|
||||||
public Iterable<JetAnnotationEntry> invoke(JetModifierList modifierList) {
|
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);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("DanglingAnnotations.kt")
|
||||||
|
public void testDanglingAnnotations() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/stubs/DanglingAnnotations.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("DynamicType.kt")
|
@TestMetadata("DynamicType.kt")
|
||||||
public void testDynamicType() throws Exception {
|
public void testDynamicType() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/stubs/DynamicType.kt");
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/stubs/DynamicType.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user