Check that injection with annotation on parameter doesn't trigger not-stubbed psi
This commit is contained in:
@@ -39,6 +39,12 @@ public class KtParameterList extends KtElementImplStub<KotlinPlaceHolderStub<KtP
|
|||||||
return visitor.visitParameterList(this, data);
|
return visitor.visitParameterList(this, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PsiElement getParent() {
|
||||||
|
KotlinPlaceHolderStub<KtParameterList> stub = getStub();
|
||||||
|
return stub != null ? stub.getParentStub().getPsi() : super.getParent();
|
||||||
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public List<KtParameter> getParameters() {
|
public List<KtParameter> getParameters() {
|
||||||
return getStubOrPsiChildrenAsList(KtStubElementTypes.VALUE_PARAMETER);
|
return getStubOrPsiChildrenAsList(KtStubElementTypes.VALUE_PARAMETER);
|
||||||
@@ -49,11 +55,6 @@ public class KtParameterList extends KtElementImplStub<KotlinPlaceHolderStub<KtP
|
|||||||
return EditCommaSeparatedListHelper.INSTANCE.addItem(this, getParameters(), parameter);
|
return EditCommaSeparatedListHelper.INSTANCE.addItem(this, getParameters(), parameter);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
|
||||||
public KtParameter addParameterAfter(@NotNull KtParameter parameter, @Nullable KtParameter anchor) {
|
|
||||||
return EditCommaSeparatedListHelper.INSTANCE.addItemAfter(this, getParameters(), parameter, anchor);
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public KtParameter addParameterBefore(@NotNull KtParameter parameter, @Nullable KtParameter anchor) {
|
public KtParameter addParameterBefore(@NotNull KtParameter parameter, @Nullable KtParameter anchor) {
|
||||||
return EditCommaSeparatedListHelper.INSTANCE.addItemBefore(this, getParameters(), parameter, anchor);
|
return EditCommaSeparatedListHelper.INSTANCE.addItemBefore(this, getParameters(), parameter, anchor);
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package annotated.parameter
|
||||||
|
|
||||||
|
import util.funWithAnnotatedParameter
|
||||||
|
|
||||||
|
fun foo() {
|
||||||
|
val t = "literal"
|
||||||
|
funWithAnnotatedParameter(t)
|
||||||
|
}
|
||||||
@@ -46,4 +46,9 @@ fun funWithVararg(vararg i: Int): IntArray {
|
|||||||
|
|
||||||
fun <T, G> funWithWhere(a: G, b: T) where T: Collection<G> {
|
fun <T, G> funWithWhere(a: G, b: T) where T: Collection<G> {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
annotation class TempAnnotation
|
||||||
|
fun funWithAnnotatedParameter(@TempAnnotation param: String) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -35,6 +35,12 @@ public class MultiFileHighlightingTestGenerated extends AbstractMultiFileHighlig
|
|||||||
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/multiFileHighlighting"), Pattern.compile("^(.+)\\.kt$"), false);
|
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/multiFileHighlighting"), Pattern.compile("^(.+)\\.kt$"), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("annotatedParameter.kt")
|
||||||
|
public void testAnnotatedParameter() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiFileHighlighting/annotatedParameter.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("copyResolveBeforeParams.kt")
|
@TestMetadata("copyResolveBeforeParams.kt")
|
||||||
public void testCopyResolveBeforeParams() throws Exception {
|
public void testCopyResolveBeforeParams() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiFileHighlighting/copyResolveBeforeParams.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/multiFileHighlighting/copyResolveBeforeParams.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user