mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
replace with setter: skip non-primitive assignment (IDEA-133102)
This commit is contained in:
+4
-1
@@ -2785,7 +2785,10 @@ public class HighlightUtil extends HighlightUtilBase {
|
||||
final PsiMethod setterPrototype = PropertyUtil.generateSetterPrototype(psiField);
|
||||
final PsiMethod setter = containingClass.findMethodBySignature(setterPrototype, true);
|
||||
if (setter != null && PsiUtil.isAccessible(setter, place, accessObjectClass)) {
|
||||
QuickFixAction.registerQuickFixAction(error, QUICK_FIX_FACTORY.createReplaceInaccessibleFieldWithGetterSetterFix(place, setter, true));
|
||||
final PsiElement element = PsiTreeUtil.skipParentsOfType(place, PsiParenthesizedExpression.class);
|
||||
if (element instanceof PsiAssignmentExpression && ((PsiAssignmentExpression)element).getOperationTokenType() == JavaTokenType.EQ) {
|
||||
QuickFixAction.registerQuickFixAction(error, QUICK_FIX_FACTORY.createReplaceInaccessibleFieldWithGetterSetterFix(place, setter, true));
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (PsiUtil.isAccessedForReading((PsiExpression)place)) {
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
// "Replace with setter" "false"
|
||||
import java.io.File;
|
||||
|
||||
class Foo {
|
||||
void foo(File f) {
|
||||
f.<caret>path += "//";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user