Merge pull request #15519 from dweiller/issue-15482

Optimize lowering of `s[start..][0..len]`
This commit is contained in:
Andrew Kelley
2023-05-11 08:59:44 -07:00
committed by GitHub
22 changed files with 325 additions and 31 deletions
+17
View File
@@ -1097,6 +1097,23 @@ const NAV_MODES = {
payloadHtml += decl + "[" + start + ".." + end + sentinel + "]";
return payloadHtml;
}
case "sliceLength": {
let payloadHtml = "";
const lhsExpr = zigAnalysis.exprs[expr.sliceLength.lhs];
const startExpr = zigAnalysis.exprs[expr.sliceLength.start];
const lenExpr = zigAnalysis.exprs[expr.sliceLength.len];
let decl = exprName(lhsExpr, opts);
let start = exprName(startExpr, opts);
let len = exprName(lenExpr, opts);
let sentinel = "";
if (expr.sliceLength["sentinel"]) {
const sentinelExpr = zigAnalysis.exprs[expr.sliceLength.sentinel];
let sentinel_ = exprName(sentinelExpr, options);
sentinel += " :" + sentinel_;
}
payloadHtml += decl + "[" + start + "..][0.." + len + sentinel + "]";
return payloadHtml;
}
case "sliceIndex": {
const sliceIndex = zigAnalysis.exprs[expr.sliceIndex];
return exprName(sliceIndex, opts, opts);