mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-06 10:07:41 +07:00
ExpressionUtil to be reused in ControlFlowUtil
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.completion;
|
||||
|
||||
import com.intellij.codeInsight.ExpressionUtil;
|
||||
import com.intellij.codeInsight.daemon.ImplicitUsageProvider;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.filters.ElementFilter;
|
||||
@@ -68,7 +69,7 @@ class CheckInitialized implements ElementFilter {
|
||||
}
|
||||
|
||||
PsiElement parent = element.getParent();
|
||||
if (parent instanceof PsiReferenceExpression && !ExpressionUtils.isEffectivelyUnqualified((PsiReferenceExpression)parent)) {
|
||||
if (parent instanceof PsiReferenceExpression && !ExpressionUtil.isEffectivelyUnqualified((PsiReferenceExpression)parent)) {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
@@ -103,7 +104,7 @@ class CheckInitialized implements ElementFilter {
|
||||
@Override
|
||||
public void visitAssignmentExpression(PsiAssignmentExpression expression) {
|
||||
PsiExpression lExpression = expression.getLExpression();
|
||||
if (lExpression instanceof PsiReferenceExpression && ExpressionUtils.isEffectivelyUnqualified((PsiReferenceExpression)lExpression)) {
|
||||
if (lExpression instanceof PsiReferenceExpression && ExpressionUtil.isEffectivelyUnqualified((PsiReferenceExpression)lExpression)) {
|
||||
PsiElement target = ((PsiReferenceExpression)lExpression).resolve();
|
||||
if (target instanceof PsiField) {
|
||||
if (expression.getTextRange().getStartOffset() < statement.getTextRange().getStartOffset()) {
|
||||
|
||||
+1
@@ -25,6 +25,7 @@ import com.intellij.codeInsight.intention.impl.CreateClassDialog;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupElementBuilder;
|
||||
import com.intellij.codeInsight.template.*;
|
||||
import com.intellij.codeInsight.template.ExpressionUtil;
|
||||
import com.intellij.ide.fileTemplates.FileTemplate;
|
||||
import com.intellij.ide.fileTemplates.FileTemplateManager;
|
||||
import com.intellij.ide.fileTemplates.FileTemplateUtil;
|
||||
|
||||
+6
-5
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.codeInspection;
|
||||
|
||||
import com.intellij.codeInsight.ExpressionUtil;
|
||||
import com.intellij.codeInsight.NullableNotNullManager;
|
||||
import com.intellij.codeInsight.intention.impl.StreamRefactoringUtil;
|
||||
import com.intellij.codeInspection.dataFlow.DfaUtil;
|
||||
@@ -664,13 +665,13 @@ public class SimplifyStreamApiCallChainsInspection extends AbstractBaseJavaLocal
|
||||
}
|
||||
|
||||
static boolean isParentNegated(PsiMethodCallExpression methodCall) {
|
||||
if (ExpressionUtils.isEffectivelyUnqualified(methodCall.getMethodExpression())) return false;
|
||||
if (ExpressionUtil.isEffectivelyUnqualified(methodCall.getMethodExpression())) return false;
|
||||
PsiElement parent = PsiUtil.skipParenthesizedExprUp(methodCall.getParent());
|
||||
return parent instanceof PsiExpression && BoolUtils.isNegation((PsiExpression)parent);
|
||||
}
|
||||
|
||||
static boolean isArgumentLambdaNegated(PsiMethodCallExpression methodCall) {
|
||||
if (ExpressionUtils.isEffectivelyUnqualified(methodCall.getMethodExpression())) return false;
|
||||
if (ExpressionUtil.isEffectivelyUnqualified(methodCall.getMethodExpression())) return false;
|
||||
PsiExpression[] expressions = methodCall.getArgumentList().getExpressions();
|
||||
if(expressions.length != 1) return false;
|
||||
PsiExpression arg = expressions[0];
|
||||
@@ -1650,7 +1651,7 @@ public class SimplifyStreamApiCallChainsInspection extends AbstractBaseJavaLocal
|
||||
PsiMethodReferenceExpression methodRef = (PsiMethodReferenceExpression)arg;
|
||||
if (COLLECTION_CONTAINS.methodReferenceMatches(methodRef) &&
|
||||
!PsiMethodReferenceUtil.isStaticallyReferenced(methodRef) &&
|
||||
!ExpressionUtils.isEffectivelyUnqualified(methodRef)) {
|
||||
!ExpressionUtil.isEffectivelyUnqualified(methodRef)) {
|
||||
return methodRef.getQualifierExpression();
|
||||
}
|
||||
}
|
||||
@@ -1663,7 +1664,7 @@ public class SimplifyStreamApiCallChainsInspection extends AbstractBaseJavaLocal
|
||||
PsiMethodCallExpression call = tryCast(expression, PsiMethodCallExpression.class);
|
||||
if (COLLECTION_CONTAINS.test(call) &&
|
||||
ExpressionUtils.isReferenceTo(call.getArgumentList().getExpressions()[0], parameter) &&
|
||||
!ExpressionUtils.isEffectivelyUnqualified(call.getMethodExpression())) {
|
||||
!ExpressionUtil.isEffectivelyUnqualified(call.getMethodExpression())) {
|
||||
return call.getMethodExpression().getQualifierExpression();
|
||||
}
|
||||
}
|
||||
@@ -1674,7 +1675,7 @@ public class SimplifyStreamApiCallChainsInspection extends AbstractBaseJavaLocal
|
||||
@Nullable
|
||||
private static PsiExpression extractLeft(PsiMethodCallExpression call) {
|
||||
PsiMethodCallExpression qualifierCall = getQualifierMethodCall(call);
|
||||
if (!COLLECTION_STREAM.test(qualifierCall) || ExpressionUtils.isEffectivelyUnqualified(qualifierCall.getMethodExpression())) {
|
||||
if (!COLLECTION_STREAM.test(qualifierCall) || ExpressionUtil.isEffectivelyUnqualified(qualifierCall.getMethodExpression())) {
|
||||
return null;
|
||||
}
|
||||
return PsiUtil.skipParenthesizedExprDown(qualifierCall.getMethodExpression().getQualifierExpression());
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.intellij.refactoring.inline;
|
||||
|
||||
import com.intellij.codeInsight.AnnotationUtil;
|
||||
import com.intellij.codeInsight.ChangeContextUtil;
|
||||
import com.intellij.codeInsight.ExpressionUtil;
|
||||
import com.intellij.codeInsight.daemon.impl.quickfix.RemoveUnusedVariableUtil;
|
||||
import com.intellij.history.LocalHistory;
|
||||
import com.intellij.history.LocalHistoryAction;
|
||||
@@ -288,7 +289,7 @@ public class InlineMethodProcessor extends BaseRefactoringProcessor {
|
||||
PsiUtil.getEnclosingStaticElement(element, targetContainingClass) != null)) {
|
||||
targetContainingClasses.add(targetContainingClass);
|
||||
}
|
||||
else if (element instanceof PsiReferenceExpression && !ControlFlowUtil.isUnqualified((PsiReferenceExpression)element)) {
|
||||
else if (element instanceof PsiReferenceExpression && !ExpressionUtil.isEffectivelyUnqualified((PsiReferenceExpression)element)) {
|
||||
qualifiedCall = ((PsiReferenceExpression)element).getQualifierExpression();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user