1c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann//===- ExternalASTSource.cpp - Abstract External AST Interface --*- C++ -*-===//
2c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann//
3c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann//                     The LLVM Compiler Infrastructure
4c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann//
5c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann// This file is distributed under the University of Illinois Open Source
6c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann// License. See LICENSE.TXT for details.
7c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann//
8c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann//===----------------------------------------------------------------------===//
9c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann//
10c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann//  This file provides the default implementation of the ExternalASTSource
11c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann//  interface, which enables construction of AST nodes from some external
12c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann//  source.
13c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann//
14c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann//===----------------------------------------------------------------------===//
15c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann
16c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann#include "clang/AST/ExternalASTSource.h"
17c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann#include "clang/AST/DeclarationName.h"
18c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann
19c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumannusing namespace clang;
20c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann
21c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel NaumannExternalASTSource::~ExternalASTSource() { }
22c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann
23c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumannvoid ExternalASTSource::PrintStats() { }
24c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann
25c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel NaumannDecl *ExternalASTSource::GetExternalDecl(uint32_t ID) {
26c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann  return 0;
27c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann}
28c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann
29c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel NaumannSelector ExternalASTSource::GetExternalSelector(uint32_t ID) {
30c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann  return Selector();
31c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann}
32c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann
33c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumannuint32_t ExternalASTSource::GetNumExternalSelectors() {
34c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann   return 0;
35c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann}
36c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann
37c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel NaumannStmt *ExternalASTSource::GetExternalDeclStmt(uint64_t Offset) {
38c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann  return 0;
39c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann}
40c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann
41c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel NaumannCXXBaseSpecifier *
42c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel NaumannExternalASTSource::GetExternalCXXBaseSpecifiers(uint64_t Offset) {
43c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann  return 0;
44c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann}
45c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann
46c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel NaumannDeclContextLookupResult
47c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel NaumannExternalASTSource::FindExternalVisibleDeclsByName(const DeclContext *DC,
48c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann                                                  DeclarationName Name) {
49c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann  return DeclContext::lookup_result();
50c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann}
51c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann
52b346d2f419ec7d7ce6b20780d518490338efa7deNick Lewyckyvoid ExternalASTSource::completeVisibleDeclsMap(const DeclContext *DC) {
53b346d2f419ec7d7ce6b20780d518490338efa7deNick Lewycky}
54b346d2f419ec7d7ce6b20780d518490338efa7deNick Lewycky
55b346d2f419ec7d7ce6b20780d518490338efa7deNick LewyckyExternalLoadResult
56c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel NaumannExternalASTSource::FindExternalLexicalDecls(const DeclContext *DC,
57c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann                                            bool (*isKindWeWant)(Decl::Kind),
585f9e272e632e951b1efe824cd16acb4d96077930Chris Lattner                                         SmallVectorImpl<Decl*> &Result) {
59ba6ffaf21e465c0926d7fc5fa294ea52f8d45fafDouglas Gregor  return ELR_AlreadyLoaded;
60c304d9058ad69ff1fcbc6d19ca0be91acfa243a2Axel Naumann}
6169d891d45a29fdd0074ff3eb158694e95fef57e1Axel Naumann
6269d891d45a29fdd0074ff3eb158694e95fef57e1Axel Naumannvoid ExternalASTSource::getMemoryBufferSizes(MemoryBufferSizes &sizes) const { }
63