fix: printing const in types and fn decl and sentinel in strings

This commit is contained in:
Vallahor
2022-05-23 20:24:16 -03:00
committed by Andrew Kelley
parent 019fd45617
commit 21fd4a7a8b
2 changed files with 18 additions and 8 deletions
+7
View File
@@ -1134,6 +1134,7 @@ var zigAnalysis;
let name = "[";
let lenName = exprName(arrayObj.len, opts);
let sentinel = arrayObj.sentinel ? ":0" : "";
let is_mutable = arrayObj.is_multable ? "const " : "";
if (opts.wantHtml) {
name +=
@@ -1142,6 +1143,7 @@ var zigAnalysis;
name += lenName + sentinel;
}
name += "]";
name += is_mutable;
name += exprName(arrayObj.child, opts);
return name;
}
@@ -1151,27 +1153,32 @@ var zigAnalysis;
{
let ptrObj = /** @type {PointerType} */(typeObj);
let sentinel = ptrObj.sentinel ? ":0" : "";
let is_mutable = !ptrObj.is_mutable ? "const " : "";
let name = "";
switch (ptrObj.size) {
default:
console.log("TODO: implement unhandled pointer size case");
case pointerSizeEnum.One:
name += "*";
name += is_mutable;
break;
case pointerSizeEnum.Many:
name += "[*";
name += sentinel;
name += "]";
name += is_mutable;
break;
case pointerSizeEnum.Slice:
name += "[";
name += sentinel;
name += "]";
name += is_mutable;
break;
case pointerSizeEnum.C:
name += "[*c";
name += sentinel;
name += "]";
name += is_mutable;
break;
}
if (ptrObj['const']) {