Commit 8e835fd3a2

Vallahor <vallahor91@gmail.com>
2022-05-29 11:27:03
add: handling binOp div
1 parent d5d27f2
Changed files (2)
lib
docs
src
lib/docs/main.js
@@ -1110,6 +1110,10 @@ var zigAnalysis;
                 break;
               }
               case 3: {
+                if (!expr.binOp.extact && !expr.binOp.floor && !expr.binOp.trunv) {
+                  operator += "/";
+                  break;
+                }
                 let print_div = "";
                 if (expr.binOp.exact) {
                   print_div = "@divExact(";
src/Autodoc.zig
@@ -1251,6 +1251,37 @@ fn walkInstruction(
             };
         },
 
+        .div => {
+            const pl_node = data[inst_index].pl_node;
+            const extra = file.zir.extraData(Zir.Inst.Bin, pl_node.payload_index);
+
+            const binop_index = self.exprs.items.len;
+            try self.exprs.append(self.arena, .{ .binOp = .{ .lhs = 0, .rhs = 0 } });
+
+            var lhs: DocData.WalkResult = try self.walkRef(
+                file,
+                parent_scope,
+                extra.data.lhs,
+                false,
+            );
+            var rhs: DocData.WalkResult = try self.walkRef(
+                file,
+                parent_scope,
+                extra.data.rhs,
+                false,
+            );
+
+            const lhs_index = self.exprs.items.len;
+            try self.exprs.append(self.arena, lhs.expr);
+            const rhs_index = self.exprs.items.len;
+            try self.exprs.append(self.arena, rhs.expr);
+            self.exprs.items[binop_index] = .{ .binOp = .{ .lhs = lhs_index, .rhs = rhs_index, .opKind = 3 } };
+
+            return DocData.WalkResult{
+                .typeRef = .{ .type = @enumToInt(Ref.type_type) },
+                .expr = .{ .binOpIndex = binop_index },
+            };
+        },
         .div_exact => {
             const pl_node = data[inst_index].pl_node;
             const extra = file.zir.extraData(Zir.Inst.Bin, pl_node.payload_index);