From 8b7a2eebadddde587d8490e044f4eee21e0c1ea9 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Mon, 20 Oct 2014 20:36:16 +0400 Subject: [PATCH] debugger compiling evaluator: warn if java version is less than target --- .../intellij/debugger/ui/impl/watch/CompilingEvaluator.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/CompilingEvaluator.java b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/CompilingEvaluator.java index 1f132f134c7b..90df15380b3f 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/CompilingEvaluator.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/CompilingEvaluator.java @@ -34,6 +34,7 @@ import com.intellij.openapi.projectRoots.JavaSdkVersion; import com.intellij.openapi.projectRoots.JdkVersionUtil; import com.intellij.openapi.roots.ModuleRootManager; import com.intellij.openapi.util.Computable; +import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.PsiElement; @@ -259,6 +260,9 @@ public class CompilingEvaluator implements ExpressionEvaluator { @NotNull private Collection compile(String target) throws EvaluateException { + if (!SystemInfo.isJavaVersionAtLeast(target)) { + throw new EvaluateException("Unable to compile for target level " + target + ". Need to run IDEA on java version at least " + target + ", currently running on " + SystemInfo.JAVA_RUNTIME_VERSION); + } JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); MemoryFileManager manager = new MemoryFileManager(compiler); DiagnosticCollector diagnostic = new DiagnosticCollector();