Implement codegen for bound class reference expressions

- Inline the usage of ExpressionCodegen#generateClassLiteralReference into
  ClosureCodegen, simplify
- Support DoubleColonLHS.Expression in generateClassLiteralReference
- Substantially simplify KClass.java intrinsic by reusing
  generateClassLiteralReference

 #KT-13075 Fixed
 #KT-12995 In Progress
This commit is contained in:
Alexander Udalov
2016-07-14 17:09:33 +03:00
parent 28dc5d788c
commit 495ed13fce
8 changed files with 124 additions and 83 deletions
@@ -0,0 +1,17 @@
// WITH_RUNTIME
import kotlin.test.assertEquals
fun box(): String {
assertEquals(true::class, Boolean::class)
assertEquals(42.toByte()::class, Byte::class)
assertEquals('z'::class, Char::class)
assertEquals(3.14::class, Double::class)
assertEquals(2.72f::class, Float::class)
// TODO: KT-13110
// assertEquals(42::class, Int::class)
assertEquals(42L::class, Long::class)
assertEquals(42.toShort()::class, Short::class)
return "OK"
}