8335935: Chained builders not sending transformed models to next transforms

Reviewed-by: asotona
This commit is contained in:
Chen Liang 2024-07-10 21:06:39 +00:00
parent 242f1133f8
commit cad68e06ec
10 changed files with 196 additions and 124 deletions

View file

@ -86,7 +86,7 @@ import java.lang.classfile.instruction.TypeCheckInstruction;
import static java.util.Objects.requireNonNull;
import static jdk.internal.classfile.impl.BytecodeHelpers.handleDescToHandleInfo;
import jdk.internal.classfile.impl.TransformingCodeBuilder;
import jdk.internal.javac.PreviewFeature;
/**
@ -192,7 +192,7 @@ public sealed interface CodeBuilder
default CodeBuilder transforming(CodeTransform transform, Consumer<CodeBuilder> handler) {
var resolved = transform.resolve(this);
resolved.startHandler().run();
handler.accept(new TransformingCodeBuilder(this, resolved.consumer()));
handler.accept(new ChainedCodeBuilder(this, resolved.consumer()));
resolved.endHandler().run();
return this;
}