equal
deleted
inserted
replaced
433 }); |
433 }); |
434 |
434 |
435 // MyEvent#shouldCommit() |
435 // MyEvent#shouldCommit() |
436 updateMethod(METHOD_EVENT_SHOULD_COMMIT, methodVisitor -> { |
436 updateMethod(METHOD_EVENT_SHOULD_COMMIT, methodVisitor -> { |
437 Label fail = new Label(); |
437 Label fail = new Label(); |
|
438 if (guardHandlerReference) { |
|
439 getEventHandler(methodVisitor); |
|
440 methodVisitor.visitJumpInsn(Opcodes.IFNULL, fail); |
|
441 } |
438 // if (!eventHandler.shouldCommit(duration) goto fail; |
442 // if (!eventHandler.shouldCommit(duration) goto fail; |
439 getEventHandler(methodVisitor); |
443 getEventHandler(methodVisitor); |
440 methodVisitor.visitVarInsn(Opcodes.ALOAD, 0); |
444 methodVisitor.visitVarInsn(Opcodes.ALOAD, 0); |
441 methodVisitor.visitFieldInsn(Opcodes.GETFIELD, getInternalClassName(), FIELD_DURATION, "J"); |
445 methodVisitor.visitFieldInsn(Opcodes.GETFIELD, getInternalClassName(), FIELD_DURATION, "J"); |
442 ASMToolkit.invokeVirtual(methodVisitor, TYPE_EVENT_HANDLER.getInternalName(), METHOD_EVENT_HANDLER_SHOULD_COMMIT); |
446 ASMToolkit.invokeVirtual(methodVisitor, TYPE_EVENT_HANDLER.getInternalName(), METHOD_EVENT_HANDLER_SHOULD_COMMIT); |