[FIR] Approximate all integer literals which resolved in independent mode

#KT-42016
This commit is contained in:
Dmitriy Novozhilov
2020-09-18 11:05:44 +03:00
parent 5efd533f55
commit 4374c06537
22 changed files with 121 additions and 92 deletions
@@ -1,4 +1,4 @@
fun testSimple() = Box<Long>(2 * 3)
fun testSimple() = Box<Long>(2l * 3)
inline fun <reified T> testArray(n: Int, crossinline block: () -> T): Array<T> {
return Array<T>(n) { block() }
@@ -29,7 +29,7 @@ FILE fqName:<root> fileName:/primitivesImplicitConversions.kt
PROPERTY name:test4 visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Long visibility:private [final,static]
EXPRESSION_BODY
CALL 'public final fun unaryMinus (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Long origin=null
CALL 'public final fun unaryMinus (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null
$this: CONST Int type=kotlin.Int value=42
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test4> visibility:public modality:FINAL <> () returnType:kotlin.Long
correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [val]
@@ -39,7 +39,7 @@ FILE fqName:<root> fileName:/primitivesImplicitConversions.kt
PROPERTY name:test5 visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Short visibility:private [final,static]
EXPRESSION_BODY
CALL 'public final fun unaryMinus (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Short origin=null
CALL 'public final fun unaryMinus (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null
$this: CONST Int type=kotlin.Int value=42
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test5> visibility:public modality:FINAL <> () returnType:kotlin.Short
correspondingProperty: PROPERTY name:test5 visibility:public modality:FINAL [val]
@@ -49,7 +49,7 @@ FILE fqName:<root> fileName:/primitivesImplicitConversions.kt
PROPERTY name:test6 visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Byte visibility:private [final,static]
EXPRESSION_BODY
CALL 'public final fun unaryMinus (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Byte origin=null
CALL 'public final fun unaryMinus (): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null
$this: CONST Int type=kotlin.Int value=42
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test6> visibility:public modality:FINAL <> () returnType:kotlin.Byte
correspondingProperty: PROPERTY name:test6 visibility:public modality:FINAL [val]
-12
View File
@@ -1,12 +0,0 @@
FILE fqName:<root> fileName:/simple.kt
PROPERTY name:test visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:private [final,static]
EXPRESSION_BODY
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=null
$this: CONST Int type=kotlin.Int value=2
other: CONST Int type=kotlin.Int value=2
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test> visibility:public modality:FINAL <> () returnType:kotlin.Int
correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test> (): kotlin.Int declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:kotlin.Int visibility:private [final,static]' type=kotlin.Int origin=null
+1
View File
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DUMP_DEPENDENCIES
val test = 2 + 2