diff --git a/lib/docs/main.js b/lib/docs/main.js
index 3f700e7352..4e78b760b3 100644
--- a/lib/docs/main.js
+++ b/lib/docs/main.js
@@ -1130,17 +1130,20 @@ var zigAnalysis;
default: throw "TODO";
case typeKinds.Array:
{
- let arrayObj = /** @type {ArrayType} */(typeObj);
- let name = "[";
- let lenName = exprName(arrayObj.len, opts);
- if (opts.wantHtml) {
- name += '' + lenName + '';
- } else {
- name += lenName;
- }
- name += "]";
- name += exprName(arrayObj.child, opts);
- return name;
+ let arrayObj = /** @type {ArrayType} */ (typeObj);
+ let name = "[";
+ let lenName = exprName(arrayObj.len, opts);
+ let sentinel = arrayObj.sentinel !== null ? ":"+arrayObj.sentinel : "";
+
+ if (opts.wantHtml) {
+ name +=
+ '' + lenName + sentinel + "";
+ } else {
+ name += lenName;
+ }
+ name += "]";
+ name += exprName(arrayObj.child, opts);
+ return name;
}
case typeKinds.Optional:
return "?" + exprName(/**@type {OptionalType} */(typeObj).child, opts);
diff --git a/src/Autodoc.zig b/src/Autodoc.zig
index efd9d1f4db..0de13ea2e2 100644
--- a/src/Autodoc.zig
+++ b/src/Autodoc.zig
@@ -773,6 +773,7 @@ fn walkInstruction(
});
break :blk .{ .type = ptrTypeId };
};
+
return DocData.WalkResult{
.typeRef = tRef,
.expr = .{ .string = str },
@@ -817,7 +818,6 @@ fn walkInstruction(
},
.elem_type => {
const un_node = data[inst_index].un_node;
- std.debug.print("un_node: {}\n", .{un_node});
var operand: DocData.WalkResult = try self.walkRef(
file,
@@ -826,8 +826,6 @@ fn walkInstruction(
false,
);
- std.debug.print("operand: {}\n", .{operand});
-
return DocData.WalkResult{
.typeRef = .{ .type = operand.typeRef.?.type },
.expr = .{ .type = operand.expr.type },
@@ -853,14 +851,8 @@ fn walkInstruction(
const ptr = data[inst_index].ptr_type;
const extra = file.zir.extraData(Zir.Inst.PtrType, ptr.payload_index);
- std.debug.print("ptr = {}\n", .{ptr});
- std.debug.print("extra = {any}\n", .{extra});
-
const sentinel: ?usize = if (ptr.flags.has_sentinel) 0 else null;
- std.debug.print("sentinel = {} {d}\n", .{ ptr.flags.has_sentinel, sentinel });
- std.debug.print("type = {d}\n", .{@enumToInt(Ref.type_type)});
-
const type_slot_index = self.types.items.len;
const elem_type_ref = try self.walkRef(
file,
@@ -875,7 +867,6 @@ fn walkInstruction(
.sentinel = sentinel,
},
});
- std.debug.print("type = {d}\n", .{type_slot_index});
return DocData.WalkResult{
// .typeRef = .{ .type = type_slot_index },
.typeRef = .{ .type = @enumToInt(Ref.type_type) },
@@ -887,11 +878,6 @@ fn walkInstruction(
const len = try self.walkRef(file, parent_scope, bin.lhs, false);
const child = try self.walkRef(file, parent_scope, bin.rhs, false);
- std.debug.print("AEHO\n", .{});
- // std.debug.print("bin = {}\n", .{bin});
- // std.debug.print("len = {}\n", .{len});
- // std.debug.print("child = {}\n", .{child});
-
const type_slot_index = self.types.items.len;
try self.types.append(self.arena, .{
.Array = .{
@@ -899,6 +885,7 @@ fn walkInstruction(
.child = child.expr,
},
});
+
return DocData.WalkResult{
.typeRef = .{ .type = @enumToInt(Ref.type_type) },
.expr = .{ .type = type_slot_index },
@@ -908,7 +895,7 @@ fn walkInstruction(
const pl_node = data[inst_index].pl_node;
const extra = file.zir.extraData(Zir.Inst.ArrayTypeSentinel, pl_node.payload_index);
const len = try self.walkRef(file, parent_scope, extra.data.len, false);
- const sentinel = try self.walkRef(file, parent_scope, extra.data.sentinel, false);
+ // const sentinel = try self.walkRef(file, parent_scope, extra.data.sentinel, false);
const elem_type = try self.walkRef(file, parent_scope, extra.data.elem_type, false);
const type_slot_index = self.types.items.len;
@@ -916,7 +903,7 @@ fn walkInstruction(
.Array = .{
.len = len.expr,
.child = elem_type.expr,
- .sentinel = sentinel.expr.int.value,
+ .sentinel = 0,
},
});
return DocData.WalkResult{
@@ -938,7 +925,6 @@ fn walkInstruction(
// we only ask to figure out type info for the first element
// as it will be used later on to find out the array type!
const wr = try self.walkRef(file, parent_scope, op, idx == 0);
- std.debug.print("wr: {any}\n", .{wr});
if (idx == 0) {
array_type = wr.typeRef;
@@ -979,7 +965,6 @@ fn walkInstruction(
// we only ask to figure out type info for the first element
// as it will be used later on to find out the array type!
const wr = try self.walkRef(file, parent_scope, op, idx == 0);
- std.debug.print("wr: {any}\n", .{wr});
if (idx == 0) {
array_type = wr.typeRef;
}
@@ -990,8 +975,6 @@ fn walkInstruction(
array_data[idx] = wr.expr.as.exprArg;
}
- // std.debug.print("array: {any}\n", .{array_data});
-
const type_slot_index = self.types.items.len;
try self.types.append(self.arena, .{
.Array = .{ .len = .{
@@ -1016,20 +999,15 @@ fn walkInstruction(
// TODO: make sure that you want the array to be fully normalized for real
// then update this code to conform to your choice.
- // std.debug.print("extra: {}\n", .{extra});
- // std.debug.print("operands: {any}\n", .{operands});
-
var array_type: ?DocData.Expr = null;
for (operands) |op, idx| {
// we only ask to figure out type info for the first element
// as it will be used later on to find out the array type!
const wr = try self.walkRef(file, parent_scope, op, idx == 0);
- // std.debug.print("wr: {any}\n", .{wr});
if (idx == 0) {
array_type = wr.typeRef;
}
- // std.debug.print("type: {}\n", .{@intToEnum(Ref, wr.typeRef.?.type)});
// create an untion to hold more than one type
switch (@intToEnum(Ref, wr.typeRef.?.type)) {
@@ -1044,8 +1022,6 @@ fn walkInstruction(
}
}
- // std.debug.print("array: {any}\n", .{array_data});
-
const type_slot_index = self.types.items.len;
try self.types.append(self.arena, .{
.Array = .{
@@ -1064,20 +1040,6 @@ fn walkInstruction(
.expr = .{ .array = array_data },
};
},
- // .validate_array_init_ty => {
- // const un_node = data[inst_index].un_node;
- // var operand: DocData.WalkResult = try self.walkRef(
- // file,
- // parent_scope,
- // un_node.operand,
- // need_type,
- // );
- //
- // std.debug.print("validate _ array => {}\n", .{un_node});
- // std.debug.print("operand = {}\n", .{operand});
- //
- // return operand;
- // },
.float => {
const float = data[inst_index].float;
return DocData.WalkResult{