Точка останова не попадает внутрь обратного вызова Kotlin в Intellij

В приведенном ниже коде я помещаю точку останова на строку, где он говорит 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() 
Intereting Posts
Используя Kovenant от Kotlin, я продолжаю использовать повторяющийся код, используя Deferred Как оживить анимационный список в Котлине? Кинжал не создает компонент для androidTest Метод обратного вызова часто называется переадресацией события на Observable? Конструкторы по умолчанию Kotlin Функция Pass, которая получает параметры как параметр для расширения класса Нет активного администратора … – блокировка экрана в Android Вызов метода Java из Kotlin со списком параметров RxAndroid – обращение к ошибкам с помощью оператора Zip Как написать статический инициализатор уровня пакета в Котлине? Ссылка на значения и методы вызова в типах общих типов Почему тип выражения objectOfTypeT :: class – это KClass <out T>? Как установить прослушиватель движения для существующего вида почему вызов setText () в OnFocusChangeListener очищает текст в представлении? Файл класса Kotlin не может работать в IntelliJ для JUnit