[LL API] Run fir2ir separately for files in different modules

Each module may have its own compiler configuration.

^KTIJ-27061 Fixed
This commit is contained in:
Yan Zhulanow
2023-09-13 21:36:24 +09:00
committed by Space Team
parent 38a67f3d30
commit 834cbaac5a
13 changed files with 334 additions and 59 deletions
@@ -0,0 +1,6 @@
MODULE_FRAGMENT
FILE fqName:<root> fileName:main.kt
FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun lib (): kotlin.String declared in lib.LibKt' type=kotlin.String origin=null
@@ -0,0 +1,17 @@
// MODULE: lib
// TARGET_PLATFORM: Common
// FILE: lib.kt
package lib
fun lib(): String = "foo"
// MODULE: main()()(lib)
// TARGET_PLATFORM: JVM
// FILE: main.kt
import lib.lib
fun test() {
lib()
}
@@ -0,0 +1,4 @@
public final class MainKt {
// source: 'main.kt'
public final static method test(): void
}
@@ -0,0 +1,6 @@
MODULE_FRAGMENT
FILE fqName:<root> fileName:main.kt
FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun lib (a: kotlin.Int): kotlin.String declared in lib.LibKt' type=kotlin.String origin=null
@@ -0,0 +1,17 @@
// MODULE: lib
// FILE: lib.kt
package lib
fun lib(a: Int = 5): String {
return "$a"
}
// MODULE: main(lib)
// FILE: main.kt
import lib.lib
fun test() {
lib()
}
@@ -0,0 +1,4 @@
public final class MainKt {
// source: 'main.kt'
public final static method test(): void
}
@@ -0,0 +1,6 @@
MODULE_FRAGMENT
FILE fqName:<root> fileName:main.kt
FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'internal final fun lib (): kotlin.String declared in lib.LibKt' type=kotlin.String origin=null
@@ -0,0 +1,15 @@
// MODULE: lib
// FILE: lib.kt
package lib
internal fun lib(): String = "foo"
// MODULE: main(lib)
// FILE: main.kt
import lib.lib
fun test() {
lib()
}
@@ -0,0 +1,4 @@
public final class MainKt {
// source: 'main.kt'
public final static method test(): void
}