From b90c77e0ee680bb5ced2e4ba423c717288f096de Mon Sep 17 00:00:00 2001 From: chylex <info@chylex.com> Date: Wed, 16 Dec 2015 22:00:56 +0100 Subject: [PATCH] Fix 1.8.8 --- .../javacheck/report/JavaCheckerReporter.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/chylex/javacheck/report/JavaCheckerReporter.java b/src/main/java/chylex/javacheck/report/JavaCheckerReporter.java index bdad478..a0fc720 100644 --- a/src/main/java/chylex/javacheck/report/JavaCheckerReporter.java +++ b/src/main/java/chylex/javacheck/report/JavaCheckerReporter.java @@ -45,8 +45,11 @@ public final class JavaCheckerReporter{ else{ try{ Class cmm = findCoreModManager(); - List coremods = (List)cmm.getMethod("getLoadedCoremods").invoke(null); - List reparsed = (List)cmm.getMethod("getReparseableCoremods").invoke(null); + + List coremods = getListOrNullSafe(cmm,"getLoadedCoremods"); + if (coremods == null)coremods = getListOrNullSafe(cmm,"getIgnoredMods"); + + List reparsed = getListOrNullSafe(cmm,"getReparseableCoremods"); String myFile = new File(JavaCheckerReporter.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()).getName(); coremods.remove(myFile); @@ -98,4 +101,15 @@ public final class JavaCheckerReporter{ return null; } + + private static List getListOrNullSafe(Class cls, String methodName){ + try{ + return (List)cls.getMethod(methodName).invoke(null); + }catch(NoSuchMethodError e){ + }catch(Throwable t){ + t.printStackTrace(); + } + + return null; + } }