--dumpapi with copyright/license headers
copyright/license headers should be included in snapshots.
With the change, newly created snapshots will have copyright/license
headers in each .aidl file.
* `m <name>-update-api` updates `current/` dump with copyright/license
headers.
* `m <name>-freeze-api` creates a new frozen dump with copyright/license
headers.
The change contains the updated `current/` dumps of aidl_interface
modules in /system/tools/aidl.
Bug: 172476424
Test: mmma system/toosl/aidl (checks if there's mismatch)
Change-Id: I2170c61ce7770a26bf6d9fdc9689842a38026b8d
diff --git a/aidl_language.h b/aidl_language.h
index 80d321e..6855aaf 100644
--- a/aidl_language.h
+++ b/aidl_language.h
@@ -76,6 +76,7 @@
bool ParseFloating(std::string_view sv, float* parsed);
class AidlDocument;
+class AidlPackage;
class AidlImport;
class AidlInterface;
class AidlParcelable;
@@ -115,6 +116,7 @@
virtual void Visit(const AidlBinaryConstExpression&) {}
virtual void Visit(const AidlAnnotation&) {}
virtual void Visit(const AidlImport&) {}
+ virtual void Visit(const AidlPackage&) {}
};
// Anything that is locatable in a .aidl file.
@@ -1169,9 +1171,19 @@
void DispatchVisit(AidlVisitor& v) const override { v.Visit(*this); }
};
-class AidlImport : public AidlNode {
+class AidlPackage : public AidlNode, public AidlCommentable {
public:
- AidlImport(const AidlLocation& location, const std::string& needed_class);
+ AidlPackage(const AidlLocation& location, const std::string& comments)
+ : AidlNode(location), AidlCommentable(comments) {}
+ virtual ~AidlPackage() = default;
+ void TraverseChildren(std::function<void(const AidlNode&)>) const {}
+ void DispatchVisit(AidlVisitor& v) const { v.Visit(*this); }
+};
+
+class AidlImport : public AidlNode, public AidlCommentable {
+ public:
+ AidlImport(const AidlLocation& location, const std::string& needed_class,
+ const std::string& comments);
virtual ~AidlImport() = default;
// non-copyable, non-movable
@@ -1189,11 +1201,13 @@
};
// AidlDocument models an AIDL file
-class AidlDocument : public AidlNode {
+class AidlDocument : public AidlNode, public AidlCommentable {
public:
- AidlDocument(const AidlLocation& location, std::vector<std::unique_ptr<AidlImport>>& imports,
- std::vector<std::unique_ptr<AidlDefinedType>>&& defined_types)
+ AidlDocument(const AidlLocation& location, const std::string& comments,
+ std::vector<std::unique_ptr<AidlImport>> imports,
+ std::vector<std::unique_ptr<AidlDefinedType>> defined_types)
: AidlNode(location),
+ AidlCommentable(comments),
imports_(std::move(imports)),
defined_types_(std::move(defined_types)) {}
~AidlDocument() = default;