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