1*30fdc8d8SChris Lattner //===-- SBFunction.cpp ------------------------------------------*- C++ -*-===//
2*30fdc8d8SChris Lattner //
3*30fdc8d8SChris Lattner //                     The LLVM Compiler Infrastructure
4*30fdc8d8SChris Lattner //
5*30fdc8d8SChris Lattner // This file is distributed under the University of Illinois Open Source
6*30fdc8d8SChris Lattner // License. See LICENSE.TXT for details.
7*30fdc8d8SChris Lattner //
8*30fdc8d8SChris Lattner //===----------------------------------------------------------------------===//
9*30fdc8d8SChris Lattner 
10*30fdc8d8SChris Lattner #include "lldb/API/SBFunction.h"
11*30fdc8d8SChris Lattner #include "lldb/API/SBProcess.h"
12*30fdc8d8SChris Lattner #include "lldb/Symbol/Function.h"
13*30fdc8d8SChris Lattner 
14*30fdc8d8SChris Lattner using namespace lldb;
15*30fdc8d8SChris Lattner 
16*30fdc8d8SChris Lattner 
17*30fdc8d8SChris Lattner SBFunction::SBFunction () :
18*30fdc8d8SChris Lattner     m_lldb_object_ptr (NULL)
19*30fdc8d8SChris Lattner {
20*30fdc8d8SChris Lattner }
21*30fdc8d8SChris Lattner 
22*30fdc8d8SChris Lattner SBFunction::SBFunction (lldb_private::Function *lldb_object_ptr) :
23*30fdc8d8SChris Lattner     m_lldb_object_ptr (lldb_object_ptr)
24*30fdc8d8SChris Lattner {
25*30fdc8d8SChris Lattner }
26*30fdc8d8SChris Lattner 
27*30fdc8d8SChris Lattner SBFunction::~SBFunction ()
28*30fdc8d8SChris Lattner {
29*30fdc8d8SChris Lattner     m_lldb_object_ptr = NULL;
30*30fdc8d8SChris Lattner }
31*30fdc8d8SChris Lattner 
32*30fdc8d8SChris Lattner bool
33*30fdc8d8SChris Lattner SBFunction::IsValid () const
34*30fdc8d8SChris Lattner {
35*30fdc8d8SChris Lattner     return m_lldb_object_ptr != NULL;
36*30fdc8d8SChris Lattner }
37*30fdc8d8SChris Lattner 
38*30fdc8d8SChris Lattner const char *
39*30fdc8d8SChris Lattner SBFunction::GetName() const
40*30fdc8d8SChris Lattner {
41*30fdc8d8SChris Lattner     if (m_lldb_object_ptr)
42*30fdc8d8SChris Lattner         return m_lldb_object_ptr->GetMangled().GetName().AsCString();
43*30fdc8d8SChris Lattner     return NULL;
44*30fdc8d8SChris Lattner }
45*30fdc8d8SChris Lattner 
46*30fdc8d8SChris Lattner const char *
47*30fdc8d8SChris Lattner SBFunction::GetMangledName () const
48*30fdc8d8SChris Lattner {
49*30fdc8d8SChris Lattner     if (m_lldb_object_ptr)
50*30fdc8d8SChris Lattner         return m_lldb_object_ptr->GetMangled().GetMangledName().AsCString();
51*30fdc8d8SChris Lattner     return NULL;
52*30fdc8d8SChris Lattner }
53*30fdc8d8SChris Lattner 
54*30fdc8d8SChris Lattner bool
55*30fdc8d8SChris Lattner SBFunction::operator == (const SBFunction &rhs) const
56*30fdc8d8SChris Lattner {
57*30fdc8d8SChris Lattner     return m_lldb_object_ptr == rhs.m_lldb_object_ptr;
58*30fdc8d8SChris Lattner }
59*30fdc8d8SChris Lattner 
60*30fdc8d8SChris Lattner bool
61*30fdc8d8SChris Lattner SBFunction::operator != (const SBFunction &rhs) const
62*30fdc8d8SChris Lattner {
63*30fdc8d8SChris Lattner     return m_lldb_object_ptr != rhs.m_lldb_object_ptr;
64*30fdc8d8SChris Lattner }
65