Skip to content

Commit 2d56eb3

Browse files
authored
Have ASM recompute frames on patched classes (#123004)
1 parent 5de46d1 commit 2d56eb3

File tree

1 file changed

+3
-1
lines changed
  • build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/dependencies/patches/hdfs

1 file changed

+3
-1
lines changed

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/dependencies/patches/hdfs/HdfsClassPatcher.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
import java.util.regex.Pattern;
4141

4242
import static java.util.Map.entry;
43+
import static org.objectweb.asm.ClassWriter.COMPUTE_FRAMES;
44+
import static org.objectweb.asm.ClassWriter.COMPUTE_MAXS;
4345

4446
@CacheableTransform
4547
public abstract class HdfsClassPatcher implements TransformAction<HdfsClassPatcher.Parameters> {
@@ -128,7 +130,7 @@ private static void patchJar(File inputFile, File outputFile, Map<String, Functi
128130
byte[] classToPatch = jarFile.getInputStream(entry).readAllBytes();
129131

130132
ClassReader classReader = new ClassReader(classToPatch);
131-
ClassWriter classWriter = new ClassWriter(classReader, 0);
133+
ClassWriter classWriter = new ClassWriter(classReader, COMPUTE_FRAMES | COMPUTE_MAXS);
132134
classReader.accept(classPatcher.apply(classWriter), 0);
133135

134136
jos.write(classWriter.toByteArray());

0 commit comments

Comments
 (0)