public static procedure_definition CreateFunctionDefinitionNode(method_name methName, formal_parameters formalPars, bool ofObject, bool classKeyword, statement procBody, type_definition returnType, SourceContext sc) { procedure_definition procDef = new procedure_definition(); function_header procHeader = new function_header(); procHeader.name = methName; procHeader.source_context = sc; if (procHeader.name.meth_name is template_type_name) { procHeader.template_args = (procHeader.name.meth_name as template_type_name).template_args; ident id = new ident(procHeader.name.meth_name.name); procHeader.name.meth_name = id; } procHeader.parameters = formalPars; procHeader.of_object = ofObject; procHeader.class_keyword = classKeyword; procHeader.return_type = returnType; statement_list stmtList = new statement_list(); stmtList.subnodes.Add(procBody); block bl = new block(null, null); bl.program_code = stmtList; procDef.proc_header = procHeader; procDef.proc_body = (proc_block)bl; return(procDef); }
public simple_property NewSimplePropertyDefinition(method_name qualified_identifier, property_interface property_interface, property_accessors property_specifiers, proc_attribute virt_over_none_attr, property_array_default array_defaultproperty, LexLocation loc) { var nnspd = new simple_property(); nnspd.virt_over_none_attr = virt_over_none_attr; List <ident> ln = null; if (qualified_identifier.ln != null) { ln = qualified_identifier.ln; } else if (qualified_identifier.class_name != null) { ln = new List <ident>(); ln.Add(qualified_identifier.class_name); } nnspd.property_name = new property_ident(qualified_identifier.meth_name.name, ln, qualified_identifier.source_context); if (property_interface != null) { nnspd.parameter_list = property_interface.parameter_list; nnspd.property_type = property_interface.property_type; nnspd.index_expression = property_interface.index_expression; } if (property_specifiers != null) { nnspd.accessors = property_specifiers; } if (array_defaultproperty != null) { nnspd.array_default = array_defaultproperty; } nnspd.source_context = loc; return(nnspd); }
public procedure_definition lambda(function_lambda_definition _function_lambda_definition) { procedure_definition _func_def = new procedure_definition(); method_name _method_name1 = new method_name(null, null, new ident(_function_lambda_definition.lambda_name), null); //parsertools.create_source_context(_method_name1, _method_name1.meth_name, _method_name1.meth_name); function_header _function_header1 = new function_header(); object rt1 = new object(); _function_header1.name = _method_name1; if (_function_header1.name.meth_name is template_type_name) { _function_header1.template_args = (_function_header1.name.meth_name as template_type_name).template_args; ident id = new ident(_function_header1.name.meth_name.name); //parsertools.create_source_context(id, _function_header1.name.meth_name, _function_header1.name.meth_name); _function_header1.name.meth_name = id; } formal_parameters fps = new PascalABCCompiler.SyntaxTree.formal_parameters(); _function_header1.parameters = _function_lambda_definition.formal_parameters;//fps; /*SyntaxTree.named_type_reference _named_type_reference = new SyntaxTree.named_type_reference(); * SyntaxTree.ident idtype = new SyntaxTree.ident("object"); * _named_type_reference.source_context = idtype.source_context; * _named_type_reference.names.Add(idtype); * rt1 = _named_type_reference; * _function_header1.return_type = (SyntaxTree.type_definition)_named_type_reference;*/ _function_header1.return_type = _function_lambda_definition.return_type; _function_header1.of_object = false; _function_header1.class_keyword = false; token_info _token_info = new token_info("function"); //_token_info.source_context = parsertools.GetTokenSourceContext(); //parsertools.create_source_context(_function_header1, _token_info, _token_info); block _block1 = new block(null, null); statement_list sl1 = new statement_list(); sl1.subnodes.Add(_function_lambda_definition.proc_body); _block1.program_code = sl1; _func_def.proc_header = _function_header1; _func_def.proc_body = (proc_block)_block1; if (_function_lambda_definition.defs != null) { if (((block)_func_def.proc_body).defs == null) { ((block)_func_def.proc_body).defs = new declarations(); } for (int l = 0; l < _function_lambda_definition.defs.Count; l++) { ((block)_func_def.proc_body).defs.defs.Add(_function_lambda_definition.defs[l] as procedure_definition); } } _function_lambda_definition.proc_definition = _func_def; //parsertools.create_source_context(_func_def, _function_header1, _function_header1); return(_func_def); }
public method_name NewQualifiedIdentifier(method_name qualified_identifier, ident identifier, LexLocation loc) { var nqi = qualified_identifier; nqi.class_name = nqi.meth_name; nqi.meth_name = identifier; nqi.source_context = loc; return(nqi); }
public override void visit(method_name _method_name) { if (_method_name.class_name != null) { _method_name.class_name.visit(this); } if (_method_name.explicit_interface_name != null) { _method_name.explicit_interface_name.visit(this); } if (_method_name.meth_name != null) { _method_name.meth_name.visit(this); } }
public override void visit(method_name _method_name) { if (!isInClass) { return; } if (_method_name?.meth_name?.name?.ToLower() == compiler_string_consts.deconstruct_method_name) { deconstructCount++; } if (deconstructCount > 1) { throw new SyntaxVisitorError("ONLY_ONE_DECONSTRUCT_ALLOWED", _method_name.Parent.source_context); } }
public simple_property NewSimplePropertyDefinition(method_name qualified_identifier, property_interface property_interface, property_accessors property_specifiers, property_array_default array_defaultproperty, LexLocation loc) { var nnspd = new simple_property(); nnspd.property_name = qualified_identifier.meth_name; if (property_interface != null) { nnspd.parameter_list = property_interface.parameter_list; nnspd.property_type = property_interface.property_type; nnspd.index_expression = property_interface.index_expression; } if (property_specifiers != null) { nnspd.accessors = property_specifiers; } if (array_defaultproperty != null) { nnspd.array_default = array_defaultproperty; } nnspd.source_context = loc; return(nnspd); }
public override void visit(method_name _method_name) { prepare_node(_method_name.class_name, "class name"); prepare_node(_method_name.meth_name, "method_name"); prepare_node(_method_name.explicit_interface_name, "explicit_interface_name"); }
public static procedure_definition BuildShortProcDefinition(formal_parameters fp, procedure_attributes_list att, method_name name, statement st, SourceContext headsc) { var ff = new procedure_header(fp, att, name, null, headsc); return(BuildShortProcFuncDefinition(ff, st)); }
public override void visit(method_name _method_name) { }
public virtual void visit(method_name _method_name) { DefaultVisit(_method_name); }
public virtual void visit(method_name _method_name) { }
public virtual void post_do_visit(method_name _method_name) { }
public override void visit(method_name _method_name) { DefaultVisit(_method_name); pre_do_visit(_method_name); for (int i = 0; i < ln.Count; i++) visit(method_name.ln[i]); visit(method_name.class_name); visit(method_name.meth_name); visit(method_name.explicit_interface_name); post_do_visit(_method_name); }
public override void visit(method_name _method_name) { executer.visit(_method_name); if (_method_name.class_name != null) this.visit((dynamic)_method_name.class_name); if (_method_name.meth_name != null) this.visit((dynamic)_method_name.meth_name); if (_method_name.explicit_interface_name != null) this.visit((dynamic)_method_name.explicit_interface_name); }
public static procedure_definition BuildShortFuncDefinition(formal_parameters fp, procedure_attributes_list att, method_name name, type_definition result, expression ex, SourceContext headsc) { var ff = new function_header(fp, att, name, null, result, headsc); procedure_definition pd = BuildShortProcFuncDefinition(ff, new assign("Result", ex, ex.source_context)); return(pd); }