* Specifies the expression used when the caller doesn't supply an
* argument for this parameter.
*/
- public Expression default_expression { get; set; }
+ public Expression? default_expression {
+ get { return _default_expression; }
+ set {
+ _default_expression = value;
+ if (_default_expression != null) {
+ _default_expression.parent_node = this;
+ }
+ }
+ }
/**
* Specifies whether the array length should be passed implicitly
public string? ctype { get; set; }
private DataType _data_type;
+ private Expression? _default_expression;
/**
* Creates a new formal parameter.
}
}
+ public override void replace_expression (Expression old_node, Expression new_node) {
+ if (default_expression == old_node) {
+ default_expression = new_node;
+ }
+ }
+
private void process_ccode_attribute (Attribute a) {
if (a.has_argument ("type")) {
ctype = a.get_string ("type");