Skip to content

Commit c5251f8

Browse files
committed
Fix @WithCodec checker to use correct codec type validation
1 parent 23ebc62 commit c5251f8

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

compiler-plugin/compiler-plugin-k2/src/main/kotlin/kotlinx/rpc/codegen/checkers/FirWithCodecDeclarationChecker.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,14 @@ object FirWithCodecDeclarationChecker {
5757

5858
val codecTargetClass = codecClassSymbol.findMessageCodecSuperType(context.session)
5959
.typeArguments.first().type
60+
?: error("Unexpected unresolved type argument for @WithCodec annotation")
6061

61-
if (codecTargetClass?.classId != declaration.symbol.classId) {
62+
if (codecTargetClass.classId != declaration.symbol.classId) {
6263
reporter.reportOn(
6364
source = withCodec.findArgumentByName(CODEC_ARGUMENT_NAME)?.source,
6465
factory = FirGrpcDiagnostics.CODEC_TYPE_MISMATCH,
6566
a = declaration.symbol.defaultType(),
66-
b = kClassValue,
67+
b = codecTargetClass,
6768
context = context,
6869
)
6970
}

compiler-plugin/compiler-plugin-k2/src/main/templates/kotlinx/rpc/codegen/checkers/diagnostics/RpcKtDiagnosticsContainer.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ fun registerDiagnosticRendererFactories() {
3232
//##csm specific=[2.0.0...2.2.10]
3333
RootDiagnosticRendererFactory.registerFactory(FirRpcDiagnostics.getRendererFactoryVs())
3434
RootDiagnosticRendererFactory.registerFactory(FirRpcStrictModeDiagnostics.getRendererFactoryVs())
35+
RootDiagnosticRendererFactory.registerFactory(FirGrpcDiagnostics.getRendererFactoryVs())
3536
//##csm /specific
3637
//##csm /registerDiagnosticRendererFactories
3738
}

0 commit comments

Comments
 (0)