summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2013-08-13 20:05:21 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-08-13 20:05:21 +0000
commit2178bcb2e403a8f0a11a1d724f56174bc5f3de5a (patch)
tree72354ec24788bcbdcafc9141f98bfc89b32377dd /java
parentd8c42e00b86935ac7ab5e60d3f40e1923bc168de (diff)
parent64efd6ae489fe89e97a659999c87e1e41eea8e79 (diff)
downloadidea-2178bcb2e403a8f0a11a1d724f56174bc5f3de5a.tar.gz
Merge "Snapshot 7e2655e04684ed009ba5dfe0caa809c5cabc6157 from master branch of git://git.jetbrains.org/idea/community.git"
Diffstat (limited to 'java')
-rw-r--r--java/compiler/impl/src/com/intellij/openapi/compiler/util/InspectionValidatorWrapper.java11
-rw-r--r--java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRunTaskProvider.java2
-rw-r--r--java/debugger/impl/src/com/intellij/debugger/apiAdapters/TransportServiceWrapper.java18
-rw-r--r--java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java22
-rw-r--r--java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerParametersRunnerConfigurable.java31
-rw-r--r--java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerRunner.java6
-rw-r--r--java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerRunnerSettings.java6
-rw-r--r--java/debugger/impl/src/com/intellij/debugger/ui/GenericDebuggerParametersPatcherConfigurable.form14
-rw-r--r--java/debugger/openapi/src/com/intellij/debugger/engine/DebuggerUtils.java17
-rw-r--r--java/execution/impl/src/com/intellij/execution/applet/AppletConfigurationProducer.java4
-rw-r--r--java/execution/impl/src/com/intellij/execution/remote/RemoteConfiguration.java5
-rw-r--r--java/idea-ui/src/com/intellij/ide/actions/ImportModuleAction.java1
-rw-r--r--java/idea-ui/src/com/intellij/openapi/vcs/checkout/NewProjectCheckoutListener.java3
-rw-r--r--java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java2
-rw-r--r--java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightMethodUtil.java21
-rw-r--r--java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java35
-rw-r--r--java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java8
-rw-r--r--java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFromUsageUtils.java3
-rw-r--r--java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java4
-rw-r--r--java/java-impl/src/com/intellij/codeInsight/highlighting/HighlightSuppressedWarningsHandler.java1
-rw-r--r--java/java-impl/src/com/intellij/codeInsight/intention/impl/AddSingleMemberStaticImportAction.java2
-rw-r--r--java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateSubclassAction.java8
-rw-r--r--java/java-impl/src/com/intellij/ide/structureView/impl/AddAllMembersProcessor.java2
-rw-r--r--java/java-impl/src/com/intellij/psi/filters/classes/AnyInnerFilter.java4
-rw-r--r--java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java2
-rw-r--r--java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java6
-rw-r--r--java/java-psi-api/src/com/intellij/util/VisibilityUtil.java6
-rw-r--r--java/java-psi-impl/src/com/intellij/psi/impl/PsiSuperMethodImplUtil.java14
-rw-r--r--java/java-tests/testSrc/com/intellij/navigation/ChooseByNameTest.groovy15
-rw-r--r--java/jdkAnnotations/java/lang/annotations.xml7
30 files changed, 168 insertions, 112 deletions
diff --git a/java/compiler/impl/src/com/intellij/openapi/compiler/util/InspectionValidatorWrapper.java b/java/compiler/impl/src/com/intellij/openapi/compiler/util/InspectionValidatorWrapper.java
index 1a42de2c551c..88fe95c643cb 100644
--- a/java/compiler/impl/src/com/intellij/openapi/compiler/util/InspectionValidatorWrapper.java
+++ b/java/compiler/impl/src/com/intellij/openapi/compiler/util/InspectionValidatorWrapper.java
@@ -8,6 +8,8 @@ import com.intellij.codeInsight.daemon.HighlightDisplayKey;
import com.intellij.codeInsight.daemon.impl.AnnotationHolderImpl;
import com.intellij.codeInsight.daemon.impl.HighlightInfo;
import com.intellij.codeInspection.*;
+import com.intellij.codeInspection.ex.InspectionManagerEx;
+import com.intellij.codeInspection.ex.LocalInspectionToolWrapper;
import com.intellij.compiler.options.ValidationConfiguration;
import com.intellij.lang.ExternalLanguageAnnotators;
import com.intellij.lang.StdLanguages;
@@ -76,6 +78,13 @@ public class InspectionValidatorWrapper implements Validator {
return ourCompilationThreads.get().booleanValue();
}
+ private static List<ProblemDescriptor> runInspectionOnFile(@NotNull PsiFile file,
+ @NotNull LocalInspectionTool inspectionTool) {
+ InspectionManagerEx inspectionManager = (InspectionManagerEx)InspectionManager.getInstance(file.getProject());
+ GlobalInspectionContext context = inspectionManager.createNewGlobalContext(false);
+ return InspectionEngine.runInspectionOnFile(file, new LocalInspectionToolWrapper(inspectionTool), context);
+ }
+
private class MyValidatorProcessingItem implements ProcessingItem {
private final VirtualFile myVirtualFile;
private final PsiFile myPsiFile;
@@ -281,7 +290,7 @@ public class InspectionValidatorWrapper implements Validator {
final LocalInspectionTool inspectionTool,
final HighlightDisplayLevel level) {
Map<ProblemDescriptor, HighlightDisplayLevel> problemsMap = new LinkedHashMap<ProblemDescriptor, HighlightDisplayLevel>();
- for (ProblemDescriptor descriptor : InspectionRunningUtil.runInspectionOnFile(file, inspectionTool)) {
+ for (ProblemDescriptor descriptor : runInspectionOnFile(file, inspectionTool)) {
problemsMap.put(descriptor, level);
}
return problemsMap;
diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRunTaskProvider.java b/java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRunTaskProvider.java
index 2154a095007e..e0342ebf23e6 100644
--- a/java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRunTaskProvider.java
+++ b/java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRunTaskProvider.java
@@ -65,7 +65,7 @@ public class BuildArtifactsBeforeRunTaskProvider extends BeforeRunTaskProvider<B
@Override
public void artifactRemoved(@NotNull Artifact artifact) {
final RunManagerEx runManager = RunManagerEx.getInstanceEx(myProject);
- for (RunConfiguration configuration : runManager.getAllConfigurations()) {
+ for (RunConfiguration configuration : runManager.getAllConfigurationsList()) {
final List<BuildArtifactsBeforeRunTask> tasks = runManager.getBeforeRunTasks(configuration, ID);
for (BuildArtifactsBeforeRunTask task : tasks) {
final String artifactName = artifact.getName();
diff --git a/java/debugger/impl/src/com/intellij/debugger/apiAdapters/TransportServiceWrapper.java b/java/debugger/impl/src/com/intellij/debugger/apiAdapters/TransportServiceWrapper.java
index a464864743b2..84a4679919ba 100644
--- a/java/debugger/impl/src/com/intellij/debugger/apiAdapters/TransportServiceWrapper.java
+++ b/java/debugger/impl/src/com/intellij/debugger/apiAdapters/TransportServiceWrapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2013 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,7 +17,6 @@ package com.intellij.debugger.apiAdapters;
import com.intellij.execution.ExecutionException;
import com.intellij.openapi.diagnostic.Logger;
-import com.intellij.openapi.util.SystemInfo;
import com.intellij.util.ArrayUtil;
import com.sun.jdi.connect.Transport;
@@ -25,8 +24,8 @@ import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
-import java.util.Map;
import java.util.HashMap;
+import java.util.Map;
/**
* @author max
@@ -36,14 +35,9 @@ public class TransportServiceWrapper {
private final Object myDelegateObject;
private final Class myDelegateClass;
- @SuppressWarnings({"HardCodedStringLiteral"})
- private static final String SOCKET_TRANSPORT_CLASS = SystemInfo.JAVA_VERSION.startsWith("1.4")
- ? "com.sun.tools.jdi.SocketTransport"
- : "com.sun.tools.jdi.SocketTransportService";
- @SuppressWarnings({"HardCodedStringLiteral"})
- private static final String SHMEM_TRANSPORT_CLASS = SystemInfo.JAVA_VERSION.startsWith("1.4")
- ? "com.sun.tools.jdi.SharedMemoryTransport"
- : "com.sun.tools.jdi.SharedMemoryTransportService";
+
+ private static final String SOCKET_TRANSPORT_CLASS = "com.sun.tools.jdi.SocketTransportService";
+ private static final String SHMEM_TRANSPORT_CLASS = "com.sun.tools.jdi.SharedMemoryTransportService";
private final Map<String, Object> myListenAddresses = new HashMap<String, Object>();
@@ -172,7 +166,7 @@ public class TransportServiceWrapper {
transport = new TransportServiceWrapper(Class.forName(SHMEM_TRANSPORT_CLASS));
}
}
- catch (UnsatisfiedLinkError e) {
+ catch (UnsatisfiedLinkError ignored) {
transport = new TransportServiceWrapper(Class.forName(SOCKET_TRANSPORT_CLASS));
}
}
diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java
index 269799d07624..6be6899d6bb0 100644
--- a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java
+++ b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2013 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -45,23 +45,28 @@ import java.io.IOException;
public class DebuggerUtilsImpl extends DebuggerUtilsEx{
private static final Logger LOG = Logger.getInstance("#com.intellij.debugger.impl.DebuggerUtilsImpl");
+ @Override
public PsiExpression substituteThis(PsiExpression expressionWithThis, PsiExpression howToEvaluateThis, Value howToEvaluateThisValue, StackFrameContext context)
throws EvaluateException {
return DebuggerTreeNodeExpression.substituteThis(expressionWithThis, howToEvaluateThis, howToEvaluateThisValue);
}
+ @Override
public EvaluatorBuilder getEvaluatorBuilder() {
return EvaluatorBuilderImpl.getInstance();
}
+ @Override
public DebuggerTreeNode getSelectedNode(DataContext context) {
return DebuggerAction.getSelectedNode(context);
}
+ @Override
public DebuggerContextImpl getDebuggerContext(DataContext context) {
return DebuggerAction.getDebuggerContext(context);
}
+ @Override
@SuppressWarnings({"HardCodedStringLiteral"})
public Element writeTextWithImports(TextWithImports text) {
Element element = new Element("TextWithImports");
@@ -71,6 +76,7 @@ public class DebuggerUtilsImpl extends DebuggerUtilsEx{
return element;
}
+ @Override
@SuppressWarnings({"HardCodedStringLiteral"})
public TextWithImports readTextWithImports(Element element) {
LOG.assertTrue("TextWithImports".equals(element.getName()));
@@ -83,39 +89,45 @@ public class DebuggerUtilsImpl extends DebuggerUtilsEx{
}
}
+ @Override
public void writeTextWithImports(Element root, String name, TextWithImports value) {
LOG.assertTrue(value.getKind() == CodeFragmentKind.EXPRESSION);
JDOMExternalizerUtil.writeField(root, name, value.toExternalForm());
}
+ @Override
public TextWithImports readTextWithImports(Element root, String name) {
String s = JDOMExternalizerUtil.readField(root, name);
if(s == null) return null;
return new TextWithImportsImpl(CodeFragmentKind.EXPRESSION, s);
}
+ @Override
public TextWithImports createExpressionWithImports(String expression) {
return new TextWithImportsImpl(CodeFragmentKind.EXPRESSION, expression);
}
+ @Override
public PsiElement getContextElement(StackFrameContext context) {
return PositionUtil.getContextElement(context);
}
+ @Override
public PsiClass chooseClassDialog(String title, Project project) {
TreeClassChooser dialog = TreeClassChooserFactory.getInstance(project).createAllProjectScopeChooser(title);
dialog.showDialog();
return dialog.getSelected();
}
+ @Override
public CompletionEditor createEditor(Project project, PsiElement context, String recentsId) {
return new DebuggerExpressionComboBox(project, context, recentsId, DefaultCodeFragmentFactory.getInstance());
}
+ @Override
public String findAvailableDebugAddress(final boolean useSockets) throws ExecutionException {
final TransportServiceWrapper transportService = TransportServiceWrapper.getTransportService(useSockets);
-
- if(useSockets) {
+ if (useSockets) {
final int freePort;
try {
freePort = NetUtils.findAvailableSocketPort();
@@ -127,7 +139,7 @@ public class DebuggerUtilsImpl extends DebuggerUtilsEx{
}
try {
- String address = transportService.startListening();
+ String address = transportService.startListening();
transportService.stopListening(address);
return address;
}
@@ -135,4 +147,4 @@ public class DebuggerUtilsImpl extends DebuggerUtilsEx{
throw new ExecutionException(DebugProcessImpl.processError(e));
}
}
-}
+} \ No newline at end of file
diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerParametersRunnerConfigurable.java b/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerParametersRunnerConfigurable.java
index b0cb440e039f..b36d0a4303fe 100644
--- a/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerParametersRunnerConfigurable.java
+++ b/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerParametersRunnerConfigurable.java
@@ -25,6 +25,7 @@ import com.intellij.openapi.options.SettingsEditor;
import com.intellij.openapi.options.ShowSettingsUtil;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
+import com.intellij.ui.PortField;
import com.intellij.xdebugger.impl.settings.DebuggerConfigurable;
import org.jetbrains.annotations.NotNull;
@@ -38,7 +39,7 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
private JTextField myAddressField;
private JPanel myShMemPanel;
private JPanel myPortPanel;
- private JTextField myPortField;
+ private PortField myPortField;
private boolean myIsLocal = false;
private JButton myDebuggerSettings;
private JRadioButton mySocketTransport;
@@ -47,6 +48,7 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
public GenericDebuggerParametersRunnerConfigurable(final Project project) {
myDebuggerSettings.addActionListener(new ActionListener() {
+ @Override
public void actionPerformed(ActionEvent e) {
ShowSettingsUtil.getInstance().showSettingsDialog(project, DebuggerConfigurable.DISPLAY_NAME);
if (myIsLocal) {
@@ -58,6 +60,7 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
});
final ActionListener listener = new ActionListener() {
+ @Override
public void actionPerformed(final ActionEvent e) {
suggestAvailablePortIfNotSpecified();
updateUI();
@@ -80,6 +83,7 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
return getTransport() == DebuggerSettings.SOCKET_TRANSPORT;
}
+ @Override
@NotNull
public JComponent createEditor() {
return myPanel;
@@ -94,9 +98,11 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
myShmemTransport.setEnabled(!myIsLocal);
}
+ @Override
public void disposeEditor() {
}
+ @Override
public void resetEditorFrom(GenericDebuggerRunnerSettings runnerSettings) {
setIsLocal(runnerSettings.LOCAL);
setTransport(runnerSettings.getTransport());
@@ -113,7 +119,7 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
try {
Integer.parseInt(port);
}
- catch (NumberFormatException e) {
+ catch (NumberFormatException ignored) {
portSpecified = false;
}
}
@@ -139,7 +145,7 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
private String getPort() {
if (isSocket()) {
- return myPortField.getText();
+ return String.valueOf(myPortField.getNumber());
}
else {
return myAddressField.getText();
@@ -147,16 +153,9 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
}
private void checkPort() throws ConfigurationException {
- if (isSocket() && myPortField.getText().length() > 0) {
- try {
- final int port = Integer.parseInt(myPortField.getText());
- if (port < 0 || port > 0xffff) {
- throw new NumberFormatException();
- }
- }
- catch (NumberFormatException e) {
- throw new ConfigurationException(DebuggerBundle.message("error.text.invalid.port.0", myPortField.getText()));
- }
+ final int port = myPortField.getNumber();
+ if (isSocket() && port > 0 && (port < 0 || port > 0xffff)) {
+ throw new ConfigurationException(DebuggerBundle.message("error.text.invalid.port.0", port));
}
}
@@ -173,13 +172,14 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
private void setPort(String port) {
if (isSocket()) {
- myPortField.setText(port);
+ myPortField.setNumber(StringUtil.parseInt(port, 0));
}
else {
myAddressField.setText(port);
}
}
+ @Override
public void applyEditorTo(GenericDebuggerRunnerSettings runnerSettings) throws ConfigurationException {
runnerSettings.LOCAL = myIsLocal;
checkPort();
@@ -188,5 +188,4 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor<
runnerSettings.setTransport(getTransport());
}
}
-
-}
+} \ No newline at end of file
diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerRunner.java b/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerRunner.java
index 0d2c516a55f6..138da8074e53 100644
--- a/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerRunner.java
+++ b/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerRunner.java
@@ -33,16 +33,19 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class GenericDebuggerRunner extends JavaPatchableProgramRunner<GenericDebuggerRunnerSettings> {
+ @Override
public boolean canRun(@NotNull final String executorId, @NotNull final RunProfile profile) {
return executorId.equals(DefaultDebugExecutor.EXECUTOR_ID) && profile instanceof ModuleRunProfile
&& !(profile instanceof RunConfigurationWithSuppressedDefaultDebugAction);
}
+ @Override
@NotNull
public String getRunnerId() {
return DebuggingRunnerData.DEBUGGER_RUNNER_ID;
}
+ @Override
protected RunContentDescriptor doExecute(final Project project,
final RunProfileState state,
final RunContentDescriptor contentToReuse,
@@ -95,10 +98,12 @@ public class GenericDebuggerRunner extends JavaPatchableProgramRunner<GenericDeb
return remoteConnection;
}
+ @Override
public GenericDebuggerRunnerSettings createConfigurationData(ConfigurationInfoProvider settingsProvider) {
return new GenericDebuggerRunnerSettings();
}
+ @Override
public void patch(JavaParameters javaParameters, RunnerSettings settings, RunProfile runProfile, final boolean beforeExecution) throws ExecutionException {
doPatch(javaParameters, settings);
runCustomPatchers(javaParameters, Executor.EXECUTOR_EXTENSION_NAME.findExtension(DefaultDebugExecutor.class), runProfile);
@@ -112,6 +117,7 @@ public class GenericDebuggerRunner extends JavaPatchableProgramRunner<GenericDeb
return DebuggerManagerImpl.createDebugParameters(javaParameters, debuggerSettings, false);
}
+ @Override
public SettingsEditor<GenericDebuggerRunnerSettings> getSettingsEditor(final Executor executor, RunConfiguration configuration) {
if (configuration instanceof RunConfigurationWithRunnerSettings) {
if (((RunConfigurationWithRunnerSettings)configuration).isSettingsNeeded()) {
diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerRunnerSettings.java b/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerRunnerSettings.java
index fd3279572077..594aec895b59 100644
--- a/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerRunnerSettings.java
+++ b/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerRunnerSettings.java
@@ -31,18 +31,22 @@ public class GenericDebuggerRunnerSettings implements RunnerSettings, DebuggingR
public GenericDebuggerRunnerSettings() {
}
+ @Override
public String getDebugPort() {
return DEBUG_PORT;
}
+ @Override
public boolean isRemote() {
return !LOCAL;
}
+ @Override
public void setLocal(boolean isLocal) {
LOCAL = isLocal;
}
+ @Override
public void setDebugPort(String port) {
DEBUG_PORT = port;
}
@@ -51,10 +55,12 @@ public class GenericDebuggerRunnerSettings implements RunnerSettings, DebuggingR
TRANSPORT = transport;
}
+ @Override
public void readExternal(Element element) throws InvalidDataException {
DefaultJDOMExternalizer.readExternal(this, element);
}
+ @Override
public void writeExternal(Element element) throws WriteExternalException {
DefaultJDOMExternalizer.writeExternal(this, element);
}
diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/GenericDebuggerParametersPatcherConfigurable.form b/java/debugger/impl/src/com/intellij/debugger/ui/GenericDebuggerParametersPatcherConfigurable.form
index 01cb7956c2bd..3cb1ef9bf190 100644
--- a/java/debugger/impl/src/com/intellij/debugger/ui/GenericDebuggerParametersPatcherConfigurable.form
+++ b/java/debugger/impl/src/com/intellij/debugger/ui/GenericDebuggerParametersPatcherConfigurable.form
@@ -3,7 +3,7 @@
<grid id="a1cd4" binding="myPanel" layout-manager="GridLayoutManager" row-count="3" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
- <xy x="53" y="171" width="441" height="92"/>
+ <xy x="53" y="171" width="441" height="105"/>
</constraints>
<properties/>
<border type="none"/>
@@ -39,7 +39,7 @@
<grid id="c2b5" binding="myPortPanel" layout-manager="GridLayoutManager" row-count="1" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
- <grid row="2" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
+ <grid row="2" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="8" fill="2" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
<border type="none"/>
@@ -52,15 +52,11 @@
<text resource-bundle="messages/DebuggerBundle" key="label.generic.debugger.parameters.patcher.configurable.port"/>
</properties>
</component>
- <component id="5ffe7" class="javax.swing.JTextField" binding="myPortField">
+ <component id="5ffe7" class="com.intellij.ui.PortField" binding="myPortField">
<constraints>
- <grid row="0" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="1" indent="0" use-parent-layout="false">
- <preferred-size width="150" height="-1"/>
- </grid>
+ <grid row="0" column="1" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
- <properties>
- <text value=""/>
- </properties>
+ <properties/>
</component>
</children>
</grid>
diff --git a/java/debugger/openapi/src/com/intellij/debugger/engine/DebuggerUtils.java b/java/debugger/openapi/src/com/intellij/debugger/engine/DebuggerUtils.java
index 9fcc7d7a7d8d..e2f93e7ba50e 100644
--- a/java/debugger/openapi/src/com/intellij/debugger/engine/DebuggerUtils.java
+++ b/java/debugger/openapi/src/com/intellij/debugger/engine/DebuggerUtils.java
@@ -107,7 +107,7 @@ public abstract class DebuggerUtils {
toStringMethod = findMethod(refType, "toString", "()Ljava/lang/String;");
debugProcess.putUserData(TO_STRING_METHOD_KEY, toStringMethod);
}
- catch (Exception e) {
+ catch (Exception ignored) {
throw EvaluateExceptionUtil.createEvaluateException(
DebuggerBundle.message("evaluation.error.cannot.evaluate.tostring", objRef.referenceType().name()));
}
@@ -125,7 +125,7 @@ public abstract class DebuggerUtils {
}
throw EvaluateExceptionUtil.createEvaluateException(DebuggerBundle.message("evaluation.error.unsupported.expression.type"));
}
- catch (ObjectCollectedException e) {
+ catch (ObjectCollectedException ignored) {
throw EvaluateExceptionUtil.OBJECT_WAS_COLLECTED;
}
}
@@ -291,8 +291,8 @@ public abstract class DebuggerUtils {
}
List ifaces = ((ClassType)subType).allInterfaces();
- for (Iterator iterator = ifaces.iterator(); iterator.hasNext();) {
- InterfaceType interfaceType = (InterfaceType)iterator.next();
+ for (Object iface : ifaces) {
+ InterfaceType interfaceType = (InterfaceType)iface;
if (interfaceType.name().equals(superType)) {
return interfaceType;
}
@@ -302,8 +302,8 @@ public abstract class DebuggerUtils {
if (subType instanceof InterfaceType) {
List ifaces = ((InterfaceType)subType).superinterfaces();
- for (Iterator iterator = ifaces.iterator(); iterator.hasNext();) {
- InterfaceType interfaceType = (InterfaceType)iterator.next();
+ for (Object iface : ifaces) {
+ InterfaceType interfaceType = (InterfaceType)iface;
result = getSuperType(interfaceType, superType);
if (result != null) {
return result;
@@ -402,9 +402,8 @@ public abstract class DebuggerUtils {
PsiElement[] children = codeFragment.getChildren();
if(children.length == 0) throw EvaluateExceptionUtil.createEvaluateException(DebuggerBundle.message("evaluation.error.empty.code.fragment"));
- for (int i = 0; i < children.length; i++) {
- PsiElement child = children[i];
- if(child instanceof PsiErrorElement) {
+ for (PsiElement child : children) {
+ if (child instanceof PsiErrorElement) {
throw EvaluateExceptionUtil.createEvaluateException(DebuggerBundle.message("evaluation.error.invalid.expression", child.getText()));
}
}
diff --git a/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurationProducer.java b/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurationProducer.java
index 8961236853d9..cdaac5871338 100644
--- a/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurationProducer.java
+++ b/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurationProducer.java
@@ -38,6 +38,8 @@ import com.intellij.psi.util.PsiClassUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import java.util.List;
+
public class AppletConfigurationProducer extends JavaRuntimeConfigurationProducerBase {
private PsiClass myPsiClass;
@@ -106,7 +108,7 @@ public class AppletConfigurationProducer extends JavaRuntimeConfigurationProduce
@Override
protected RunnerAndConfigurationSettings findExistingByElement(Location location,
- @NotNull RunnerAndConfigurationSettings[] existingConfigurations,
+ @NotNull List<RunnerAndConfigurationSettings> existingConfigurations,
ConfigurationContext context) {
final PsiClass aClass = getAppletClass(location.getPsiElement(), PsiManager.getInstance(location.getProject()));
if (aClass != null) {
diff --git a/java/execution/impl/src/com/intellij/execution/remote/RemoteConfiguration.java b/java/execution/impl/src/com/intellij/execution/remote/RemoteConfiguration.java
index 450aeb546cab..4f503f3f7270 100644
--- a/java/execution/impl/src/com/intellij/execution/remote/RemoteConfiguration.java
+++ b/java/execution/impl/src/com/intellij/execution/remote/RemoteConfiguration.java
@@ -44,6 +44,7 @@ import java.util.Collection;
public class RemoteConfiguration extends ModuleBasedConfiguration<JavaRunConfigurationModule> implements
RunConfigurationWithSuppressedDefaultRunAction {
+ @Override
public void writeExternal(final Element element) throws WriteExternalException {
super.writeExternal(element);
final Module module = getConfigurationModule().getModule();
@@ -53,6 +54,7 @@ public class RemoteConfiguration extends ModuleBasedConfiguration<JavaRunConfigu
DefaultJDOMExternalizer.writeExternal(this, element);
}
+ @Override
public void readExternal(final Element element) throws InvalidDataException {
super.readExternal(element);
readModule(element);
@@ -73,6 +75,7 @@ public class RemoteConfiguration extends ModuleBasedConfiguration<JavaRunConfigu
return new RemoteConnection(USE_SOCKET_TRANSPORT, HOST, USE_SOCKET_TRANSPORT ? PORT : SHMEM_ADDRESS, SERVER_MODE);
}
+ @Override
public RunProfileState getState(@NotNull final Executor executor, @NotNull final ExecutionEnvironment env) throws ExecutionException {
GenericDebuggerRunnerSettings debuggerSettings = (GenericDebuggerRunnerSettings)env.getRunnerSettings();
debuggerSettings.LOCAL = false;
@@ -81,6 +84,7 @@ public class RemoteConfiguration extends ModuleBasedConfiguration<JavaRunConfigu
return new RemoteStateState(getProject(), createRemoteConnection());
}
+ @Override
@NotNull
public SettingsEditor<? extends RunConfiguration> getConfigurationEditor() {
SettingsEditorGroup<RemoteConfiguration> group = new SettingsEditorGroup<RemoteConfiguration>();
@@ -89,6 +93,7 @@ public class RemoteConfiguration extends ModuleBasedConfiguration<JavaRunConfigu
return group;
}
+ @Override
public Collection<Module> getValidModules() {
return getAllModules();
}
diff --git a/java/idea-ui/src/com/intellij/ide/actions/ImportModuleAction.java b/java/idea-ui/src/com/intellij/ide/actions/ImportModuleAction.java
index bd92290d26ec..e7ec1b050bc5 100644
--- a/java/idea-ui/src/com/intellij/ide/actions/ImportModuleAction.java
+++ b/java/idea-ui/src/com/intellij/ide/actions/ImportModuleAction.java
@@ -160,6 +160,7 @@ public class ImportModuleAction extends AnAction {
return builder.toString();
}
+ @Nullable
public static AddModuleWizard createImportWizard(final Project project,
@Nullable Component dialogParent,
final VirtualFile file,
diff --git a/java/idea-ui/src/com/intellij/openapi/vcs/checkout/NewProjectCheckoutListener.java b/java/idea-ui/src/com/intellij/openapi/vcs/checkout/NewProjectCheckoutListener.java
index a21ae77c71a4..f395d48c2d42 100644
--- a/java/idea-ui/src/com/intellij/openapi/vcs/checkout/NewProjectCheckoutListener.java
+++ b/java/idea-ui/src/com/intellij/openapi/vcs/checkout/NewProjectCheckoutListener.java
@@ -49,6 +49,7 @@ public class NewProjectCheckoutListener implements VcsAwareCheckoutListener {
final Set<VirtualFile> files = projectsLocationSet(projects);
VirtualFile file = LocalFileSystem.getInstance().findFileByIoFile(directory);
AddModuleWizard wizard = ImportModuleAction.createImportWizard(null, null, file, ProjectImportProvider.PROJECT_IMPORT_PROVIDER.getExtensions());
+ if (wizard == null) return false;
if (wizard.showAndGet()) {
ImportModuleAction.createFromWizard(null, wizard);
}
@@ -66,7 +67,7 @@ public class NewProjectCheckoutListener implements VcsAwareCheckoutListener {
return false;
}
- private Set<VirtualFile> projectsLocationSet(Project[] projects) {
+ private static Set<VirtualFile> projectsLocationSet(Project[] projects) {
final Set<VirtualFile> files = new HashSet<VirtualFile>();
for (Project project1 : projects) {
if (project1.getBaseDir() != null) {
diff --git a/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java b/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java
index 6d5aa8c1f980..d5e839bb542a 100644
--- a/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java
+++ b/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java
@@ -172,7 +172,7 @@ public class TemplateModuleBuilder extends ModuleBuilder {
}
private void fixModuleName(Module module) {
- RunConfiguration[] configurations = RunManager.getInstance(module.getProject()).getAllConfigurations();
+ List<RunConfiguration> configurations = RunManager.getInstance(module.getProject()).getAllConfigurationsList();
for (RunConfiguration configuration : configurations) {
if (configuration instanceof ModuleBasedConfiguration) {
((ModuleBasedConfiguration)configuration).getConfigurationModule().setModule(module);
diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightMethodUtil.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightMethodUtil.java
index 96319603fc1e..0aa08d0b4728 100644
--- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightMethodUtil.java
+++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightMethodUtil.java
@@ -71,8 +71,9 @@ public class HighlightMethodUtil {
}
static HighlightInfo checkMethodWeakerPrivileges(@NotNull MethodSignatureBackedByPsiMethod methodSignature,
- @NotNull List<HierarchicalMethodSignature> superMethodSignatures,
- boolean includeRealPositionInfo) {
+ @NotNull List<HierarchicalMethodSignature> superMethodSignatures,
+ boolean includeRealPositionInfo,
+ @NotNull PsiFile containingFile) {
PsiMethod method = methodSignature.getMethod();
PsiModifierList modifierList = method.getModifierList();
if (modifierList.hasModifierProperty(PsiModifier.PUBLIC)) return null;
@@ -80,7 +81,7 @@ public class HighlightMethodUtil {
String accessModifier = PsiUtil.getAccessModifier(accessLevel);
for (MethodSignatureBackedByPsiMethod superMethodSignature : superMethodSignatures) {
PsiMethod superMethod = superMethodSignature.getMethod();
- if (!PsiUtil.isAccessible(superMethod, method, null)) continue;
+ if (!PsiUtil.isAccessible(containingFile.getProject(), superMethod, method, null)) continue;
HighlightInfo info = isWeaker(method, modifierList, accessModifier, accessLevel, superMethod, includeRealPositionInfo);
if (info != null) return info;
}
@@ -1102,7 +1103,7 @@ public class HighlightMethodUtil {
return null;
}
- static HighlightInfo checkOverrideEquivalentInheritedMethods(PsiClass aClass) {
+ static HighlightInfo checkOverrideEquivalentInheritedMethods(PsiClass aClass, PsiFile containingFile) {
String description = null;
final Collection<HierarchicalMethodSignature> visibleSignatures = aClass.getVisibleSignatures();
PsiResolveHelper resolveHelper = JavaPsiFacade.getInstance(aClass.getProject()).getResolveHelper();
@@ -1119,16 +1120,12 @@ public class HighlightMethodUtil {
if (aClass.isInterface() && !containingClass.isInterface()) continue;
HighlightInfo highlightInfo = null;
if (allAbstracts) {
- if (!containingClass.equals(aClass)) {
- superSignatures = new ArrayList<HierarchicalMethodSignature>(superSignatures);
- superSignatures.add(signature);
- }
+ superSignatures = new ArrayList<HierarchicalMethodSignature>(superSignatures);
+ superSignatures.add(signature);
highlightInfo = checkInterfaceInheritedMethodsReturnTypes(superSignatures);
}
else {
- if (!aClass.equals(containingClass)) {
- highlightInfo = checkMethodIncompatibleReturnType(signature, superSignatures, false);
- }
+ highlightInfo = checkMethodIncompatibleReturnType(signature, superSignatures, false);
}
if (highlightInfo != null) description = highlightInfo.getDescription();
@@ -1153,7 +1150,7 @@ public class HighlightMethodUtil {
}
if (description == null) {
- highlightInfo = checkMethodWeakerPrivileges(signature, superSignatures, false);
+ highlightInfo = checkMethodWeakerPrivileges(signature, superSignatures, false, containingFile);
if (highlightInfo != null) description = highlightInfo.getDescription();
}
diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java
index 3181bed81402..7916c58e103b 100644
--- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java
+++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java
@@ -1271,25 +1271,26 @@ public class HighlightUtil extends HighlightUtilBase {
@Nullable
public static HighlightInfo checkSwitchSelectorType(@NotNull PsiSwitchStatement statement) {
final PsiExpression expression = statement.getExpression();
- HighlightInfo errorResult = null;
PsiType type = expression == null ? null : expression.getType();
- if (type != null) {
- if (!isValidTypeForSwitchSelector(type, PsiUtil.isLanguageLevel7OrHigher(expression))) {
- String message =
- JavaErrorMessages.message("incompatible.types", JavaErrorMessages.message("valid.switch.selector.types"), JavaHighlightUtil
- .formatType(type));
- errorResult = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(expression).descriptionAndTooltip(message).create();
- QuickFixAction.registerQuickFixAction(errorResult, new ConvertSwitchToIfIntention(statement));
- if (PsiType.LONG.equals(type) || PsiType.FLOAT.equals(type) || PsiType.DOUBLE.equals(type)) {
- QuickFixAction.registerQuickFixAction(errorResult, new AddTypeCastFix(PsiType.INT, expression));
- }
+ if (type == null) {
+ return null;
+ }
+ HighlightInfo errorResult = null;
+ if (!isValidTypeForSwitchSelector(type, PsiUtil.isLanguageLevel7OrHigher(expression))) {
+ String message =
+ JavaErrorMessages.message("incompatible.types", JavaErrorMessages.message("valid.switch.selector.types"), JavaHighlightUtil.formatType(
+ type));
+ errorResult = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(expression).descriptionAndTooltip(message).create();
+ QuickFixAction.registerQuickFixAction(errorResult, new ConvertSwitchToIfIntention(statement));
+ if (PsiType.LONG.equals(type) || PsiType.FLOAT.equals(type) || PsiType.DOUBLE.equals(type)) {
+ QuickFixAction.registerQuickFixAction(errorResult, new AddTypeCastFix(PsiType.INT, expression));
}
- else {
- final PsiClass member = PsiUtil.resolveClassInClassTypeOnly(type);
- if (member != null && !PsiUtil.isAccessible(member, expression, null)) {
- String message = PsiFormatUtil.formatClass(member, PsiFormatUtilBase.SHOW_NAME | PsiFormatUtilBase.SHOW_FQ_NAME) + " is inaccessible here";
- errorResult = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(expression).descriptionAndTooltip(message).create();
- }
+ }
+ else {
+ final PsiClass member = PsiUtil.resolveClassInClassTypeOnly(type);
+ if (member != null && !PsiUtil.isAccessible(member.getProject(), member, expression, null)) {
+ String message = PsiFormatUtil.formatClass(member, PsiFormatUtilBase.SHOW_NAME | PsiFormatUtilBase.SHOW_FQ_NAME) + " is inaccessible here";
+ errorResult = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(expression).descriptionAndTooltip(message).create();
}
}
return errorResult;
diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java
index 4b8075da2503..290633fc853a 100644
--- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java
+++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightVisitorImpl.java
@@ -326,7 +326,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
}
if (!myHolder.hasErrorResults()) {
final PsiClass samClass = resolveResult.getElement();
- if (!PsiUtil.isAccessible(samClass, expression, null)) {
+ if (!PsiUtil.isAccessible(myFile.getProject(), samClass, expression, null)) {
myHolder.add(HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(expression)
.descriptionAndTooltip(HighlightUtil.buildProblemWithAccessDescription(expression, resolveResult)).create());
}
@@ -815,7 +815,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
if (!myHolder.hasErrorResults()) myHolder.add(HighlightMethodUtil.checkMethodIncompatibleReturnType(methodSignature, superMethodSignatures, true));
if (!myHolder.hasErrorResults()) myHolder.add(HighlightMethodUtil.checkMethodIncompatibleThrows(methodSignature, superMethodSignatures, true, method.getContainingClass()));
if (!method.hasModifierProperty(PsiModifier.STATIC)) {
- if (!myHolder.hasErrorResults()) myHolder.add(HighlightMethodUtil.checkMethodWeakerPrivileges(methodSignature, superMethodSignatures, true));
+ if (!myHolder.hasErrorResults()) myHolder.add(HighlightMethodUtil.checkMethodWeakerPrivileges(methodSignature, superMethodSignatures, true, myFile));
if (!myHolder.hasErrorResults()) myHolder.add(HighlightMethodUtil.checkMethodOverridesFinal(methodSignature, superMethodSignatures));
}
}
@@ -840,7 +840,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
if (!myHolder.hasErrorResults()) {
myHolder.add(HighlightClassUtil.checkClassDoesNotCallSuperConstructorOrHandleExceptions(aClass, myRefCountHolder, myResolveHelper));
}
- if (!myHolder.hasErrorResults()) myHolder.add(HighlightMethodUtil.checkOverrideEquivalentInheritedMethods(aClass));
+ if (!myHolder.hasErrorResults()) myHolder.add(HighlightMethodUtil.checkOverrideEquivalentInheritedMethods(aClass, myFile));
if (!myHolder.hasErrorResults()) myHolder.add(GenericsHighlightUtil.checkOverrideEquivalentMethods(aClass));
if (!myHolder.hasErrorResults()) myHolder.add(HighlightClassUtil.checkCyclicInheritance(aClass));
}
@@ -1186,7 +1186,7 @@ public class HighlightVisitorImpl extends JavaElementVisitor implements Highligh
if (!myHolder.hasErrorResults()) {
final PsiClassType.ClassResolveResult resolveResult = PsiUtil.resolveGenericsClassInType(functionalInterfaceType);
final PsiClass psiClass = resolveResult.getElement();
- if (psiClass != null && !PsiUtil.isAccessible(psiClass, expression, null)) {
+ if (psiClass != null && !PsiUtil.isAccessible(myFile.getProject(), psiClass, expression, null)) {
myHolder.add(HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(expression)
.descriptionAndTooltip(HighlightUtil.buildProblemWithAccessDescription(expression, resolveResult)).create());
}
diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFromUsageUtils.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFromUsageUtils.java
index 491a5f6afe13..401833a35d85 100644
--- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFromUsageUtils.java
+++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateFromUsageUtils.java
@@ -42,6 +42,7 @@ import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.DialogWrapper;
import com.intellij.openapi.ui.Messages;
+import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.Computable;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.TextRange;
@@ -858,7 +859,7 @@ public class CreateFromUsageUtils {
String name1 = PsiUtil.getMemberQualifiedName(m1);
String name2 = PsiUtil.getMemberQualifiedName(m2);
- return name1 == null || name2 == null ? 0 : name1.compareTo(name2);
+ return Comparing.compare(name1, name2);
}
public static boolean isAccessedForWriting(final PsiExpression[] expressionOccurences) {
diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java
index 9461af0067ef..19a4639a0689 100644
--- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java
+++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java
@@ -199,10 +199,10 @@ public class StaticImportMethodFix implements IntentionAction {
if (file instanceof PsiJavaFile
//do not show methods from default package
&& !((PsiJavaFile)file).getPackageName().isEmpty()
- && PsiUtil.isAccessible(method, element, containingClass)) {
+ && PsiUtil.isAccessible(file.getProject(), method, element, containingClass)) {
if (method.isDeprecated()) {
deprecated.put(containingClass, method);
- return processCondition();
+ return processCondition();
}
registrar.registerMethod(containingClass, method);
}
diff --git a/java/java-impl/src/com/intellij/codeInsight/highlighting/HighlightSuppressedWarningsHandler.java b/java/java-impl/src/com/intellij/codeInsight/highlighting/HighlightSuppressedWarningsHandler.java
index 2707501ad13d..cdc0c403cc74 100644
--- a/java/java-impl/src/com/intellij/codeInsight/highlighting/HighlightSuppressedWarningsHandler.java
+++ b/java/java-impl/src/com/intellij/codeInsight/highlighting/HighlightSuppressedWarningsHandler.java
@@ -31,7 +31,6 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.progress.ProgressManager;
-import com.intellij.openapi.progress.impl.ProgressManagerImpl;
import com.intellij.openapi.progress.util.ProgressIndicatorBase;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.popup.JBPopupFactory;
diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddSingleMemberStaticImportAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddSingleMemberStaticImportAction.java
index cd512694c8bc..3dbbcd666dda 100644
--- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddSingleMemberStaticImportAction.java
+++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/AddSingleMemberStaticImportAction.java
@@ -109,7 +109,7 @@ public class AddSingleMemberStaticImportAction extends PsiElementBaseIntentionAc
@Nullable
private static PsiClass getResolvedClass(PsiElement element, PsiMember resolved) {
PsiClass aClass = resolved.getContainingClass();
- if (aClass != null && !PsiUtil.isAccessible(aClass, element, null)) {
+ if (aClass != null && !PsiUtil.isAccessible(aClass.getProject(), aClass, element, null)) {
final PsiElement qualifier = ((PsiJavaCodeReferenceElement)element.getParent()).getQualifier();
if (qualifier instanceof PsiReferenceExpression) {
final PsiElement qResolved = ((PsiReferenceExpression)qualifier).resolve();
diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateSubclassAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateSubclassAction.java
index 542a202dcae2..99494c07c54c 100644
--- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateSubclassAction.java
+++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateSubclassAction.java
@@ -245,13 +245,13 @@ public class CreateSubclassAction extends BaseIntentionAction {
}
if (psiClass.hasTypeParameters() || includeClassName) {
final Editor editor = CodeInsightUtil.positionCursor(project, targetClass.getContainingFile(), targetClass.getLBrace());
- final TemplateBuilderImpl templateBuilder = editor != null
+ final TemplateBuilderImpl templateBuilder = editor != null
? (TemplateBuilderImpl)TemplateBuilderFactory.getInstance().createTemplateBuilder(targetClass) : null;
-
+
if (includeClassName && templateBuilder != null) {
templateBuilder.replaceElement(targetClass.getNameIdentifier(), targetClass.getName());
}
-
+
if (oldTypeParameterList != null) {
for (PsiTypeParameter parameter : oldTypeParameterList.getTypeParameters()) {
final PsiElement param = ref.getParameterList().add(elementFactory.createTypeElement(elementFactory.createType(parameter)));
@@ -318,7 +318,7 @@ public class CreateSubclassAction extends BaseIntentionAction {
final PsiSubstitutor substitutor = TypeConversionUtil.getSuperClassSubstitutor(psiClass, targetClass, PsiSubstitutor.EMPTY);
final List<PsiMethodMember> baseConstructors = new ArrayList<PsiMethodMember>();
for (PsiMethod baseConstr : constructors) {
- if (PsiUtil.isAccessible(baseConstr, targetClass, targetClass)) {
+ if (PsiUtil.isAccessible(project, baseConstr, targetClass, targetClass)) {
baseConstructors.add(new PsiMethodMember(baseConstr, substitutor));
}
}
diff --git a/java/java-impl/src/com/intellij/ide/structureView/impl/AddAllMembersProcessor.java b/java/java-impl/src/com/intellij/ide/structureView/impl/AddAllMembersProcessor.java
index 68a66cf25407..952c929e2e0d 100644
--- a/java/java-impl/src/com/intellij/ide/structureView/impl/AddAllMembersProcessor.java
+++ b/java/java-impl/src/com/intellij/ide/structureView/impl/AddAllMembersProcessor.java
@@ -104,7 +104,7 @@ public class AddAllMembersProcessor extends BaseScopeProcessor {
return method.hasModifierProperty(PsiModifier.STATIC);
}
- private boolean isVisible(PsiMember element, PsiClass psiClass) {
+ private boolean isVisible(@NotNull PsiMember element, PsiClass psiClass) {
return !isInheritedConstructor(element, psiClass) && PsiUtil.isAccessible(element, psiClass, null);
}
diff --git a/java/java-impl/src/com/intellij/psi/filters/classes/AnyInnerFilter.java b/java/java-impl/src/com/intellij/psi/filters/classes/AnyInnerFilter.java
index 9d6b6f3bd9e8..73a4fb63e34f 100644
--- a/java/java-impl/src/com/intellij/psi/filters/classes/AnyInnerFilter.java
+++ b/java/java-impl/src/com/intellij/psi/filters/classes/AnyInnerFilter.java
@@ -15,6 +15,7 @@
*/
package com.intellij.psi.filters.classes;
+import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiModifier;
@@ -41,10 +42,11 @@ public class AnyInnerFilter implements ElementFilter{
@Override
public boolean isAcceptable(Object classElement, PsiElement place){
if(classElement instanceof PsiClass){
+ Project project = ((PsiClass)classElement).getProject();
final PsiClass[] inners = ((PsiClass)classElement).getInnerClasses();
for (final PsiClass inner : inners) {
if (inner.hasModifierProperty(PsiModifier.STATIC)
- && PsiUtil.isAccessible(inner, place, null)
+ && PsiUtil.isAccessible(project, inner, place, null)
&& myFilter.isAcceptable(inner, place)) {
return true;
}
diff --git a/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java b/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java
index a82994d44cf4..729380654dfb 100644
--- a/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java
+++ b/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java
@@ -355,7 +355,7 @@ public class InlineMethodProcessor extends BaseRefactoringProcessor {
result.put(memberContainer, inaccessibleReferenced);
for (PsiMember member : referencedElements) {
if (PsiTreeUtil.isAncestor(elementToInline, member, false)) continue;
- if (!PsiUtil.isAccessible(member, usageElement, null)) {
+ if (!PsiUtil.isAccessible(usage.getProject(), member, usageElement, null)) {
inaccessibleReferenced.add(member);
}
}
diff --git a/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java b/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java
index 66cb12fad3ed..020881b61a9a 100644
--- a/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java
+++ b/java/java-psi-api/src/com/intellij/psi/util/PsiUtil.java
@@ -92,7 +92,11 @@ public final class PsiUtil extends PsiUtilCore {
}
public static boolean isAccessible(@NotNull PsiMember member, @NotNull PsiElement place, @Nullable PsiClass accessObjectClass) {
- return JavaPsiFacade.getInstance(place.getProject()).getResolveHelper().isAccessible(member, place, accessObjectClass);
+ return isAccessible(place.getProject(), member, place, accessObjectClass);
+ }
+ public static boolean isAccessible(@NotNull Project project, @NotNull PsiMember member,
+ @NotNull PsiElement place, @Nullable PsiClass accessObjectClass) {
+ return JavaPsiFacade.getInstance(project).getResolveHelper().isAccessible(member, place, accessObjectClass);
}
@NotNull
diff --git a/java/java-psi-api/src/com/intellij/util/VisibilityUtil.java b/java/java-psi-api/src/com/intellij/util/VisibilityUtil.java
index 7ee8b1d296e7..e1f30930c75b 100644
--- a/java/java-psi-api/src/com/intellij/util/VisibilityUtil.java
+++ b/java/java-psi-api/src/com/intellij/util/VisibilityUtil.java
@@ -24,6 +24,7 @@
*/
package com.intellij.util;
+import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PsiTreeUtil;
@@ -69,8 +70,9 @@ public class VisibilityUtil {
@PsiModifier.ModifierConstant
public static String getPossibleVisibility(final PsiMember psiMethod, final PsiElement place) {
- if (PsiUtil.isAccessible(psiMethod, place, null)) return getVisibilityModifier(psiMethod.getModifierList());
- if (JavaPsiFacade.getInstance(psiMethod.getProject()).arePackagesTheSame(psiMethod, place)) {
+ Project project = psiMethod.getProject();
+ if (PsiUtil.isAccessible(project, psiMethod, place, null)) return getVisibilityModifier(psiMethod.getModifierList());
+ if (JavaPsiFacade.getInstance(project).arePackagesTheSame(psiMethod, place)) {
return PsiModifier.PACKAGE_LOCAL;
}
if (InheritanceUtil.isInheritorOrSelf(PsiTreeUtil.getParentOfType(place, PsiClass.class),
diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/PsiSuperMethodImplUtil.java b/java/java-psi-impl/src/com/intellij/psi/impl/PsiSuperMethodImplUtil.java
index f32b42ddce31..c41e94049a96 100644
--- a/java/java-psi-impl/src/com/intellij/psi/impl/PsiSuperMethodImplUtil.java
+++ b/java/java-psi-impl/src/com/intellij/psi/impl/PsiSuperMethodImplUtil.java
@@ -196,7 +196,7 @@ public class PsiSuperMethodImplUtil {
for (Map.Entry<MethodSignature, HierarchicalMethodSignatureImpl> entry : map.entrySet()) {
HierarchicalMethodSignatureImpl hierarchicalMethodSignature = entry.getValue();
MethodSignature methodSignature = entry.getKey();
- if (result.get(methodSignature) == null && PsiUtil.isAccessible(hierarchicalMethodSignature.getMethod(), aClass, aClass)) {
+ if (result.get(methodSignature) == null && PsiUtil.isAccessible(aClass.getProject(), hierarchicalMethodSignature.getMethod(), aClass, aClass)) {
LOG.assertTrue(hierarchicalMethodSignature.getMethod().isValid());
result.put(methodSignature, hierarchicalMethodSignature);
}
@@ -205,10 +205,12 @@ public class PsiSuperMethodImplUtil {
return result;
}
- private static void putInMap(PsiClass aClass, Map<MethodSignature, HierarchicalMethodSignature> result,
- Map<MethodSignature, HierarchicalMethodSignatureImpl> map, HierarchicalMethodSignature hierarchicalMethodSignature,
- MethodSignature signature) {
- if (!PsiUtil.isAccessible(hierarchicalMethodSignature.getMethod(), aClass, aClass)) return;
+ private static void putInMap(PsiClass aClass,
+ Map<MethodSignature, HierarchicalMethodSignature> result,
+ Map<MethodSignature, HierarchicalMethodSignatureImpl> map,
+ HierarchicalMethodSignature hierarchicalMethodSignature,
+ MethodSignature signature) {
+ if (!PsiUtil.isAccessible(aClass.getProject(), hierarchicalMethodSignature.getMethod(), aClass, aClass)) return;
HierarchicalMethodSignatureImpl existing = map.get(signature);
if (existing == null) {
HierarchicalMethodSignatureImpl copy = copy(hierarchicalMethodSignature);
@@ -266,7 +268,7 @@ public class PsiSuperMethodImplUtil {
PsiClass containingClass = hierarchicalMethodSignature.getMethod().getContainingClass();
if (!superMethod.isConstructor()) {
if (!aClass.equals(superClass)) {
- if (PsiUtil.isAccessible(superMethod, aClass, aClass)) {
+ if (PsiUtil.isAccessible(aClass.getProject(), superMethod, aClass, aClass)) {
if (MethodSignatureUtil.isSubsignature(superSignatureHierarchical, hierarchicalMethodSignature)) {
if (superClass != null) {
if (superClass.isInterface() ||
diff --git a/java/java-tests/testSrc/com/intellij/navigation/ChooseByNameTest.groovy b/java/java-tests/testSrc/com/intellij/navigation/ChooseByNameTest.groovy
index 613a53875aba..b72206fe91ab 100644
--- a/java/java-tests/testSrc/com/intellij/navigation/ChooseByNameTest.groovy
+++ b/java/java-tests/testSrc/com/intellij/navigation/ChooseByNameTest.groovy
@@ -134,6 +134,21 @@ class Intf {
}
+ public void "test goto file can go to dir"() {
+ def fooIndex = myFixture.addFileToProject("foo/index.html", "foo")
+ def barIndex = myFixture.addFileToProject("bar.txt/bar.txt", "foo")
+
+ def popup = createPopup(new GotoFileModel(project), fooIndex)
+ assert getPopupElements(popup, "foo/") == [fooIndex.containingDirectory]
+ assert getPopupElements(popup, "foo\\") == [fooIndex.containingDirectory]
+ assert getPopupElements(popup, "foo") == [fooIndex.containingDirectory]
+
+ assert getPopupElements(popup, "bar.txt/") == [barIndex.containingDirectory]
+ assert getPopupElements(popup, "bar.txt\\") == [barIndex.containingDirectory]
+ assert getPopupElements(popup, "bar.txt") == [barIndex]
+ popup.close(false)
+ }
+
public void "test find method by qualified name"() {
def method = myFixture.addClass("package foo.bar; class Goo { void zzzZzz() {} }").methods[0]
assert getPopupElements(new GotoSymbolModel2(project), 'zzzZzz') == [method]
diff --git a/java/jdkAnnotations/java/lang/annotations.xml b/java/jdkAnnotations/java/lang/annotations.xml
index bb5f521bda90..d5cc0c464859 100644
--- a/java/jdkAnnotations/java/lang/annotations.xml
+++ b/java/jdkAnnotations/java/lang/annotations.xml
@@ -3,6 +3,9 @@
<item name="java.lang.CharSequence java.lang.String toString()">
<annotation name="org.jetbrains.annotations.NotNull" />
</item>
+ <item name='java.lang.Class boolean isAssignableFrom(java.lang.Class&lt;?&gt;) 0'>
+ <annotation name='org.jetbrains.annotations.NotNull'/>
+ </item>
<item name="java.lang.Class int getModifiers()">
<annotation name="org.intellij.lang.annotations.MagicConstant">
<val name="flagsFromClass" val="java.lang.reflect.Modifier.class" />
@@ -23,10 +26,10 @@
<item name="java.lang.Class java.lang.reflect.Method getDeclaredMethod(java.lang.String, java.lang.Class&lt;?&gt;...) 0">
<annotation name="org.jetbrains.annotations.NonNls" />
</item>
- <item name="java.lang.Class java.lang.reflect.Method getMethod(java.lang.String, java.lang.Class...) 0">
+ <item name="java.lang.Class java.lang.reflect.Method getMethod(java.lang.String, java.lang.Class&lt;?&gt;...) 0">
<annotation name="org.jetbrains.annotations.NonNls" />
</item>
- <item name="java.lang.Class java.lang.reflect.Method getMethod(java.lang.String, java.lang.Class&lt;?&gt;...) 0">
+ <item name="java.lang.Class java.lang.reflect.Method getMethod(java.lang.String, java.lang.Class...) 0">
<annotation name="org.jetbrains.annotations.NonNls" />
</item>
<item name="java.lang.ClassLoader InputStream getResourceAsStream(java.lang.String) 0">