void TSConstructObject::Build(Lexer::TTokenPos* source, std::vector<std::unique_ptr<TExpression>>& syntax_params, TGlobalBuildContext build_context) { std::vector<TExpressionResult> params_result; std::vector<TFormalParameter> params_formals; std::vector<TSOperation*> params; for (const std::unique_ptr<TExpression>& param_syntax : syntax_params) { auto t = new TSExpression(owner, method, parent, param_syntax.get()); t->Build(build_context); params.push_back(t); params_result.push_back(params.back()->GetFormalParameter()); params_formals.push_back(TFormalParameter(params_result.back().GetClass(), params_result.back().IsRef())); } Build(source, params_result, params, params_formals, build_context); }
TFormalParameter TSParameter::AsFormalParameter()const { return TFormalParameter(type.GetClass(),is_ref); }