130fdc8d8SChris Lattner //===-- SBFunction.cpp ------------------------------------------*- C++ -*-===//
230fdc8d8SChris Lattner //
330fdc8d8SChris Lattner //                     The LLVM Compiler Infrastructure
430fdc8d8SChris Lattner //
530fdc8d8SChris Lattner // This file is distributed under the University of Illinois Open Source
630fdc8d8SChris Lattner // License. See LICENSE.TXT for details.
730fdc8d8SChris Lattner //
830fdc8d8SChris Lattner //===----------------------------------------------------------------------===//
930fdc8d8SChris Lattner 
1030fdc8d8SChris Lattner #include "lldb/API/SBFunction.h"
1130fdc8d8SChris Lattner #include "lldb/API/SBProcess.h"
1230fdc8d8SChris Lattner #include "lldb/Symbol/Function.h"
1330fdc8d8SChris Lattner 
1430fdc8d8SChris Lattner using namespace lldb;
1530fdc8d8SChris Lattner 
1630fdc8d8SChris Lattner 
1730fdc8d8SChris Lattner SBFunction::SBFunction () :
18*6611103cSGreg Clayton     m_opaque_ptr (NULL)
1930fdc8d8SChris Lattner {
2030fdc8d8SChris Lattner }
2130fdc8d8SChris Lattner 
2230fdc8d8SChris Lattner SBFunction::SBFunction (lldb_private::Function *lldb_object_ptr) :
23*6611103cSGreg Clayton     m_opaque_ptr (lldb_object_ptr)
2430fdc8d8SChris Lattner {
2530fdc8d8SChris Lattner }
2630fdc8d8SChris Lattner 
2730fdc8d8SChris Lattner SBFunction::~SBFunction ()
2830fdc8d8SChris Lattner {
29*6611103cSGreg Clayton     m_opaque_ptr = NULL;
3030fdc8d8SChris Lattner }
3130fdc8d8SChris Lattner 
3230fdc8d8SChris Lattner bool
3330fdc8d8SChris Lattner SBFunction::IsValid () const
3430fdc8d8SChris Lattner {
35*6611103cSGreg Clayton     return m_opaque_ptr != NULL;
3630fdc8d8SChris Lattner }
3730fdc8d8SChris Lattner 
3830fdc8d8SChris Lattner const char *
3930fdc8d8SChris Lattner SBFunction::GetName() const
4030fdc8d8SChris Lattner {
41*6611103cSGreg Clayton     if (m_opaque_ptr)
42*6611103cSGreg Clayton         return m_opaque_ptr->GetMangled().GetName().AsCString();
4330fdc8d8SChris Lattner     return NULL;
4430fdc8d8SChris Lattner }
4530fdc8d8SChris Lattner 
4630fdc8d8SChris Lattner const char *
4730fdc8d8SChris Lattner SBFunction::GetMangledName () const
4830fdc8d8SChris Lattner {
49*6611103cSGreg Clayton     if (m_opaque_ptr)
50*6611103cSGreg Clayton         return m_opaque_ptr->GetMangled().GetMangledName().AsCString();
5130fdc8d8SChris Lattner     return NULL;
5230fdc8d8SChris Lattner }
5330fdc8d8SChris Lattner 
5430fdc8d8SChris Lattner bool
5530fdc8d8SChris Lattner SBFunction::operator == (const SBFunction &rhs) const
5630fdc8d8SChris Lattner {
57*6611103cSGreg Clayton     return m_opaque_ptr == rhs.m_opaque_ptr;
5830fdc8d8SChris Lattner }
5930fdc8d8SChris Lattner 
6030fdc8d8SChris Lattner bool
6130fdc8d8SChris Lattner SBFunction::operator != (const SBFunction &rhs) const
6230fdc8d8SChris Lattner {
63*6611103cSGreg Clayton     return m_opaque_ptr != rhs.m_opaque_ptr;
6430fdc8d8SChris Lattner }
65