mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
RecordAugmentProvider: check for existing method before generating light one
GitOrigin-RevId: 3256c52054ad399442c44e74442819e18fbc2dba
This commit is contained in:
committed by
intellij-monorepo-bot
parent
62c68622f1
commit
89f2ddb51d
@@ -0,0 +1,13 @@
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
import static java.lang.annotation.ElementType.*;
|
||||
|
||||
record A(@F @M int value) {
|
||||
int value() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void test() {
|
||||
<caret>value();
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
package com.intellij.java.psi.resolve;
|
||||
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.light.LightRecordMethod;
|
||||
import com.intellij.testFramework.LightProjectDescriptor;
|
||||
import com.intellij.testFramework.LightResolveTestCase;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -51,4 +52,12 @@ public class ResolveRecordMethodsTest extends LightResolveTestCase {
|
||||
assertTrue(targetField.hasAnnotation("F"));
|
||||
assertFalse(targetField.hasAnnotation("M"));
|
||||
}
|
||||
|
||||
public void testExistingMethod() {
|
||||
PsiElement target = resolve();
|
||||
assertTrue(target instanceof PsiMethod);
|
||||
assertFalse(target instanceof LightRecordMethod);
|
||||
PsiClass aClass = ((PsiMethod)target).getContainingClass();
|
||||
assertEquals(2, aClass.getMethods().length);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user