From 7f7c168a3e5f046b4758f36c55227096be57aab4 Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Mon, 6 Jul 2020 23:56:43 +0800 Subject: [PATCH] Prevent audit spam. --- .../izzel/arclight/common/asm/InventoryImplementer.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/asm/InventoryImplementer.java b/arclight-common/src/main/java/io/izzel/arclight/common/asm/InventoryImplementer.java index 9ba3bbec..ea9e8bde 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/asm/InventoryImplementer.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/asm/InventoryImplementer.java @@ -47,8 +47,7 @@ public class InventoryImplementer implements Implementer { return false; } if (isInventoryClass(node, transformerLoader)) { - tryImplement(node); - return true; + return tryImplement(node); } else return false; } catch (Throwable t) { if (t instanceof LocalizedException) { @@ -95,7 +94,7 @@ public class InventoryImplementer implements Implementer { } } - private void tryImplement(ClassNode node) { + private boolean tryImplement(ClassNode node) { Set methods = new HashSet<>(); for (MethodNode method : node.methods) { methods.add(method.name + method.desc); @@ -103,12 +102,13 @@ public class InventoryImplementer implements Implementer { if (methods.contains("getViewers()Ljava/util/List;")) { ArclightImplementer.LOGGER.debug(MARKER, "Found implemented class {}", node.name); node.interfaces.add(BRIDGE_TYPE); + return false; } else { List list = findPossibleList(node); if (list.size() != 1) { if (list.size() > 1) { ArclightImplementer.LOGGER.warn(MARKER, "Found multiple possible fields in class {}: {}", node.name, list.stream().map(it -> it.name + it.desc).collect(Collectors.joining(", "))); - } else return; + } else return false; } ArclightImplementer.LOGGER.debug(MARKER, "Implementing inventory for class {}", node.name); FieldNode stackList = list.get(0); @@ -178,6 +178,7 @@ public class InventoryImplementer implements Implementer { methodNode.instructions = insnList; node.methods.add(methodNode); } + return true; } }