quick sort
This commit is contained in:
11
src/sema.zig
11
src/sema.zig
@@ -224,6 +224,13 @@ pub const Analyzer = struct {
|
||||
const elem_name = elem_type.displayName(self.allocator) catch return .void_type;
|
||||
return .{ .array_type = .{ .element_name = elem_name, .length = length } };
|
||||
}
|
||||
// Slice type: []T
|
||||
if (tn.data == .slice_type_expr) {
|
||||
const ste = tn.data.slice_type_expr;
|
||||
const elem_type = self.resolveTypeNode(ste.element_type);
|
||||
const elem_name = elem_type.displayName(self.allocator) catch return .void_type;
|
||||
return .{ .slice_type = .{ .element_name = elem_name } };
|
||||
}
|
||||
// Parameterized type: Vector(N, T) or generic struct
|
||||
if (tn.data == .parameterized_type_expr) {
|
||||
// For now, skip generic instantiation — just return void_type
|
||||
@@ -406,7 +413,7 @@ pub const Analyzer = struct {
|
||||
try self.analyzeNode(val);
|
||||
}
|
||||
},
|
||||
.enum_decl, .struct_decl, .union_decl, .array_type_expr, .array_literal, .parameterized_type_expr, .index_expr, .insert_expr => {},
|
||||
.enum_decl, .struct_decl, .union_decl, .array_type_expr, .slice_type_expr, .array_literal, .parameterized_type_expr, .index_expr, .insert_expr => {},
|
||||
.namespace_decl => |ns| {
|
||||
try self.pushScope();
|
||||
for (ns.decls) |d| {
|
||||
@@ -630,6 +637,7 @@ pub const Analyzer = struct {
|
||||
.builtin_expr,
|
||||
.import_decl,
|
||||
.array_type_expr,
|
||||
.slice_type_expr,
|
||||
.array_literal,
|
||||
.parameterized_type_expr,
|
||||
.index_expr,
|
||||
@@ -876,6 +884,7 @@ pub fn findNodeAtOffset(node: *Node, offset: u32) ?*Node {
|
||||
.union_decl,
|
||||
.import_decl,
|
||||
.array_type_expr,
|
||||
.slice_type_expr,
|
||||
.array_literal,
|
||||
.parameterized_type_expr,
|
||||
.index_expr,
|
||||
|
||||
Reference in New Issue
Block a user