我正在制作一个命令行 nodejs 工具,它使用 Typescript 语言服务自动重命名 Typescript 文件中的符号。
您告诉工具:将此类型的所有符号重命名为此符号。就像 resharper 一样,它也会重命名局部变量、属性等。由于它允许一次重命名多个符号,您还可以交换两个符号名称,而无需中间的临时唯一名称(例如,将 Foo 重命名为 Bar,反之亦然)。
我必须公开语言服务中的私有函数 getSymbolInfoAtPosition 才能使其工作,这样我才能获得 PullSymbol 信息
目前,它仅通过在 PullSymbol 上调用 getNameAndTypeName 来检测确切的名称+类型匹配,但我想执行结构上兼容的匹配。
在 C# 中,这很容易,因为 Type 具有 IsAssignableFrom 方法。
有谁知道如何使用 Typescript 编译器即服务来检测一个 PullSymbol 在结构上是否与另一个 PullSymbol 兼容?
非常感谢,彼得 Verswyvelen