private void ExtendedWriteAccessorDesugaring(write_accessor_name write_accessor, simple_property simple_property, class_members members) { var write_accessor_procedure = write_accessor.pr as procedure_definition; //extended indexed property if (simple_property.parameter_list != null) { var proc_header_params = new List <ident>(); var proc_header_types = new List <type_definition>(); foreach (var param in simple_property.parameter_list.parameters) { foreach (var ident in param.names.idents) { proc_header_params.Add(ident); proc_header_types.Add(param.type); } } proc_header_params.Add(new ident("value")); proc_header_types.Add(simple_property.property_type); write_accessor_procedure.proc_header.parameters = SyntaxTreeBuilder.BuildFormalParameters( proc_header_params, proc_header_types); } else { write_accessor_procedure.proc_header.parameters.params_list[0].vars_type = simple_property.property_type; } members.Add(write_accessor_procedure); if (simple_property.attr == definition_attribute.Static) { write_accessor_procedure.proc_header.class_keyword = true; var proc_attr = new procedure_attribute(proc_attribute.attr_static); proc_attr.source_context = write_accessor_procedure.proc_header.source_context; write_accessor_procedure.proc_header.proc_attributes = new procedure_attributes_list(proc_attr); } }
public override void visit(write_accessor_name wn) { }
public virtual void visit(write_accessor_name _write_accessor_name) { DefaultVisit(_write_accessor_name); }
public virtual void post_do_visit(write_accessor_name _write_accessor_name) { }
public override void visit(write_accessor_name _write_accessor_name) { DefaultVisit(_write_accessor_name); pre_do_visit(_write_accessor_name); visit(write_accessor_name.accessor_name); post_do_visit(_write_accessor_name); }
public virtual void visit(write_accessor_name _write_accessor_name) { }
public override void visit(write_accessor_name _write_accessor_name) { throw new NotImplementedException(); }
public override void visit(write_accessor_name _write_accessor_name) { prepare_node(_write_accessor_name.accessor_name, "accessor name"); }
public override void visit(write_accessor_name _write_accessor_name) { executer.visit(_write_accessor_name); if (_write_accessor_name.accessor_name != null) this.visit((dynamic)_write_accessor_name.accessor_name); }