Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
import static org.objectweb.asm.Opcodes.INVOKEINTERFACE;
import static org.objectweb.asm.Opcodes.INVOKESTATIC;

public class InstrumenterImpl implements Instrumenter {
public final class InstrumenterImpl implements Instrumenter {
private static final Logger logger = LogManager.getLogger(InstrumenterImpl.class);

private final String getCheckerClassMethodDescriptor;
Expand Down Expand Up @@ -272,7 +272,8 @@ public void visitCode() {
}

private void pushEntitlementChecker() {
InstrumenterImpl.this.pushEntitlementChecker(mv);
mv.visitMethodInsn(INVOKESTATIC, handleClass, "instance", getCheckerClassMethodDescriptor, false);
mv.visitTypeInsn(CHECKCAST, checkMethod.className());
}

private void pushCallerClass() {
Expand Down Expand Up @@ -320,11 +321,7 @@ private void invokeInstrumentationMethod() {
true
);
}
}

protected void pushEntitlementChecker(MethodVisitor mv) {
mv.visitMethodInsn(INVOKESTATIC, handleClass, "instance", getCheckerClassMethodDescriptor, false);
mv.visitTypeInsn(CHECKCAST, "org/elasticsearch/entitlement/bridge/EntitlementChecker");
}

record ClassFileInfo(String fileName, byte[] bytecodes) {}
Expand Down