2323#include " clang/Sema/Lookup.h"
2424#include " clang/Sema/Sema.h"
2525#include " llvm/ADT/TinyPtrVector.h"
26+ #include " llvm/ADT/STLExtras.h"
2627#include " llvm/Support/CommandLine.h"
2728#include " llvm/Support/Compiler.h"
2829#include " llvm/Support/FileSystem.h"
@@ -717,6 +718,12 @@ class SDKNodeDeclAccessor: public SDKNodeDeclAbstractFunc {
717718 void jsonize (json::Output &Out) override ;
718719};
719720
721+ class SDKNodeDeclImport : public SDKNodeDecl {
722+ public:
723+ SDKNodeDeclImport (SDKNodeInitInfo Info);
724+ static bool classof (const SDKNode *N);
725+ };
726+
720727// The additional information we need for a type node in the digest.
721728// We use type node to represent entities more than types, e.g. parameters, so
722729// this struct is necessary to pass down to create a type node.
@@ -781,6 +788,8 @@ class SwiftDeclCollector: public VisibleDeclConsumer {
781788 void lookupVisibleDecls (ArrayRef<ModuleDecl *> Modules);
782789};
783790
791+ void detectRename (SDKNode *L, SDKNode *R);
792+
784793int dumpSwiftModules (const CompilerInvocation &InitInvok,
785794 const llvm::StringSet<> &ModuleNames,
786795 StringRef OutputDir,
@@ -799,6 +808,8 @@ int dumpSDKContent(const CompilerInvocation &InitInvok,
799808 const llvm::StringSet<> &ModuleNames,
800809 StringRef OutputFile, CheckerOptions Opts);
801810
811+ void dumpModuleContent (ModuleDecl *MD, StringRef OutputFile, bool ABI);
812+
802813// / Mostly for testing purposes, this function de-serializes the SDK dump in
803814// / dumpPath and re-serialize them to OutputPath. If the tool performs correctly,
804815// / the contents in dumpPath and OutputPath should be identical.
0 commit comments