В приведенном ниже коде я помещаю точку останова на строку, где он говорит println("yoyo")
, но он не попадает. Это на IntelliJ IDEA 2016.2.5 Build # IC-162.2228.15, построенном 14 октября 2016 года. Как я могу это исправить?
class XxxTest { @Test fun xxx(){ object : dummyInterface{ override fun bbb() { println("yoyo") } } } interface dummyInterface{ fun bbb() } }
Ваша функция xxx
использует Object Expression для создания объекта анонимного класса, наследующего от dummyInterface
. Проблема в том, что вы не используете этот объект нигде, и вы не храните его ссылку, так что он просто создан и никогда не вызывается.
Чтобы отладка остановилась в точке останова, вы должны фактически вызвать метод.
val obj = object : dummyInterface { override fun bbb() { println("yoyo") } } obj.bbb()