mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
+3
-3
@@ -22,7 +22,6 @@ import com.intellij.execution.configurations.ConfigurationType;
|
||||
import com.intellij.execution.configurations.ModuleBasedConfiguration;
|
||||
import com.intellij.execution.junit.JavaRunConfigurationProducerBase;
|
||||
import com.intellij.execution.junit2.info.MethodLocation;
|
||||
import com.intellij.execution.testframework.TestsUIUtil;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.actionSystem.LangDataKeys;
|
||||
@@ -31,6 +30,7 @@ import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.ClassUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashSet;
|
||||
@@ -153,13 +153,13 @@ public abstract class AbstractPatternBasedConfigurationProducer<T extends Module
|
||||
|
||||
public static String getQName(PsiElement psiMember, Location location) {
|
||||
if (psiMember instanceof PsiClass) {
|
||||
return ((PsiClass)psiMember).getQualifiedName();
|
||||
return ClassUtil.getJVMClassName((PsiClass)psiMember);
|
||||
}
|
||||
else if (psiMember instanceof PsiMember) {
|
||||
final PsiClass containingClass = location instanceof MethodLocation
|
||||
? ((MethodLocation)location).getContainingClass(): ((PsiMember)psiMember).getContainingClass();
|
||||
assert containingClass != null;
|
||||
return containingClass.getQualifiedName() + "," + ((PsiMember)psiMember).getName();
|
||||
return ClassUtil.getJVMClassName(containingClass) + "," + ((PsiMember)psiMember).getName();
|
||||
} else if (psiMember instanceof PsiPackage) {
|
||||
return ((PsiPackage)psiMember).getQualifiedName();
|
||||
}
|
||||
|
||||
+13
-2
@@ -37,7 +37,7 @@ import java.util.Collections;
|
||||
public class RefJavaUtilImpl extends RefJavaUtil{
|
||||
|
||||
@Override
|
||||
public void addReferences(@NotNull final PsiModifierListOwner psiFrom, @NotNull final RefJavaElement ref, @Nullable PsiElement findIn) {
|
||||
public void addReferences(@NotNull final PsiModifierListOwner psiFrom, @NotNull final RefJavaElement ref, @Nullable final PsiElement findIn) {
|
||||
final RefJavaElementImpl refFrom = (RefJavaElementImpl)ref;
|
||||
if (findIn == null) {
|
||||
return;
|
||||
@@ -61,7 +61,8 @@ public class RefJavaUtilImpl extends RefJavaUtil{
|
||||
@Override public void visitReferenceExpression(PsiReferenceExpression expression) {
|
||||
visitElement(expression);
|
||||
|
||||
PsiElement psiResolved = expression.resolve();
|
||||
final JavaResolveResult result = expression.advancedResolve(false);
|
||||
final PsiElement psiResolved = result.getElement();
|
||||
|
||||
if (psiResolved instanceof PsiModifierListOwner) {
|
||||
if (isDeprecated(psiResolved)) refFrom.setUsesDeprecatedApi(true);
|
||||
@@ -76,6 +77,16 @@ public class RefJavaUtilImpl extends RefJavaUtil{
|
||||
if (refResolved instanceof RefMethod) {
|
||||
updateRefMethod(psiResolved, refResolved, expression, psiFrom, refFrom);
|
||||
}
|
||||
|
||||
if (psiResolved instanceof PsiMember && result.getCurrentFileResolveScope() instanceof PsiImportStaticStatement) {
|
||||
final PsiClass containingClass = ((PsiMember)psiResolved).getContainingClass();
|
||||
if (containingClass != null) {
|
||||
RefElement refContainingClass = refFrom.getRefManager().getReference(containingClass);
|
||||
if (refContainingClass != null) {
|
||||
refFrom.addReference(refContainingClass, containingClass, psiFrom, false, true, expression);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+10
-4
@@ -104,6 +104,12 @@ public class DeclarationJoinLinesHandler implements JoinLinesHandlerDelegate {
|
||||
|
||||
public static PsiExpression getInitializerExpression(PsiLocalVariable var,
|
||||
PsiAssignmentExpression assignment) {
|
||||
return getInitializerExpression(var.getInitializer(),
|
||||
assignment);
|
||||
}
|
||||
|
||||
public static PsiExpression getInitializerExpression(PsiExpression initializer,
|
||||
PsiAssignmentExpression assignment) {
|
||||
PsiExpression initializerExpression;
|
||||
final IElementType originalOpSign = assignment.getOperationTokenType();
|
||||
final PsiExpression rExpression = assignment.getRExpression();
|
||||
@@ -111,7 +117,7 @@ public class DeclarationJoinLinesHandler implements JoinLinesHandlerDelegate {
|
||||
initializerExpression = rExpression;
|
||||
}
|
||||
else {
|
||||
if (var.getInitializer() == null) return null;
|
||||
if (initializer == null) return null;
|
||||
String opSign = null;
|
||||
if (originalOpSign == JavaTokenType.ANDEQ) {
|
||||
opSign = "&";
|
||||
@@ -148,8 +154,8 @@ public class DeclarationJoinLinesHandler implements JoinLinesHandlerDelegate {
|
||||
}
|
||||
|
||||
try {
|
||||
final Project project = var.getProject();
|
||||
String initializerText = var.getInitializer().getText() + opSign;
|
||||
final Project project = assignment.getProject();
|
||||
String initializerText = initializer.getText() + opSign;
|
||||
final String rightText = rExpression.getText();
|
||||
if (ParenthesesUtils.areParenthesesNeeded(assignment.getOperationSign(), rExpression)) {
|
||||
initializerText += "(" + rightText + ")";
|
||||
@@ -157,7 +163,7 @@ public class DeclarationJoinLinesHandler implements JoinLinesHandlerDelegate {
|
||||
else {
|
||||
initializerText += rightText;
|
||||
}
|
||||
initializerExpression = JavaPsiFacade.getElementFactory(project).createExpressionFromText(initializerText, var);
|
||||
initializerExpression = JavaPsiFacade.getElementFactory(project).createExpressionFromText(initializerText, assignment);
|
||||
initializerExpression = (PsiExpression)CodeStyleManager.getInstance(project).reformat(initializerExpression);
|
||||
}
|
||||
catch (IncorrectOperationException e) {
|
||||
|
||||
@@ -16,8 +16,10 @@
|
||||
package com.intellij.codeInspection;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.editorActions.DeclarationJoinLinesHandler;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -38,7 +40,12 @@ public class RemoveAssignmentFix extends RemoveInitializerFix {
|
||||
parent = element;
|
||||
}
|
||||
if (!(parent instanceof PsiAssignmentExpression)) return;
|
||||
final PsiExpression rExpression = ((PsiAssignmentExpression)parent).getRExpression();
|
||||
final IElementType operationSign = ((PsiAssignmentExpression)parent).getOperationTokenType();
|
||||
PsiExpression rExpression = ((PsiAssignmentExpression)parent).getRExpression();
|
||||
if (JavaTokenType.EQ != operationSign && rExpression != null ) {
|
||||
rExpression = DeclarationJoinLinesHandler.getInitializerExpression(((PsiAssignmentExpression)parent).getLExpression(),
|
||||
(PsiAssignmentExpression)parent);
|
||||
}
|
||||
final PsiElement gParent = parent.getParent();
|
||||
if ((gParent instanceof PsiExpression || gParent instanceof PsiExpressionList || gParent instanceof PsiReturnStatement) && rExpression != null) {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(gParent.getContainingFile())) return;
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// "Remove redundant assignment" "true"
|
||||
class A {
|
||||
public String getContexts(final String env) {
|
||||
String contexts = "a";
|
||||
if ("dev".equals(env)) {
|
||||
return contexts + ",b";
|
||||
}
|
||||
return contexts;
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// "Remove redundant assignment" "true"
|
||||
class A {
|
||||
public String getContexts(final String env) {
|
||||
String contexts = "a";
|
||||
if ("dev".equals(env)) {
|
||||
return cont<caret>exts += ",b";
|
||||
}
|
||||
return contexts;
|
||||
}
|
||||
}
|
||||
+4
-1
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.theoryinpractice.testng.intention;
|
||||
|
||||
import com.beust.jcommander.JCommander;
|
||||
import com.intellij.openapi.roots.ExternalLibraryDescriptor;
|
||||
import com.intellij.codeInsight.daemon.quickFix.ExternalLibraryResolver;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -23,8 +24,10 @@ import com.intellij.util.ThreeState;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.testng.CommandLineArgs;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@@ -41,7 +44,7 @@ public class TestNGExternalLibraryResolver extends ExternalLibraryResolver {
|
||||
@NotNull
|
||||
@Override
|
||||
public List<String> getLibraryClassesRoots() {
|
||||
return Collections.singletonList(PathUtil.getJarPathForClass(Test.class));
|
||||
return Arrays.asList(PathUtil.getJarPathForClass(Test.class), PathUtil.getJarPathForClass(JCommander.class));
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user