已合并
Fix LSP import definition navigation #11174
wdc创建于 5 天前
Fix LSP import definition navigation #11174
已合并
Pull Request已成功合入, 合并人@openharmony_ci
(感谢 wdc 的贡献)5 天前 关联了issue:[LSP][Bug] Ctrl+click on namespace import alias or import path cannot navigate to target module
5 天前 关联了issue:[LSP][Bug] Ctrl+click on namespace import alias or import path cannot navigate to target module
5 天前 添加了label:waiting_on_author
openharmony_ci
5 天前 评论:
5 天前 评论:
感谢提交 Pull Requests !此PR未通过DCO校验。
校验失败可能原因:
1. 未签署“DCO协议”(开发者原创声明协议),在线签署、查看签署状态。
2. Commits 中未包含 Signed-off-by信息,参考FAQ处理。
修复上述问题后,在PR的评论框输入“check dco” ,单击”评论”,系统将再次进行DCO校验。
当前检测到如下Commits 未包含Signed-off-by信息:
Thanks for submitting a pull request. This pull request has not passed the DCO check.
Possible causes:
1. You have not signed the Developer Certificate of Origin (DCO). Sign the DCO and check DCO status.
2. The commits do not contain the Signed-off-by information. To resolve this issue, see FAQs.
After resolving the preceding issues, enter check dco in the comment box of this pull request and click Comment. The system will check DCO status again.
The following commits do not contain the Signed-off-by information:


5 天前 添加了label:dco检查失败
5 天前 修改了pull request 的描述
此处折叠了211条消息 查看更多
wdc
4 小时前 评论:
4 小时前 评论:
submit


4 小时前 关闭了关联的issue
4 小时前 合入了pull request,合并节点 SHA:d555b817fe82b2bb3f842c2d949fad09b7159be3
4 小时前 删除了label:waiting_for_review
4 小时前 添加了label:merged
关联的Issue
https://gitcode.com/openharmony/arkcompiler_ets_frontend/issues/11939
提交类型
需求背景/Description
不涉及。
问题现象&&分析/Reason
[Phenomenon]
import * as aaaa from './test2'的 namespace aliasaaaa,会停留在当前 import 声明,无法打开目标模块。export * as components from './components/tsindex'中的 aliascomponents同样无法跳转。[Root Cause]
api.cpp::GetDefinitionAtPosition。该入口已经负责将字符偏移转换为 UTF-8 字节偏移。GetDefinitionAtPositionImpl为 namespace alias 找到的是ImportNamespaceSpecifier声明;原有通用逻辑只返回该本地声明的位置,没有继续读取所属 import/re-export 的 source。GetImportFilePath在同一 API 入口提前处理,并已有GetImportFilePath1单测覆盖,不属于本次代码修改。修改方案/Scheme
api.cpp增加 namespace alias 目标模块解析:识别ImportNamespaceSpecifier,取得其所属的ETSImportDeclaration。ETSReExportDeclaration包装的export * as。ImportInfo().ResolvedSource(),dynamic@模块返回ImportInfo().TextSource()。LSPAPI::getDefinitionAtPosition,不修改或测试无真实调用者的GetDefinitionAndBoundSpan.测试结果(测试截图直接贴在对应测试项,主干已知问题需明确引入pr/责任人)
新增以下 LSP gtest 回归用例:
GetDefinitionAtPosition_ImportNamespaceAliasDeclaration:覆盖点击from前的 alias。GetDefinitionAtPosition_ImportNamespaceModulePath:覆盖点击from后的模块路径。GetDefinitionAtPosition_ImportNamespaceAliasUsage:覆盖点击new aaaa.A()中的 alias 使用位置。GetDefinitionAtPosition_ReExportNamespaceAliasInDeclaration:覆盖export * as components。已有
GetImportFilePath1继续覆盖 import path 通过公开 API 跳转。本地验证:
clang-format-14 --dry-run --Werror和git diff --check通过。generateBin.cpp调用的ark::panda_file::GetVersionByApi在 runtime_core 中不存在;该失败与本 PR 修改无关,完整用例结果以本 PR CI 为准。功能测试(除仅涉及文本外必测项)wiki
混淆测试(涉及arkguard改动时必测项)wiki
兼容性测试(指令生成、文件格式修改时)
性能测试(新增语法检查等场景)
指令/abc格式修改自检
是否已执行L0用例