Deprecate properties. Use hinted cbuffers instead. This opens up to use a structured buffer in that way as well if you want instead.

This commit is contained in:
2025-09-17 12:31:37 +02:00
parent 7fefe0ecf6
commit 607a6a0bed
27 changed files with 518 additions and 629 deletions

View File

@@ -1043,21 +1043,6 @@ declare_struct :: (checker : *Checker, node : *AST_Node) -> Type_Variable_Handle
return declare_struct(checker, node, node.name);
}
declare_properties :: (checker : *Checker, node : *AST_Node) -> Type_Variable_Handle {
name := ifx node.name.count == 0 then "properties" else node.name;
if node.name.count > 0 {
checker.ctx.property_name = name;
}
type_var := declare_struct(checker, node, name);
var := from_handle(checker, type_var);
var.type = .Properties;
var.typename = "properties";
var.resource_index = checker.current_buffer_index;
checker.current_buffer_index += 1;
return type_var;
}
declare_cbuffer :: (checker : *Checker, node : *AST_Node) -> Type_Variable_Handle {
type_var := declare_struct(checker, node);
var := from_handle(checker, type_var);
@@ -1779,8 +1764,6 @@ check_declaration :: (checker : *Checker, declaration : *AST_Node) {
} else {
fun_handle := declare_function(checker, declaration);
}
} else if declaration.kind == .Properties {
declare_properties(checker, declaration);
} else if declaration.kind == .Struct {
declare_struct(checker, declaration);
} else if declaration.kind == .CBuffer {
@@ -2450,16 +2433,6 @@ print_type_variable :: (ctx : *Compiler_Context, builder : *String_Builder, vari
node := variable.source_node;
if node {
if node.kind == {
case .Properties; {
if node.name.count > 0 {
print_to_builder(builder, "% : ", node.name);
}
append(builder, "properties");
}
case .Meta; {
append(builder, "meta");
}
case .Function; #through;
case .Struct; #through;
case .CBuffer; #through;