From 729d77614f880223850bb7982629f0b7467484d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?= Date: Sun, 31 Dec 2017 00:48:23 -0300 Subject: [PATCH 1/2] Handle more kinds of errors - Handle equally incomplete classpath, having a classpath which requires a different JRE version than the one used to run PMD and others. - Fixes #814 --- .../pmd/lang/java/typeresolution/ClassTypeResolver.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/ClassTypeResolver.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/ClassTypeResolver.java index 7c357aaaf8..963940043b 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/ClassTypeResolver.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/typeresolution/ClassTypeResolver.java @@ -572,7 +572,10 @@ public class ClassTypeResolver extends JavaParserVisitorAdapter { } } catch (final NoSuchFieldException ignored) { // swallow - } catch (final NoClassDefFoundError e) { + } catch (final LinkageError e) { + if (LOG.isLoggable(Level.WARNING)) { + LOG.log(Level.WARNING, "Error during type resolution due to: " + e); + } // TODO : report a missing class once we start doing that... return null; } From ec7f64fe55f10b734df1a5ea3543c23226db96ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Mart=C3=ADn=20Sotuyo=20Dodero?= Date: Sun, 31 Dec 2017 00:49:59 -0300 Subject: [PATCH 2/2] Update changelog, refs #814 --- docs/pages/release_notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md index 728f13361b..f3ce43c556 100644 --- a/docs/pages/release_notes.md +++ b/docs/pages/release_notes.md @@ -30,6 +30,7 @@ This is a bug fixing release. * java * [#783](https://github.com/pmd/pmd/issues/783): \[java] GuardLogStatement regression * [#793](https://github.com/pmd/pmd/issues/793): \[java] Parser error with private method in nested classes in interfaces + * [#814](https://github.com/pmd/pmd/issues/814): \[java] UnsupportedClassVersionError is failure instead of a warning * java-design * [#785](https://github.com/pmd/pmd/issues/785): \[java] NPE in DataClass rule