]> granicus.if.org Git - clang/commitdiff
Give a default implementation for ASTDeserializationListener's methods, no functional...
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Thu, 14 Oct 2010 20:14:28 +0000 (20:14 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Thu, 14 Oct 2010 20:14:28 +0000 (20:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116506 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Serialization/ASTDeserializationListener.h
lib/Frontend/FrontendAction.cpp
lib/Serialization/ASTCommon.cpp

index 3cccd0572c30120b0a3c7cb248d1fa349f3e9009..00860cd39bda107f0a8082818e19e6ea50a2367b 100644 (file)
@@ -26,26 +26,26 @@ class MacroDefinition;
   
 class ASTDeserializationListener {
 protected:
-  virtual ~ASTDeserializationListener() {}
+  virtual ~ASTDeserializationListener();
 
 public:
   /// \brief Tell the listener about the reader.
-  virtual void SetReader(ASTReader *Reader) = 0;
+  virtual void SetReader(ASTReader *Reader) { }
 
   /// \brief An identifier was deserialized from the AST file.
   virtual void IdentifierRead(serialization::IdentID ID,
-                              IdentifierInfo *II) = 0;
+                              IdentifierInfo *II) { }
   /// \brief A type was deserialized from the AST file. The ID here has the
   ///        qualifier bits already removed, and T is guaranteed to be locally
   ///        unqualified.
-  virtual void TypeRead(serialization::TypeIdx Idx, QualType T) = 0;
+  virtual void TypeRead(serialization::TypeIdx Idx, QualType T) { }
   /// \brief A decl was deserialized from the AST file.
-  virtual void DeclRead(serialization::DeclID ID, const Decl *D) = 0;
+  virtual void DeclRead(serialization::DeclID ID, const Decl *D) { }
   /// \brief A selector was read from the AST file.
-  virtual void SelectorRead(serialization::SelectorID iD, Selector Sel) = 0;
+  virtual void SelectorRead(serialization::SelectorID iD, Selector Sel) { }
   /// \brief A macro definition was read from the AST file.
   virtual void MacroDefinitionRead(serialization::MacroID, 
-                                   MacroDefinition *MD) = 0;
+                                   MacroDefinition *MD) { }
 };
 
 }
index 819aa52a508ebd1de4bac90aec26bc4101416e2e..97188919f9a8066f009ca0eb106ea7fe92d2c7a3 100644 (file)
@@ -42,13 +42,6 @@ public:
     if (Previous)
       Previous->DeclRead(ID, D);
   }
-
-  virtual void SetReader(ASTReader *Reader) {}
-  virtual void IdentifierRead(serialization::IdentID ID, IdentifierInfo *II) {}
-  virtual void TypeRead(serialization::TypeIdx Idx, QualType T) {}
-  virtual void SelectorRead(serialization::SelectorID iD, Selector Sel) {}
-  virtual void MacroDefinitionRead(serialization::MacroID,
-                                   MacroDefinition *MD) {}
 };
 
   /// \brief Checks deserialized declarations and emits error if a name
@@ -77,13 +70,6 @@ public:
       if (Previous)
         Previous->DeclRead(ID, D);
     }
-
-    virtual void SetReader(ASTReader *Reader) {}
-    virtual void IdentifierRead(serialization::IdentID ID, IdentifierInfo *II) {}
-    virtual void TypeRead(serialization::TypeIdx Idx, QualType T) {}
-    virtual void SelectorRead(serialization::SelectorID iD, Selector Sel) {}
-    virtual void MacroDefinitionRead(serialization::MacroID,
-                                     MacroDefinition *MD) {}
 };
 
 } // end anonymous namespace
index 77c1aff44b39159d14fab6442fb86a164b7e53c0..d5b7371086eca3d96dfc9933e3fa796390a4acae 100644 (file)
 //===----------------------------------------------------------------------===//
 
 #include "ASTCommon.h"
+#include "clang/Serialization/ASTDeserializationListener.h"
 #include "clang/Basic/IdentifierTable.h"
 #include "llvm/ADT/StringExtras.h"
 
 using namespace clang;
 
+// Give ASTDeserializationListener's VTable a home.
+ASTDeserializationListener::~ASTDeserializationListener() { }
+
 serialization::TypeIdx
 serialization::TypeIdxFromBuiltin(const BuiltinType *BT) {
   unsigned ID = 0;