From 7e66c024b40b9520706b154e542d4290701a6465 Mon Sep 17 00:00:00 2001 From: Graham Date: Sat, 7 Mar 2020 16:16:41 +0000 Subject: [PATCH] Propagate groups from to each individual Signed-off-by: Graham --- .../main/java/dev/openrs2/deob/ast/gl/GlRegistry.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/deob-ast/src/main/java/dev/openrs2/deob/ast/gl/GlRegistry.kt b/deob-ast/src/main/java/dev/openrs2/deob/ast/gl/GlRegistry.kt index a602c8ca..e540f2ce 100644 --- a/deob-ast/src/main/java/dev/openrs2/deob/ast/gl/GlRegistry.kt +++ b/deob-ast/src/main/java/dev/openrs2/deob/ast/gl/GlRegistry.kt @@ -34,16 +34,18 @@ data class GlRegistry(val enums: ImmutableSetMultimap, val command val enumsBuilder = ImmutableSetMultimap.builder() val groupsBuilder = HashMultimap.create() - for (elements in root.getChildren("enums")) { - for (element in elements.getChildren("enum")) { + for (parent in root.getChildren("enums")) { + val parentGroups = (parent.getAttributeValue("group") ?: "").split(",") + + for (element in parent.getChildren("enum")) { val name = element.getAttributeValue("name") val value = parseValue(element.getAttributeValue("value")) val enum = GlEnum(name, value) enumsBuilder.put(value, enum) - val groups = element.getAttributeValue("group") ?: continue - for (group in groups.split(",")) { + val groups = (element.getAttributeValue("group") ?: "").split(",") + for (group in parentGroups union groups) { groupsBuilder.put(group, enum) } }