diff --git a/src/main/java/com/falsepattern/lib/internal/asm/transformers/ConfigOrderTransformer.java b/src/main/java/com/falsepattern/lib/internal/asm/transformers/ConfigOrderTransformer.java index 6c5c093..24bf1e9 100644 --- a/src/main/java/com/falsepattern/lib/internal/asm/transformers/ConfigOrderTransformer.java +++ b/src/main/java/com/falsepattern/lib/internal/asm/transformers/ConfigOrderTransformer.java @@ -37,13 +37,16 @@ public class ConfigOrderTransformer implements IClassNodeTransformer { @Override public void transform(ClassNode cn, String transformedName, boolean obfuscated) { int order = 0; + outer: for (val field: cn.fields) { - if ((field.access & Opcodes.ACC_PUBLIC) != 0 && (field.access & Opcodes.ACC_STATIC) != 0 && (field.access & Opcodes.ACC_FINAL) == 0) { - if (field.visibleAnnotations != null) { - for (val ann: field.visibleAnnotations) { - if (DESC_CONFIG_IGNORE.equals(ann.desc)) { - continue; - } + if ((field.access & Opcodes.ACC_PUBLIC) == 0 || + (field.access & Opcodes.ACC_STATIC) == 0 || + (field.access & Opcodes.ACC_FINAL) != 0) { + continue; + } else if (field.visibleAnnotations != null) { + for (val ann : field.visibleAnnotations) { + if (DESC_CONFIG_IGNORE.equals(ann.desc)) { + continue outer; } } }