IDEA-172425 Enable back TraceStreamAction with JDK 9
authorVitaliy.Bibaev <vitaliy.bibaev@jetbrains.com>
Fri, 2 Mar 2018 15:37:49 +0000 (18:37 +0300)
committerVitaliy.Bibaev <vitaliy.bibaev@jetbrains.com>
Fri, 2 Mar 2018 15:37:49 +0000 (18:37 +0300)
plugins/stream-debugger/src/com/intellij/debugger/streams/action/TraceStreamAction.java

index ded87225648ec52a0ad1e090c9ec316640af8dbe..2ccd318f1b38e88090e85cd4464e7803ce98590c 100644 (file)
@@ -16,7 +16,6 @@ import com.intellij.debugger.streams.ui.impl.EvaluationAwareTraceWindow;
 import com.intellij.debugger.streams.wrapper.StreamChain;
 import com.intellij.debugger.streams.wrapper.StreamChainBuilder;
 import com.intellij.internal.statistic.UsageTrigger;
-import com.intellij.lang.java.JavaLanguage;
 import com.intellij.openapi.actionSystem.AnAction;
 import com.intellij.openapi.actionSystem.AnActionEvent;
 import com.intellij.openapi.actionSystem.Presentation;
@@ -25,17 +24,11 @@ import com.intellij.openapi.diagnostic.Logger;
 import com.intellij.openapi.editor.Editor;
 import com.intellij.openapi.extensions.Extensions;
 import com.intellij.openapi.project.Project;
-import com.intellij.openapi.projectRoots.JavaSdk;
-import com.intellij.openapi.projectRoots.JavaSdkVersion;
-import com.intellij.openapi.projectRoots.Sdk;
-import com.intellij.openapi.roots.ProjectRootManager;
-import com.intellij.openapi.ui.MessageType;
 import com.intellij.openapi.util.TextRange;
 import com.intellij.psi.PsiElement;
 import com.intellij.psi.util.PsiEditorUtil;
 import com.intellij.xdebugger.XDebugSession;
 import com.intellij.xdebugger.XDebuggerManager;
-import com.intellij.xdebugger.impl.XDebuggerManagerImpl;
 import one.util.streamex.StreamEx;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -91,13 +84,6 @@ public class TraceStreamAction extends AnAction {
     Extensions.getExtensions(LibrarySupportProvider.EP_NAME);
     final PsiElement element = session == null ? null : myPositionResolver.getNearestElementToBreakpoint(session);
 
-    if (element != null && isJdkAtLeast9(session.getProject(), element)) {
-      XDebuggerManagerImpl.NOTIFICATION_GROUP
-        .createNotification("This action does not work with JDK 9 yet", MessageType.WARNING)
-        .notify(session.getProject());
-      return;
-    }
-
     if (element != null) {
       final List<StreamChainWithLibrary> chains = mySupportedLibraries.stream()
         .filter(library -> library.languageId.equals(element.getLanguage().getID()))
@@ -177,18 +163,6 @@ public class TraceStreamAction extends AnAction {
     return project == null ? null : XDebuggerManager.getInstance(project).getCurrentSession();
   }
 
-  private static boolean isJdkAtLeast9(@NotNull Project project, @NotNull PsiElement element) {
-    if (element.getLanguage().is(JavaLanguage.INSTANCE)) {
-      final Sdk sdk = ProjectRootManager.getInstance(project).getProjectSdk();
-      if (sdk != null) {
-        final JavaSdkVersion javaVersion = JavaSdk.getInstance().getVersion(sdk);
-        if (javaVersion != null) return javaVersion.isAtLeast(JavaSdkVersion.JDK_1_9);
-      }
-    }
-
-    return false;
-  }
-
   private static class MyStreamChainChooser extends ElementChooserImpl<StreamChainOption> {
     MyStreamChainChooser(@NotNull Editor editor) {
       super(editor);