Skip to content

Commit aebfc91

Browse files
committed
tset(compiler): type attributes
1 parent 2701fce commit aebfc91

File tree

3 files changed

+30
-8
lines changed

3 files changed

+30
-8
lines changed

compiler/suspend-transform-plugin/src/main/kotlin/love/forte/plugin/suspendtrans/symbol/SuspendTransformSyntheticResolveExtension.kt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ import org.jetbrains.kotlin.resolve.BindingContext
1919
import org.jetbrains.kotlin.resolve.constants.ArrayValue
2020
import org.jetbrains.kotlin.resolve.constants.ConstantValue
2121
import org.jetbrains.kotlin.resolve.constants.StringValue
22-
import org.jetbrains.kotlin.resolve.descriptorUtil.*
22+
import org.jetbrains.kotlin.resolve.descriptorUtil.annotationClass
23+
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameUnsafe
24+
import org.jetbrains.kotlin.resolve.descriptorUtil.module
25+
import org.jetbrains.kotlin.resolve.descriptorUtil.platform
2326
import org.jetbrains.kotlin.resolve.extensions.SyntheticResolveExtension
2427
import org.jetbrains.kotlin.synthetic.isVisibleOutside
2528
import org.jetbrains.kotlin.types.KotlinTypeFactory
@@ -145,13 +148,6 @@ open class SuspendTransformSyntheticResolveExtension(open val configuration: Sus
145148
)
146149
}
147150
if (resolvedAnnotations.isEmpty) {
148-
println("ORIGINAL: $originFunction")
149-
println(originFunction.overriddenTreeUniqueAsSequence(true).toList())
150-
println(originFunction.overriddenTreeUniqueAsSequence(false).toList())
151-
println(originFunction.overriddenTreeAsSequence(true).toList())
152-
println(originFunction.overriddenTreeAsSequence(false).toList())
153-
originFunction.original
154-
println()
155151
// find from overridden function
156152
val superAnnotation = originFunction.findSuspendOverridden()?.let { superFunction ->
157153
functionAnnotationsCache.computeIfAbsent(superFunction) { f ->

compiler/suspend-transform-plugin/src/test/kotlin/love/forte/plugin/suspendtrans/test/Test.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ class Test {
3030
testBase("asProperty.kt")
3131
}
3232

33+
@Test
34+
fun typeAttrTest() {
35+
testBase("typeAttr.kt")
36+
}
37+
3338
private fun testBase(fileName: String) {
3439
val loader = SingleFileModuleInfoLoader("testData/$fileName")
3540
val sourceModuleInfos = loader.loadSourceModuleInfos()
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// SOURCE
2+
// FILE: Main.kt [MainKt#main]
3+
import love.forte.plugin.suspendtrans.annotation.JvmAsync
4+
import love.forte.plugin.suspendtrans.annotation.JvmBlocking
5+
6+
open class Bar
7+
class Tar : Bar()
8+
9+
interface Foo<out T : Bar> {
10+
@JvmBlocking
11+
@JvmAsync
12+
suspend fun value(): T
13+
14+
}
15+
16+
class FooImpl : Foo<Tar> {
17+
override suspend fun value(): Tar {
18+
return Tar()
19+
}
20+
}
21+

0 commit comments

Comments
 (0)