| // FUNCTION: Asserter.dispatchAssert |
| // FUNCTION: Asserter.memberExtensionAssert |
| // FUNCTION: extensionAssert |
| // DUMP_KT_IR |
| |
| fun box(): String = runAll( |
| "test1" to { test1() }, |
| "test2" to { test2() }, |
| "test3" to { test3() }, |
| "test4" to { test4() }, |
| "test5" to { test5() }, |
| "test6" to { test6() }, |
| ) |
| |
| data object Asserter { |
| fun dispatchAssert(condition: Boolean, msg: Any? = null) { |
| if (!condition) throw AssertionError(msg.toString()) |
| } |
| |
| fun Asserter.memberExtensionAssert(condition: Boolean, msg: Any? = null) { |
| if (!condition) throw AssertionError(msg.toString()) |
| } |
| } |
| |
| fun Asserter.extensionAssert(condition: Boolean, msg: Any? = null) { |
| if (!condition) throw AssertionError(msg.toString()) |
| } |
| |
| fun test1() { |
| Asserter.dispatchAssert("test".length == 5) |
| } |
| |
| fun test2() { |
| with(Asserter) { |
| dispatchAssert("test".length == 5) |
| } |
| } |
| |
| fun test3() { |
| Asserter.extensionAssert("test".length == 5) |
| } |
| |
| fun test4() { |
| with(Asserter) { |
| extensionAssert("test".length == 5) |
| } |
| } |
| |
| fun test5() { |
| with(Asserter) { |
| Asserter.memberExtensionAssert("test".length == 5) |
| } |
| } |
| |
| fun test6() { |
| with(Asserter) { |
| memberExtensionAssert("test".length == 5) |
| } |
| } |