Skip to content

Commit de47095

Browse files
committed
release: v0.2.1
1 parent 1345318 commit de47095

File tree

3 files changed

+24
-12
lines changed

3 files changed

+24
-12
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,11 @@ data class MarkAnnotation @JvmOverloads constructor(
117117
* 当 [suffixProperty] 不存在时使用的默认后缀
118118
*/
119119
val defaultSuffix: String = "",
120+
121+
/**
122+
* 当 [asPropertyProperty] 不存在时使用的默认值
123+
*/
124+
val defaultAsProperty: Boolean = false,
120125
)
121126

122127

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

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ open class SuspendTransformSyntheticResolveExtension(open val configuration: Sus
102102
) {
103103
if (annotationData == null) return
104104

105-
if (annotationData.asProperty == true && descriptors.valueParameters.isEmpty()) {
105+
if (annotationData.asProperty && descriptors.valueParameters.isEmpty()) {
106106
syntheticProperties.addSyntheticDescriptors(
107107
thisDescriptor,
108108
descriptors.transformToProperty(annotationData)
@@ -147,13 +147,14 @@ open class SuspendTransformSyntheticResolveExtension(open val configuration: Sus
147147
?: transformer.resolveAnnotationData(
148148
originFunction, originFunction.containingDeclaration, originFunction.name.identifier
149149
)
150-
?: originFunction.findSuspendOverridden()?.let { superFunction ->
151-
transformer.resolveAnnotationData(
152-
superFunction,
153-
superFunction.containingDeclaration,
154-
superFunction.name.identifier
155-
)
156-
}
150+
// 不检测'继承'的注解
151+
// ?: originFunction.findSuspendOverridden()?.let { superFunction ->
152+
// transformer.resolveAnnotationData(
153+
// superFunction,
154+
// superFunction.containingDeclaration,
155+
// superFunction.name.identifier
156+
// )
157+
// }
157158
}
158159
}
159160

@@ -215,7 +216,7 @@ open class SuspendTransformSyntheticResolveExtension(open val configuration: Sus
215216
originFunction,
216217
annotationData.functionName,
217218
copyAnnotations(originFunction, transformer),
218-
SuspendTransformUserData(originFunction, asProperty = annotationData.asProperty ?: false, transformer),
219+
SuspendTransformUserData(originFunction, asProperty = annotationData.asProperty, transformer),
219220
transformer
220221
).also { it.init() }
221222
}

compiler/suspend-transform-plugin/src/main/kotlin/love/forte/plugin/suspendtrans/utils/AnnotationDescriptorUtils.kt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ data class TransformAnnotationData(
3838
val annotationDescriptor: AnnotationDescriptor,
3939
val baseName: String?,
4040
val suffix: String?,
41-
val asProperty: Boolean?,
41+
val rawAsProperty: Boolean?,
42+
val asProperty: Boolean,
4243
val functionName: String,
4344
) {
4445
companion object {
@@ -49,6 +50,7 @@ data class TransformAnnotationData(
4950
annotationAsPropertyPropertyName: String = "asProperty",
5051
defaultBaseName: String,
5152
defaultSuffix: String,
53+
defaultAsProperty: Boolean,
5254
): TransformAnnotationData {
5355
val baseName = annotationDescriptor.argumentValue(annotationBaseNamePropertyName)
5456
?.accept(AbstractNullableAnnotationArgumentVoidDataVisitor.stringOnly, null)
@@ -57,15 +59,18 @@ data class TransformAnnotationData(
5759
val suffix = annotationDescriptor.argumentValue(annotationSuffixPropertyName)
5860
?.accept(AbstractNullableAnnotationArgumentVoidDataVisitor.stringOnly, null)
5961

60-
val asProperty = annotationDescriptor.argumentValue(annotationAsPropertyPropertyName)
62+
63+
val rawAsProperty = annotationDescriptor.argumentValue(annotationAsPropertyPropertyName)
6164
?.accept(AbstractNullableAnnotationArgumentVoidDataVisitor.booleanOnly, null)
65+
6266
val functionName = "${baseName ?: defaultBaseName}${suffix ?: defaultSuffix}"
6367

6468
return TransformAnnotationData(
6569
annotationDescriptor,
6670
baseName,
6771
suffix,
68-
asProperty,
72+
rawAsProperty,
73+
rawAsProperty ?: defaultAsProperty,
6974
functionName,
7075
)
7176
}
@@ -97,6 +102,7 @@ fun Transformer.resolveAnnotationData(
97102
annotationAsPropertyPropertyName,
98103
defaultBaseName,
99104
markAnnotation.defaultSuffix,
105+
markAnnotation.defaultAsProperty,
100106
)
101107
}
102108
}

0 commit comments

Comments
 (0)