From e9a7ccd00c1a372ed6f6bdbf3701d6cb2bfa0a12 Mon Sep 17 00:00:00 2001 From: Skylot Date: Fri, 2 Jun 2023 21:41:38 +0100 Subject: [PATCH] fix: don't change annotated code on finish (#1732) Remove first empty line break annotation positions, can occur for classes in default package --- .../src/main/java/jadx/api/impl/AnnotatedCodeWriter.java | 1 - jadx-core/src/main/java/jadx/core/codegen/ClassGen.java | 6 ++++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/jadx-core/src/main/java/jadx/api/impl/AnnotatedCodeWriter.java b/jadx-core/src/main/java/jadx/api/impl/AnnotatedCodeWriter.java index f4f2d5d07..8999eb5f3 100644 --- a/jadx-core/src/main/java/jadx/api/impl/AnnotatedCodeWriter.java +++ b/jadx-core/src/main/java/jadx/api/impl/AnnotatedCodeWriter.java @@ -154,7 +154,6 @@ public class AnnotatedCodeWriter extends SimpleCodeWriter implements ICodeWriter @Override public ICodeInfo finish() { - removeFirstEmptyLine(); processDefinitionAnnotations(); validateAnnotations(); String code = buf.toString(); diff --git a/jadx-core/src/main/java/jadx/core/codegen/ClassGen.java b/jadx-core/src/main/java/jadx/core/codegen/ClassGen.java index ae9d097fe..ddf0c93dd 100644 --- a/jadx-core/src/main/java/jadx/core/codegen/ClassGen.java +++ b/jadx-core/src/main/java/jadx/core/codegen/ClassGen.java @@ -100,10 +100,12 @@ public class ClassGen { addClassCode(clsBody); ICodeWriter clsCode = cls.root().makeCodeWriter(); - if (!"".equals(cls.getPackage())) { + if (cls.getPackage().isEmpty()) { + clsCode.add("// default package"); + } else { clsCode.add("package ").add(cls.getPackage()).add(';'); - clsCode.newLine(); } + clsCode.newLine(); int importsCount = imports.size(); if (importsCount != 0) { List sortedImports = new ArrayList<>(imports);