mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Merge branch 'master' into upsource-master
This commit is contained in:
-9
@@ -20,7 +20,6 @@ import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.template.Template;
|
||||
import com.intellij.codeInsight.template.TemplateEditingAdapter;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
@@ -29,14 +28,10 @@ import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author Mike
|
||||
*/
|
||||
public class CreateFieldFromUsageFix extends CreateVarFromUsageFix {
|
||||
public static boolean DEBUG = false;
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.daemon.impl.quickfix.CreateFieldFromUsageFix");
|
||||
|
||||
public CreateFieldFromUsageFix(PsiReferenceExpression referenceElement) {
|
||||
super(referenceElement);
|
||||
@@ -74,10 +69,6 @@ public class CreateFieldFromUsageFix extends CreateVarFromUsageFix {
|
||||
final PsiFile targetFile = targetClass.getContainingFile();
|
||||
|
||||
ExpectedTypeInfo[] expectedTypes = CreateFromUsageUtils.guessExpectedTypes(myReferenceExpression, false);
|
||||
if (DEBUG) {
|
||||
System.out.println("CreateFieldFromUsageFix.invokeImpl");
|
||||
System.out.println("expectedTypes = " + Arrays.toString(expectedTypes));
|
||||
}
|
||||
|
||||
String fieldName = myReferenceExpression.getReferenceName();
|
||||
assert fieldName != null;
|
||||
|
||||
-23
@@ -774,34 +774,16 @@ public class CreateFromUsageUtils {
|
||||
public int compare(final PsiMember m1, final PsiMember m2) {
|
||||
ProgressManager.checkCanceled();
|
||||
int result = JavaStatisticsManager.createInfo(null, m2).getUseCount() - JavaStatisticsManager.createInfo(null, m1).getUseCount();
|
||||
if (CreateFieldFromUsageFix.DEBUG) {
|
||||
System.out.println("CreateFromUsageUtils.compare");
|
||||
System.out.println("m1 = " + m1);
|
||||
System.out.println("m2 = " + m2);
|
||||
System.out.println("result = " + result);
|
||||
}
|
||||
if (result != 0) return result;
|
||||
final PsiClass aClass = m1.getContainingClass();
|
||||
final PsiClass bClass = m2.getContainingClass();
|
||||
if (aClass == null || bClass == null) return 0;
|
||||
if (CreateFieldFromUsageFix.DEBUG) {
|
||||
System.out.println("aClass = " + aClass);
|
||||
System.out.println("bClass = " + bClass);
|
||||
}
|
||||
result = JavaStatisticsManager.createInfo(null, bClass).getUseCount() - JavaStatisticsManager.createInfo(null, aClass).getUseCount();
|
||||
if (CreateFieldFromUsageFix.DEBUG) {
|
||||
System.out.println("result2 = " + result);
|
||||
}
|
||||
if (result != 0) return result;
|
||||
|
||||
WeighingComparable<PsiElement,ProximityLocation> proximity1 = PsiProximityComparator.getProximity(m1, expression);
|
||||
WeighingComparable<PsiElement,ProximityLocation> proximity2 = PsiProximityComparator.getProximity(m2, expression);
|
||||
if (proximity1 != null && proximity2 != null) {
|
||||
if (CreateFieldFromUsageFix.DEBUG) {
|
||||
System.out.println("proximity1 = " + proximity1);
|
||||
System.out.println("proximity2 = " + proximity2);
|
||||
}
|
||||
|
||||
return proximity2.compareTo(proximity1);
|
||||
}
|
||||
|
||||
@@ -816,11 +798,6 @@ public class CreateFromUsageUtils {
|
||||
ProgressManager.checkCanceled();
|
||||
PsiClass aClass = member.getContainingClass();
|
||||
if (aClass instanceof PsiAnonymousClass || aClass == null) continue;
|
||||
if (CreateFieldFromUsageFix.DEBUG) {
|
||||
System.out.println("CreateFromUsageUtils.addMemberInfo");
|
||||
System.out.println("member = " + member);
|
||||
System.out.println("aClass = " + aClass);
|
||||
}
|
||||
|
||||
if (facade.getResolveHelper().isAccessible(member, expression, null)) {
|
||||
PsiClassType type;
|
||||
|
||||
@@ -59,7 +59,7 @@ public class DfaVariableState implements Cloneable {
|
||||
}
|
||||
|
||||
List<PsiExpression> initializers = NullableStuffInspection.findAllConstructorInitializers((PsiField)var);
|
||||
if (!nullable && initializers.isEmpty()) {
|
||||
if (initializers.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ public class DfaVariableState implements Cloneable {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
return !nullable;
|
||||
}
|
||||
|
||||
protected DfaVariableState(final DfaVariableState toClone) {
|
||||
|
||||
+2
-2
@@ -49,10 +49,10 @@ import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.intellij.util.containers.ContainerUtil.addIfNotNull;
|
||||
import static com.intellij.util.containers.ContainerUtilRt.createEmptyCOWList;
|
||||
|
||||
public class NullableStuffInspection extends BaseLocalInspectionTool {
|
||||
// deprecated fields remain to minimize changes to users inspection profiles (which are often located in version control).
|
||||
@@ -485,7 +485,7 @@ public class NullableStuffInspection extends BaseLocalInspectionTool {
|
||||
}
|
||||
|
||||
public static List<PsiExpression> findAllConstructorInitializers(PsiField field) {
|
||||
final List<PsiExpression> result = new ArrayList<PsiExpression>();
|
||||
final List<PsiExpression> result = createEmptyCOWList();
|
||||
addIfNotNull(result, field.getInitializer());
|
||||
|
||||
PsiClass containingClass = field.getContainingClass();
|
||||
|
||||
+10
-1
@@ -1,15 +1,24 @@
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.lang.Object;
|
||||
|
||||
public class Doo {
|
||||
private final Object myA;
|
||||
private final Object myB;
|
||||
private final Object myC;
|
||||
|
||||
public Doo(@Nullable Object myA, @NotNull Object myB) {
|
||||
public Doo(@Nullable Object myA, @NotNull Object myB, Object c) {
|
||||
this.myA = myA;
|
||||
this.myB = myB;
|
||||
myC = c;
|
||||
}
|
||||
|
||||
int bar() {
|
||||
return myC.hashCode();
|
||||
}
|
||||
|
||||
|
||||
int foo() {
|
||||
if (<warning descr="Condition 'myB != null' is always 'true'">myB != null</warning> &&
|
||||
<warning descr="Method invocation 'myA.equals(myB)' may produce 'java.lang.NullPointerException'">myA.equals(myB)</warning>) {
|
||||
|
||||
+8
@@ -10,6 +10,8 @@ import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupManager;
|
||||
import com.intellij.codeInsight.lookup.impl.LookupImpl;
|
||||
import com.intellij.ide.ui.UISettings;
|
||||
import com.intellij.psi.statistics.StatisticsManager;
|
||||
import com.intellij.psi.statistics.impl.StatisticsManagerImpl;
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
|
||||
@@ -25,6 +27,12 @@ public abstract class CompletionSortingTestCase extends LightFixtureCompletionTe
|
||||
myType = type;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
((StatisticsManagerImpl)StatisticsManager.getInstance()).enableStatistics(getTestRootDisposable());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
LookupManager.getInstance(getProject()).hideActiveLookup();
|
||||
|
||||
@@ -10,8 +10,6 @@ import com.intellij.openapi.roots.LanguageLevelProjectExtension;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.codeStyle.CommonCodeStyleSettings;
|
||||
import com.intellij.psi.statistics.StatisticsManager;
|
||||
import com.intellij.psi.statistics.impl.StatisticsManagerImpl;
|
||||
import com.intellij.testFramework.LightCodeInsightTestCase;
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
|
||||
@@ -26,12 +24,6 @@ import com.intellij.testFramework.TestDataPath;
|
||||
public class CompletionStyleTest extends LightCodeInsightTestCase{
|
||||
private static final String BASE_PATH = "/codeInsight/completion/style";
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
((StatisticsManagerImpl)StatisticsManager.getInstance()).clearStatistics();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected LanguageLevel getLanguageLevel() {
|
||||
return LanguageLevel.JDK_1_6;
|
||||
|
||||
-8
@@ -5,8 +5,6 @@ import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupManager;
|
||||
import com.intellij.codeInsight.lookup.impl.LookupImpl;
|
||||
import com.intellij.openapi.command.WriteCommandAction;
|
||||
import com.intellij.psi.statistics.StatisticsManager;
|
||||
import com.intellij.psi.statistics.impl.StatisticsManagerImpl;
|
||||
import com.intellij.testFramework.LightProjectDescriptor;
|
||||
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -17,12 +15,6 @@ import org.jetbrains.annotations.NotNull;
|
||||
public abstract class LightFixtureCompletionTestCase extends LightCodeInsightFixtureTestCase {
|
||||
protected LookupElement[] myItems;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
((StatisticsManagerImpl)StatisticsManager.getInstance()).clearStatistics();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected LightProjectDescriptor getProjectDescriptor() {
|
||||
|
||||
-8
@@ -1,6 +1,5 @@
|
||||
package com.intellij.codeInsight.daemon.quickFix;
|
||||
|
||||
import com.intellij.codeInsight.daemon.impl.quickfix.CreateFieldFromUsageFix;
|
||||
import com.intellij.openapi.application.Result;
|
||||
import com.intellij.openapi.command.WriteCommandAction;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
@@ -23,14 +22,7 @@ public class CreateFieldFromUsageTest extends LightQuickFixTestCase{
|
||||
public void testCreateFromEquals() throws Exception { doSingleTest(); }
|
||||
public void testCreateFromEqualsToPrimitiveType() throws Exception { doSingleTest(); }
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
CreateFieldFromUsageFix.DEBUG = false;
|
||||
super.tearDown();
|
||||
}
|
||||
|
||||
public void testSortByRelevance() throws Exception {
|
||||
CreateFieldFromUsageFix.DEBUG = true;
|
||||
new WriteCommandAction(getProject()) {
|
||||
@Override
|
||||
protected void run(Result result) throws Exception {
|
||||
|
||||
@@ -19,8 +19,6 @@ import com.intellij.codeInsight.daemon.DaemonAnalyzerTestCase;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupManager;
|
||||
import com.intellij.codeInsight.lookup.impl.LookupImpl;
|
||||
import com.intellij.psi.statistics.StatisticsManager;
|
||||
import com.intellij.psi.statistics.impl.StatisticsManagerImpl;
|
||||
import com.intellij.testFramework.PlatformTestCase;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
@@ -38,12 +36,6 @@ public abstract class CompletionTestCase extends DaemonAnalyzerTestCase {
|
||||
protected LookupElement[] myItems;
|
||||
private CompletionType myType = CompletionType.BASIC;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
((StatisticsManagerImpl)StatisticsManager.getInstance()).clearStatistics();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
try {
|
||||
|
||||
-8
@@ -19,8 +19,6 @@ import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupManager;
|
||||
import com.intellij.codeInsight.lookup.impl.LookupImpl;
|
||||
import com.intellij.testFramework.LightCodeInsightTestCase;
|
||||
import com.intellij.psi.statistics.impl.StatisticsManagerImpl;
|
||||
import com.intellij.psi.statistics.StatisticsManager;
|
||||
import com.intellij.util.containers.HashSet;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
|
||||
@@ -37,12 +35,6 @@ public abstract class LightCompletionTestCase extends LightCodeInsightTestCase {
|
||||
protected LookupElement[] myItems;
|
||||
private CompletionType myType = CompletionType.BASIC;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
((StatisticsManagerImpl)StatisticsManager.getInstance()).clearStatistics();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
LookupManager.getInstance(getProject()).hideActiveLookup();
|
||||
|
||||
Reference in New Issue
Block a user