Commit ba630709 authored by Reg Huijben's avatar Reg Huijben
Browse files

resolve symbol-types for struct elements

parent 3aab2c6e
...@@ -117,6 +117,10 @@ RSTmodule (node *arg_node, info *arg_info) ...@@ -117,6 +117,10 @@ RSTmodule (node *arg_node, info *arg_info)
MODULE_FUNS (arg_node) = TRAVdo (MODULE_FUNS (arg_node), arg_info); MODULE_FUNS (arg_node) = TRAVdo (MODULE_FUNS (arg_node), arg_info);
} }
if (MODULE_STRUCTS (arg_node) != NULL) {
MODULE_STRUCTS (arg_node) = TRAVdo (MODULE_STRUCTS (arg_node), arg_info);
}
DBUG_RETURN (arg_node); DBUG_RETURN (arg_node);
} }
...@@ -361,6 +365,15 @@ RSTtype (node *arg_node, info *arg_info) ...@@ -361,6 +365,15 @@ RSTtype (node *arg_node, info *arg_info)
DBUG_RETURN (arg_node); DBUG_RETURN (arg_node);
} }
node *
RSTstructelem (node *arg_node, info *arg_info){
DBUG_ENTER ();
STRUCTELEM_TYPE (arg_node) = RSTntype (STRUCTELEM_TYPE (arg_node), arg_info);
DBUG_RETURN(arg_node);
}
node * node *
RSTdoResolveSymbolTypes (node *syntax_tree) RSTdoResolveSymbolTypes (node *syntax_tree)
{ {
......
...@@ -22,6 +22,7 @@ extern node *RSTavis (node *arg_node, info *arg_info); ...@@ -22,6 +22,7 @@ extern node *RSTavis (node *arg_node, info *arg_info);
extern node *RSTarray (node *arg_node, info *arg_info); extern node *RSTarray (node *arg_node, info *arg_info);
extern node *RSTcast (node *arg_node, info *arg_info); extern node *RSTcast (node *arg_node, info *arg_info);
extern node *RSTtype (node *arg_node, info *arg_info); extern node *RSTtype (node *arg_node, info *arg_info);
extern node *RSTstructelem (node *arg_node, info *arg_info);
extern node *RSTdoResolveSymbolTypes (node *syntax_tree); extern node *RSTdoResolveSymbolTypes (node *syntax_tree);
#endif #endif
...@@ -1458,6 +1458,7 @@ ...@@ -1458,6 +1458,7 @@
<node name="Objdef" /> <node name="Objdef" />
<node name="Type" /> <node name="Type" />
<node name="Cast" /> <node name="Cast" />
<node name="Structelem" />
</travuser> </travuser>
</traversal> </traversal>
<traversal id="OI" name="Object Initializer" default="sons" include="object_init.h"> <traversal id="OI" name="Object Initializer" default="sons" include="object_init.h">
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment