diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/ExtractFieldInit.java b/jadx-core/src/main/java/jadx/core/dex/visitors/ExtractFieldInit.java index d4ea7960b144d75ea2d179be011d510a714fb10d..bf4f71100e170b0622e0302a4b3b1ea1a7160feb 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/ExtractFieldInit.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/ExtractFieldInit.java @@ -51,7 +51,8 @@ public class ExtractFieldInit extends AbstractVisitor { MethodNode clinit = cls.getClassInitMth(); if (clinit == null || !clinit.getAccessFlags().isStatic() - || clinit.isNoCode()) { + || clinit.isNoCode() + || clinit.getBasicBlocks() == null) { return; } @@ -235,7 +236,7 @@ public class ExtractFieldInit extends AbstractVisitor { } private static List getFieldAssigns(MethodNode mth, FieldNode field, InsnType putInsn) { - if (mth.isNoCode()) { + if (mth.isNoCode() || mth.getBasicBlocks() == null) { return Collections.emptyList(); } List assignInsns = new ArrayList<>(); diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/ReSugarCode.java b/jadx-core/src/main/java/jadx/core/dex/visitors/ReSugarCode.java index 6017bce844603e50c16e83773f55bc161a34bb6d..e080556d9b0f0d39ac9dc10542b88bcbb855e5f9 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/ReSugarCode.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/ReSugarCode.java @@ -218,7 +218,7 @@ public class ReSugarCode extends AbstractVisitor { private static void initClsEnumMap(ClassNode enumCls) { MethodNode clsInitMth = enumCls.getClassInitMth(); - if (clsInitMth == null || clsInitMth.isNoCode()) { + if (clsInitMth == null || clsInitMth.isNoCode() || clsInitMth.getBasicBlocks() == null) { return; } EnumMapAttr mapAttr = new EnumMapAttr();