This commit is contained in:
agra
2026-02-19 01:26:04 +02:00
parent fbf8a62362
commit e0e655cd36
11 changed files with 938 additions and 25 deletions

View File

@@ -337,7 +337,7 @@ pub const Analyzer = struct {
.comptime_expr => |ct| self.inferExprType(ct.expr),
.binary_op => |binop| {
switch (binop.op) {
.eq, .neq, .lt, .lte, .gt, .gte, .and_op, .or_op => return .boolean,
.eq, .neq, .lt, .lte, .gt, .gte, .and_op, .or_op, .in_op => return .boolean,
else => {
const lhs_ty = self.inferExprType(binop.lhs);
const rhs_ty = self.inferExprType(binop.rhs);
@@ -783,7 +783,14 @@ pub const Analyzer = struct {
.parameterized_type_expr,
.index_expr,
.slice_expr,
.tuple_type_expr,
.ufcs_alias,
=> {},
.tuple_literal => |tl| {
for (tl.elements) |elem| {
try self.analyzeNode(elem.value);
}
},
.deref_expr => |de| {
try self.analyzeNode(de.operand);
},
@@ -1062,7 +1069,14 @@ pub fn findNodeAtOffset(node: *Node, offset: u32) ?*Node {
.parameterized_type_expr,
.index_expr,
.slice_expr,
.tuple_type_expr,
.ufcs_alias,
=> {},
.tuple_literal => |tl| {
for (tl.elements) |elem| {
if (findNodeAtOffset(elem.value, offset)) |found| return found;
}
},
.deref_expr => |de| {
if (findNodeAtOffset(de.operand, offset)) |found| return found;
},