private void ExtendedReadAccessorDesugaring(read_accessor_name read_accessor, simple_property simple_property, class_members members) { var read_accessor_procedure = read_accessor.pr as procedure_definition; var func_header = (read_accessor_procedure.proc_header as function_header); func_header.return_type = simple_property.property_type; //extended indexed property if (simple_property.parameter_list != null) { var func_header_params = new List <ident>(); var func_header_types = new List <type_definition>(); foreach (var param in simple_property.parameter_list.parameters) { foreach (var ident in param.names.idents) { func_header_params.Add(ident); func_header_types.Add(param.type); } } func_header.parameters = SyntaxTreeBuilder.BuildFormalParameters( func_header_params, func_header_types); } members.Add(read_accessor_procedure); if (simple_property.attr == definition_attribute.Static) { read_accessor_procedure.proc_header.class_keyword = true; var proc_attr = new procedure_attribute(proc_attribute.attr_static); proc_attr.source_context = read_accessor_procedure.proc_header.source_context; read_accessor_procedure.proc_header.proc_attributes = new procedure_attributes_list(proc_attr); } }
public override void visit(read_accessor_name _read_accessor_name) { }
public override void visit(read_accessor_name wn) { DefaultVisit(wn); }
public virtual void visit(read_accessor_name _read_accessor_name) { DefaultVisit(_read_accessor_name); }
public virtual void post_do_visit(read_accessor_name _read_accessor_name) { }
public override void visit(read_accessor_name _read_accessor_name) { DefaultVisit(_read_accessor_name); pre_do_visit(_read_accessor_name); visit(read_accessor_name.accessor_name); post_do_visit(_read_accessor_name); }
public virtual void visit(read_accessor_name _read_accessor_name) { }
public override void visit(read_accessor_name _read_accessor_name) { throw new NotImplementedException(); }
public override void visit(read_accessor_name _read_accessor_name) { prepare_node(_read_accessor_name.accessor_name, "accessor name"); }
public override void visit(read_accessor_name _read_accessor_name) { executer.visit(_read_accessor_name); if (_read_accessor_name.accessor_name != null) this.visit((dynamic)_read_accessor_name.accessor_name); }