From 34df9cca2c920119a3fb0e08e1be8975e2becf9e Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 31 Aug 2019 16:54:29 -0400 Subject: [PATCH] Fixed Java 8+ compatibility --- .../anuke/annotations/CodeAnalyzerTreeScanner.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/annotations/src/main/java/io/anuke/annotations/CodeAnalyzerTreeScanner.java b/annotations/src/main/java/io/anuke/annotations/CodeAnalyzerTreeScanner.java index c2d543e3be..8655efe155 100644 --- a/annotations/src/main/java/io/anuke/annotations/CodeAnalyzerTreeScanner.java +++ b/annotations/src/main/java/io/anuke/annotations/CodeAnalyzerTreeScanner.java @@ -54,8 +54,20 @@ class CodeAnalyzerTreeScanner extends TreePathScanner { return false; } + @SuppressWarnings("unchecked") public boolean checkScope (Scope members) { - for (Symbol s : members.getElements()) { + Iterable it; + try{ + it = (Iterable)members.getClass().getMethod("getElements").invoke(members); + }catch(Throwable t){ + try{ + it = (Iterable)members.getClass().getMethod("getSymbols").invoke(members); + }catch(Exception e){ + throw new RuntimeException(e); + } + } + + for (Symbol s : it) { if (s instanceof MethodSymbol) { MethodSymbol ms = (MethodSymbol) s;