set_cvalue (list, clist);
} else {
// used as expression
- var instance = create_temp_value (list.target_type, true, list);
+ var instance = create_temp_value (list.value_type, true, list);
var field_it = st.get_fields ().iterator ();
foreach (Expression expr in list.get_initializers ()) {
stdout.printf ("simple_struct.field = %d\n", simple_struct.field);
test_in_parameter (simple_struct);
+ test_in_parameter ({1});
test_in_nullable_parameter (simple_struct);
test_ref_parameter (ref simple_struct);
stdout.printf ("after test_ref_parameter: st.field = %d\n", simple_struct.field);
public override void accept (CodeVisitor visitor) {
visitor.visit_initializer_list (this);
+
+ visitor.visit_expression (this);
}
public override bool is_constant () {
if (!error) {
/* everything seems to be correct */
- value_type = target_type;
+ value_type = target_type.copy ();
+ value_type.nullable = false;
}
return !error;
}
codegen.visit_initializer_list (this);
+
+ codegen.visit_expression (this);
}
}