Fix properties renaming.
This commit is contained in:
@@ -49,7 +49,6 @@ emit_field :: (state : *Codegen_State, node : *AST_Node, indentation : int) {
|
|||||||
print_to_builder(*state.builder, "%", node.name);
|
print_to_builder(*state.builder, "%", node.name);
|
||||||
|
|
||||||
for i :0..node.children.count - 1 {
|
for i :0..node.children.count - 1 {
|
||||||
|
|
||||||
child := node.children[i];
|
child := node.children[i];
|
||||||
|
|
||||||
print_to_builder(*state.builder, " = ");
|
print_to_builder(*state.builder, " = ");
|
||||||
@@ -278,8 +277,7 @@ emit_node :: (state : *Codegen_State, node : *AST_Node, indentation : int) {
|
|||||||
indent(*state.builder, indentation);
|
indent(*state.builder, indentation);
|
||||||
|
|
||||||
type_var := h2tv(state.type_variables, node.type_variable);
|
type_var := h2tv(state.type_variables, node.type_variable);
|
||||||
print("type: %\n", type_var.typename);
|
is_properties := type_var.typename == "properties";
|
||||||
is_properties := node.name == "properties";
|
|
||||||
|
|
||||||
if !is_properties {
|
if !is_properties {
|
||||||
print_to_builder(*state.builder, "%", node.name);
|
print_to_builder(*state.builder, "%", node.name);
|
||||||
@@ -394,7 +392,6 @@ codegen :: (state : *Codegen_State) -> Codegen_Result {
|
|||||||
|
|
||||||
state.result.result_text = builder_to_string(*state.builder);
|
state.result.result_text = builder_to_string(*state.builder);
|
||||||
|
|
||||||
print("%\n", state.result.result_text);
|
|
||||||
return state.result;
|
return state.result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,6 @@ p :: properties {
|
|||||||
...
|
...
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
But this is not yet supported 100%.
|
|
||||||
|
|
||||||
## Jai Usage Example
|
## Jai Usage Example
|
||||||
|
|
||||||
@@ -171,7 +170,7 @@ Hint_Kind :: enum {
|
|||||||
|
|
||||||
## Notable missing features
|
## Notable missing features
|
||||||
|
|
||||||
- Control flow: if/else, for, while etc.
|
- Control flow: if/else, for, while, switch etc.
|
||||||
- Arrays
|
- Arrays
|
||||||
- Textures and samplers
|
- Textures and samplers
|
||||||
- Multiple render targets
|
- Multiple render targets
|
||||||
|
|||||||
@@ -1204,7 +1204,7 @@ create_variable :: (checker : *Semantic_Checker, node : *AST_Node, field_parent
|
|||||||
field_access_on_primitive_type(checker, node, find_result.type_variable);
|
field_access_on_primitive_type(checker, node, find_result.type_variable);
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
lookup_name : string;
|
lookup_name : string = variable.typename;
|
||||||
if variable.typename == "properties" {
|
if variable.typename == "properties" {
|
||||||
lookup_name = variable.name;
|
lookup_name = variable.name;
|
||||||
}
|
}
|
||||||
|
|||||||
15
test/codegen/property_rename.golden
Normal file
15
test/codegen/property_rename.golden
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
cbuffer __PROPERTIES : register(b0)
|
||||||
|
{
|
||||||
|
float4 color;
|
||||||
|
}
|
||||||
|
|
||||||
|
float4 vs_main(float4 pos : POSITION) : SV_POSITION
|
||||||
|
{
|
||||||
|
return pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
float4 ps_main() : SV_TARGET
|
||||||
|
{
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user