summaryrefslogtreecommitdiff
path: root/modules/TAO/TAO_IDL/fe/fe_utils.cpp
blob: ebd338096b3ada8a0fd0f730dfcd05ae9a2b8338 (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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// $Id$

#include "fe_utils.h"

#include "utl_scoped_name.h"
#include "utl_strlist.h"
#include "utl_namelist.h"
#include "utl_identifier.h"

FE_Utils::T_Ref_Info::T_Ref_Info (void)
  : name_ (0),
    params_ (0)
{
}

FE_Utils::T_Ref_Info::T_Ref_Info (UTL_ScopedName *n,
                                  UTL_StrList *strs)
  : name_ (n),
    params_ (strs)
{
}

void
FE_Utils::T_Ref_Info::destroy (void)
{
  if (name_ != 0)
    {
      name_->destroy ();
      delete name_;
      name_ = 0;
    }

  if (params_ != 0)
    {
      params_->destroy ();
      delete params_;
      params_ = 0;
    }
}

FE_Utils::T_Inst_Info::T_Inst_Info (UTL_ScopedName *n,
                                    UTL_NameList *args)
  : name_ (n),
    args_ (args)
{
}

void
FE_Utils::T_Inst_Info::destroy (void)
{
  // The template args are owned by the AST type.

  this->name_->destroy ();
  delete this->name_;
  this->name_ = 0;
}