getLeadingCommentRanges misses comment in call expression
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 45/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- typescript
- 领域
- compilers
调研方向
在偏移量 12 处对 console.log(/* hello */ "world") 重现 ts.getLeadingCommentRanges 的问题,然后跟踪 getLeadingCommentRanges 使用的 iterateCommentRanges 路径。当调用为字符串字面量返回预期的注释范围,且不会使相关的前置或后置注释处理出现回归时,工作即完成。
由索引模型根据 Issue 内容生成。
描述
Bug Report
getLeadingCommentRanges misses comments that are in front of arguments passed to a call expression.
Comments being missed is a known issue when comments are within a node between tokens not stored in the tree: https://github.com/Microsoft/TypeScript/wiki/FAQ#why-some-comments-are-not-preserved-in-emitted-javascript-even-when---removecomments-is-not-specified
However that is not the case here and in fact tsc will preserve that particular comment.
Note: here I refer to getLeadingCommentRanges but in reality the bug is present inside of iterateCommentRanges (what getLeadingCommentRanges uses under the hood)
🔎 Search Terms
- leading, trailing comment undefined
- getLeadingCommentRanges, getTrailingCommentRanges
- Call expression, function call, method call
🕗 Version & Regression Information
- This is the behavior in every version I tried (
4.3.5(the oldest version on ts-ast-viewer.com),5.1.6,@next (5.2.0-dev.20230706))
⏯ Playground Link
https://ts-ast-viewer.com/#code/MYewdgziA2CmB00QHMAUB6AVAAgBa2iW03WwCIB3EAJ2gBMyBKIA
💻 Code
console.log(/* hello */ "world")
Calling getLeadingCommentRanges on the string literal returns undefined.
🙁 Actual behavior
ts.getLeadingCommentRanges('console.log(/* hello */ "world")', 12)
returns undefined
🙂 Expected behavior
ts.getLeadingCommentRanges('console.log(/* hello */ "world")', 12)
returns [ { kind: 3, start: 12, end: 23, hasTrailingNewLine: false } ]
- 主要语言
- Go
- 星标
- 111k
- 派生
- 14.4k
- 平均合并
- 1 天 19 小时
- 30 天内合并 PR
- 117
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoft/TypeScript 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 88/100
microsoft/TypeScript#64322 · 2 条评论 · 1 个 reaction · 已指派 2 人 ·
-
Possible Improvement
难度 2/5 1-3 小时 新手友好度 78/100
microsoft/TypeScript#64278 · 1 条评论 · 1 个 reaction ·
-
Docs
难度 2/5 1-3 小时 新手友好度 70/100
microsoft/TypeScript#64118 · 1 条评论 ·
-
难度 1/5 1 小时以内 新手友好度 88/100
microsoft/TypeScript#64094 ·
-
Docs
难度 2/5 1-3 小时 新手友好度 76/100
microsoft/TypeScript#63959 · 5 条评论 ·
查看 microsoft/TypeScript 的全部 Issue
相似的 Issue
-
optimization optimization:agents-md-curator
难度 2/5 1-3 小时 新手友好度 86/100
githubnext/gh-aw-cao#13143 ·
-
难度 2/5 1-3 小时 新手友好度 84/100
blinklabs-io/bursa#904 ·
-
难度 2/5 1-3 小时 新手友好度 84/100
yanet-platform/ipfw-go#129 ·
-
bug confmap/provider/googlesecretmanagerprovider needs triage
难度 2/5 1-3 小时 新手友好度 72/100
open-telemetry/opentelemetry-collector-contrib#51273 · 2 条评论 ·
-
bug: AI Gateway client filter lists "Unknown" twice when NULL and literal Unknown clients coexist 未关闭bug
难度 2/5 1-3 小时 新手友好度 90/100