Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJayaprakash Arthanareeswaran2018-11-11 12:01:07 +0000
committerJayaprakash Arthanareeswaran2018-11-11 12:01:07 +0000
commite3b679968a49a9bb4b0c122ae739c6d7c8fb295c (patch)
treeb27d3f6c80cac7c5a3f131965bd10cb977072579 /org.eclipse.jdt.compiler.tool
parent6df57f8151cac394edc37cf05418cb56c411449d (diff)
parentd7dab33b1df21a757b4a698338d9f4cf4e29b52c (diff)
downloadeclipse.jdt.core-e3b679968a49a9bb4b0c122ae739c6d7c8fb295c.tar.gz
eclipse.jdt.core-e3b679968a49a9bb4b0c122ae739c6d7c8fb295c.tar.xz
eclipse.jdt.core-e3b679968a49a9bb4b0c122ae739c6d7c8fb295c.zip
Merge remote-tracking branch 'origin/master' into BETA_JAVA_12
Diffstat (limited to 'org.eclipse.jdt.compiler.tool')
-rw-r--r--org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/EclipseCompiler.java3
-rw-r--r--org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/EclipseCompilerImpl.java3
-rw-r--r--org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/ExceptionDiagnostic.java73
3 files changed, 79 insertions, 0 deletions
diff --git a/org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/EclipseCompiler.java b/org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/EclipseCompiler.java
index bb96be7f31..a8033daa7f 100644
--- a/org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/EclipseCompiler.java
+++ b/org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/EclipseCompiler.java
@@ -10,6 +10,7 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Frits Jalvingh - fix for bug 533830.
*******************************************************************************/
package org.eclipse.jdt.internal.compiler.tool;
@@ -169,6 +170,8 @@ public class EclipseCompiler implements JavaCompiler {
try {
eclipseCompiler2.configure(optionsToProcess);
} catch (IllegalArgumentException e) {
+ if(null != someDiagnosticListener)
+ someDiagnosticListener.report(new ExceptionDiagnostic(e));
throw e;
}
diff --git a/org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/EclipseCompilerImpl.java b/org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/EclipseCompilerImpl.java
index 1d27e54358..d1f50cac62 100644
--- a/org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/EclipseCompilerImpl.java
+++ b/org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/EclipseCompilerImpl.java
@@ -13,6 +13,7 @@
* IBM Corporation - fix for 342936
* Kenneth Olson - Contribution for bug 188796 - [jsr199] Using JSR199 to extend ECJ
* Dennis Hendriks - Contribution for bug 188796 - [jsr199] Using JSR199 to extend ECJ
+ * Frits Jalvingh - fix for bug 533830.
*******************************************************************************/
package org.eclipse.jdt.internal.compiler.tool;
@@ -93,6 +94,7 @@ public class EclipseCompilerImpl extends Main {
performCompilation();
}
} catch(IllegalArgumentException e) {
+ diagnosticListener.report(new ExceptionDiagnostic(e));
this.logger.logException(e);
if (this.systemExitWhenFinished) {
cleanup();
@@ -100,6 +102,7 @@ public class EclipseCompilerImpl extends Main {
}
return false;
} catch (RuntimeException e) { // internal compiler failure
+ diagnosticListener.report(new ExceptionDiagnostic(e));
e.printStackTrace();
this.logger.logException(e);
return false;
diff --git a/org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/ExceptionDiagnostic.java b/org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/ExceptionDiagnostic.java
new file mode 100644
index 0000000000..8822b364fc
--- /dev/null
+++ b/org.eclipse.jdt.compiler.tool/src/org/eclipse/jdt/internal/compiler/tool/ExceptionDiagnostic.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2018 IBM Corporation and others.
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Frits Jalvingh - fix for bug 533830.
+ *******************************************************************************/
+package org.eclipse.jdt.internal.compiler.tool;
+
+import java.util.Locale;
+
+import javax.tools.Diagnostic;
+import javax.tools.JavaFileObject;
+import javax.tools.Diagnostic.Kind;
+
+final class ExceptionDiagnostic implements Diagnostic<JavaFileObject> {
+ private final Exception exception;
+
+ ExceptionDiagnostic(Exception e) {
+ this.exception = e;
+ }
+
+ @Override
+ public String getCode() {
+ return "exception";
+ }
+
+ @Override
+ public long getColumnNumber() {
+ return 0;
+ }
+
+ @Override
+ public long getEndPosition() {
+ return 0;
+ }
+
+ @Override
+ public Kind getKind() {
+ return Kind.ERROR;
+ }
+
+ @Override
+ public long getLineNumber() {
+ return 0;
+ }
+
+ @Override
+ public String getMessage(Locale arg0) {
+ return exception.toString();
+ }
+
+ @Override
+ public long getPosition() {
+ return 0;
+ }
+
+ @Override
+ public JavaFileObject getSource() {
+ return null;
+ }
+
+ @Override
+ public long getStartPosition() {
+ return 0;
+ }
+} \ No newline at end of file

Back to the top