Support annotation for interface in hidl-gen.

Change-Id: I8b59695dad33473202b490ef0cb4bb928019b8ee
diff --git a/Interface.cpp b/Interface.cpp
index 158f874..451aca3 100644
--- a/Interface.cpp
+++ b/Interface.cpp
@@ -1,12 +1,16 @@
 #include "Interface.h"
 
+#include "Annotation.h"
 #include "Formatter.h"
 #include "Method.h"
 
 namespace android {
 
-Interface::Interface(Interface *super)
-    : mSuperType(super) {
+Interface::Interface(
+        Interface *super,
+        KeyedVector<std::string, Annotation *> *annotations)
+        : mSuperType(super),
+          mAnnotationsByName(annotations) {
 }
 
 void Interface::addMethod(Method *method) {
@@ -25,6 +29,10 @@
     return mMethods;
 }
 
+const KeyedVector<std::string, Annotation *> &Interface::annotations() const {
+    return *mAnnotationsByName;
+}
+
 std::string Interface::getCppType(StorageMode mode, std::string *extra) const {
     extra->clear();
     const std::string base = "::android::sp<" + fullName() + ">";