blob: d5b7d57ae1c1a1e92158075833bd21c372e3aad4 [file] [log] [blame]
Sean Callanan2fc7e8d2011-12-03 03:15:28 +00001//===-- ClangExternalASTSourceCommon.cpp ------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "lldb/Symbol/ClangExternalASTSourceCommon.h"
11
12using namespace lldb_private;
13
14#define ClangExternalASTSourceCommon_MAGIC (0x00112233aabbccddull)
15
16ClangExternalASTSourceCommon::ClangExternalASTSourceCommon() : clang::ExternalASTSource()
17{
18 m_magic = ClangExternalASTSourceCommon_MAGIC;
19}
20
21uint64_t ClangExternalASTSourceCommon::GetMetadata (uintptr_t object)
22{
23 assert (m_magic == ClangExternalASTSourceCommon_MAGIC);
24
25 return m_metadata[object];
26}
27
28void ClangExternalASTSourceCommon::SetMetadata (uintptr_t object, uint64_t metadata)
29{
30 assert (m_magic == ClangExternalASTSourceCommon_MAGIC);
31
32 m_metadata[object] = metadata;
33}
34
35bool ClangExternalASTSourceCommon::HasMetadata (uintptr_t object)
36{
37 assert (m_magic == ClangExternalASTSourceCommon_MAGIC);
38
39 return m_metadata.find(object) != m_metadata.end();
40}