01/25/2018, 4:56 AM
Looks that I’ve found critical bug in Kapt 1.2.20. It doesn’t work with classes with
sign. @yan Could you please take a look? Not sure that my analysis is correct, but I will try to prepare sample project. We really want migrate to 1.2.20 but it’s blocker for us.


01/25/2018, 1:29 PM
Thank you, I will look into this today.
@gildor Unfortunately, I couldn’t reproduce it. It would be nice to get a sample project.


01/26/2018, 9:59 AM
@yan I can confirm that I cannot reproduce it on simple project just using standart configuration. I’m investigating how sample project differs from my main project. But still looks that extension function
works incorrectly, not sure when it should be called. For example this is output of this function with inner class name:
"my.package.SomeClass.SomeInnerClass".iterateDollars { o, i -> println("'$o' - '$i'") }
// 'my.package.SomeClass.SomeInnerClass' - ''
With anonymous class everything works fine:
"my.package.SomeClass.SomeInnerClass$1".iterateDollars { o, i -> println("'$o' - '$i'") }
// 'my.package.SomeClass.SomeInnerClass' - '1'
But with dollar on the first place output is broken:
"my.package.$SomeClass.SomeInnerClass".iterateDollars { o, i -> println("'$o' - '$i'") }
// 'my.package.' - 'SomeClass.SomeInnerClass'
Okay, I’ve figure out. It’s not a problem of stub generation class with dollar in name, but if you have import with $. I can reproduce it with:
import my.package.`$AutoValue_MyClass`.Builder as MyClassBuilder
This is sample project where you can reproduce it (use branch KT-22493)