summaryrefslogtreecommitdiff
path: root/src/hir/expr_ptr.cpp
blob: 8231239c8f483ef4207f3273863a0d206f5cb3b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*
 */
#include <hir/expr_ptr.hpp>
#include <hir/expr.hpp>

::HIR::ExprPtr::ExprPtr():
    node(nullptr)
{
}
::HIR::ExprPtr::ExprPtr(::std::unique_ptr< ::HIR::ExprNode> v):
    node( v.release() )
{
}
::HIR::ExprPtr::~ExprPtr()
{
    delete node;
}
::std::unique_ptr< ::HIR::ExprNode> HIR::ExprPtr::into_unique()
{
    ::std::unique_ptr< ::HIR::ExprNode> rv( this->node );
    this->node = nullptr;
    return rv;
}
void ::HIR::ExprPtr::reset(::HIR::ExprNode* p)
{
    delete node;
    node = p;
}