summaryrefslogtreecommitdiff
path: root/src/ast/ast.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ast/ast.cpp')
-rw-r--r--src/ast/ast.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/ast/ast.cpp b/src/ast/ast.cpp
index 0ec36f82..157461c1 100644
--- a/src/ast/ast.cpp
+++ b/src/ast/ast.cpp
@@ -84,11 +84,15 @@ Static Static::clone() const
return Static( m_class, m_type, m_value.is_valid() ? AST::Expr( m_value.node().clone() ) : AST::Expr() );
}
-Function::Function(Span sp, GenericParams params, TypeRef ret_type, Arglist args):
+Function::Function(Span sp, GenericParams params, ::std::string abi, bool is_unsafe, bool is_const, bool is_variadic, TypeRef ret_type, Arglist args):
m_span(sp),
m_params( move(params) ),
m_rettype( move(ret_type) ),
- m_args( move(args) )
+ m_args( move(args) ),
+ m_abi( mv$(abi) ),
+ m_is_const(is_const),
+ m_is_unsafe(is_unsafe),
+ m_is_variadic(is_variadic)
{
}
Function Function::clone() const
@@ -97,7 +101,7 @@ Function Function::clone() const
for(const auto& arg : m_args)
new_args.push_back( ::std::make_pair( arg.first.clone(), arg.second ) );
- auto rv = Function( m_span, m_params, m_rettype, mv$(new_args) );
+ auto rv = Function( m_span, m_params, m_abi, m_is_unsafe, m_is_const, m_is_variadic, m_rettype, mv$(new_args) );
if( m_code.is_valid() )
{
rv.m_code = AST::Expr( m_code.node().clone() );