JailedBird / ArouterKspCompiler

Arouter KSP annotation processor
Apache License 2.0
77 stars 8 forks source link

fix: multiple interface implementation providers are invalid #6

Closed 985892345 closed 1 year ago

985892345 commented 1 year ago

问题描述

在一个类实现了多个接口时加载会失效,与ARouter官方的行为不一致

代码示例

interface ITestService1 : IProvider

interface ITestService2 : IProvider

@Route(path = "/test/service")
class TestServiceImpl : ITestService1, ITestService2 {
  override fun init(context: Context) {
  }
}

ARouter官方的会生成如下代码: image 可以发现有两个,但是目前你的ksp只生成了一个: image

解决方法

取消掉 RouteSymbolProcessorProvider 类中跳出循环的 break image

JailedBird commented 1 year ago

感谢;之前没想到这个test case;我周一仔细看下,然后merge并发布新的版本;

JailedBird commented 1 year ago

已合并,并发布1.0.3版本;