aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--aidl_checkapi.cpp1
-rw-r--r--aidl_language.cpp5
-rw-r--r--aidl_language.h2
3 files changed, 8 insertions, 0 deletions
diff --git a/aidl_checkapi.cpp b/aidl_checkapi.cpp
index 47733c1b..b132494f 100644
--- a/aidl_checkapi.cpp
+++ b/aidl_checkapi.cpp
@@ -86,6 +86,7 @@ static vector<string> get_strict_annotations(const AidlAnnotatable& node) {
AidlAnnotation::Type::NULLABLE,
// @JavaDerive doesn't affect read/write
AidlAnnotation::Type::JAVA_DERIVE,
+ AidlAnnotation::Type::JAVA_DEFAULT,
AidlAnnotation::Type::JAVA_ONLY_IMMUTABLE,
// @Backing for a enum type is checked by the enum checker
AidlAnnotation::Type::BACKING,
diff --git a/aidl_language.cpp b/aidl_language.cpp
index 5bff95e5..22104774 100644
--- a/aidl_language.cpp
+++ b/aidl_language.cpp
@@ -128,6 +128,7 @@ const std::vector<AidlAnnotation::Schema>& AidlAnnotation::AllSchemas() {
"JavaDerive",
CONTEXT_TYPE_STRUCTURED_PARCELABLE | CONTEXT_TYPE_UNION,
{{"toString", kBooleanType}, {"equals", kBooleanType}}},
+ {AidlAnnotation::Type::JAVA_DEFAULT, "JavaDefault", CONTEXT_TYPE_INTERFACE, {}},
{AidlAnnotation::Type::JAVA_ONLY_IMMUTABLE,
"JavaOnlyImmutable",
CONTEXT_TYPE_STRUCTURED_PARCELABLE | CONTEXT_TYPE_UNION |
@@ -403,6 +404,10 @@ bool AidlAnnotatable::JavaDerive(const std::string& method) const {
return false;
}
+bool AidlAnnotatable::IsJavaDefault() const {
+ return GetAnnotation(annotations_, AidlAnnotation::Type::JAVA_DEFAULT);
+}
+
std::string AidlAnnotatable::GetDescriptor() const {
auto annotation = GetAnnotation(annotations_, AidlAnnotation::Type::DESCRIPTOR);
if (annotation != nullptr) {
diff --git a/aidl_language.h b/aidl_language.h
index e0c28a03..4e0f587d 100644
--- a/aidl_language.h
+++ b/aidl_language.h
@@ -209,6 +209,7 @@ class AidlAnnotation : public AidlNode {
SENSITIVE_DATA,
JAVA_PASSTHROUGH,
JAVA_DERIVE,
+ JAVA_DEFAULT,
JAVA_ONLY_IMMUTABLE,
FIXED_SIZE,
DESCRIPTOR,
@@ -325,6 +326,7 @@ class AidlAnnotatable : public AidlCommentable {
bool IsStableApiParcelable(Options::Language lang) const;
bool IsHide() const;
bool JavaDerive(const std::string& method) const;
+ bool IsJavaDefault() const;
std::string GetDescriptor() const;
const AidlAnnotation* UnsupportedAppUsage() const;