Commit 341431b15c
Changed files (2)
lib
docs
src
lib/docs/main.js
@@ -819,6 +819,10 @@ var zigAnalysis;
case "&": {
return "&" + exprName(zigAnalysis.exprs[expr["&"]]);
}
+ case "compileError": {
+ let compileError = expr.compileError;
+ return compileError;
+ }
case "enumLiteral": {
let literal = expr.enumLiteral;
return literal;
@@ -916,7 +920,6 @@ var zigAnalysis;
return exprName(switchIndex, opts);
}
case "refPath" : {
- // const fieldRef = zigAnalysis.decls[expr.fieldRef.index];
const declRef = expr.refPath[0].declRef;
let name = zigAnalysis.decls[declRef].name;
for (let i = 1; i < expr.refPath.length; i++) {
@@ -925,10 +928,9 @@ var zigAnalysis;
return name;
}
case "fieldRef" : {
- const fieldRef = zigAnalysis.decls[expr.fieldRef.index];
const enumObj = exprName({"type":expr.fieldRef.type} ,opts);
- // const name = zigAnalysis.astNodes[enumObj.ast + expr.fieldRef.index].name;
- const name = zigAnalysis.astNodes[enumObj.ast + expr.fieldRef.index + 1].name;
+ const field = zigAnalysis.astNodes[enumObj.ast].fields[expr.fieldRef.index];
+ const name = zigAnalysis.astNodes[field].name;
return name
}
case "enumToInt" : {
@@ -1424,11 +1426,11 @@ var zigAnalysis;
return payloadHtml;
}
case "as": {
- // const typeRefArg = zigAnalysis.exprs[expr.as.typeRefArg];
+ const typeRefArg = zigAnalysis.exprs[expr.as.typeRefArg];
const exprArg = zigAnalysis.exprs[expr.as.exprArg];
- // return "@as(" + exprName(typeRefArg, opts) +
- // ", " + exprName(exprArg, opts) + ")";
- return exprName(exprArg, opts);
+ return "@as(" + exprName(typeRefArg, opts) +
+ ", " + exprName(exprArg, opts) + ")";
+ // return exprName(exprArg, opts);
}
case "declRef": {
return zigAnalysis.decls[expr.declRef].name;
@@ -1467,10 +1469,14 @@ var zigAnalysis;
if (typeof typeObj === 'number') typeObj = zigAnalysis.types[typeObj];
switch (typeObj.kind) {
default: throw "TODO";
+ case typeKinds.Struct:
+ {
+ let structObj = (typeObj);
+ return structObj;
+ }
case typeKinds.Enum:
{
let enumObj = (typeObj);
- console.log(enumObj)
return enumObj;
}
case typeKinds.Opaque:
@@ -2033,7 +2039,15 @@ var zigAnalysis;
domFnProtoCode.innerHTML = '<span class="tok-kw">const</span> ' +
escapeHtml(decl.name) + ': ' + type.name +
" = " + exprName(decl.value.expr, {wantHtml: true, wantLink:true}) + ";";
- } else {
+ } else if (resolvedValue.expr.string !== undefined || resolvedValue.expr.call !== undefined || resolvedValue.expr.comptimeExpr !== undefined) {
+ domFnProtoCode.innerHTML = '<span class="tok-kw">const</span> ' +
+ escapeHtml(decl.name) + ': ' + exprName(resolvedValue.expr, {wantHtml: true, wantLink:true}) +
+ " = " + exprName(decl.value.expr, {wantHtml: true, wantLink:true}) + ";";
+ } else if (resolvedValue.expr.compileError) {
+ domFnProtoCode.innerHTML = '<span class="tok-kw">const</span> ' +
+ escapeHtml(decl.name) + " = " + exprName(decl.value.expr, {wantHtml: true, wantLink:true}) + ";";
+ }
+ else {
domFnProtoCode.innerHTML = '<span class="tok-kw">const</span> ' +
escapeHtml(decl.name) + ': ' + exprName(resolvedValue.typeRef, {wantHtml: true, wantLink:true}) +
" = " + exprName(decl.value.expr, {wantHtml: true, wantLink:true}) + ";";
src/Autodoc.zig
@@ -3360,9 +3360,10 @@ fn analyzeFunction(
// ret
const ret_type_ref = blk: {
- const last_instr_index = fn_info.ret_ty_body[fn_info.ret_ty_body.len - 1];
- const break_operand = data[last_instr_index].@"break".operand;
- const wr = try self.walkRef(file, scope, break_operand, false);
+ // const last_instr_index = fn_info.ret_ty_body[fn_info.ret_ty_body.len - 1];
+ // const break_operand = data[last_instr_index].@"break".operand;
+ // const wr = try self.walkRef(file, scope, break_operand, false);
+ const wr = try self.walkRef(file, scope, fn_info.ret_ty_ref, false);
break :blk wr;
};