Add Delegator support to the Java backend
This Delegator can be used as a wrapper around an interface of the same
type.
The Java Delegator class is gated behind the @JavaDelegator annotation.
The code is only generated when the annotation is present. This saves
code size for all of the interfaces that don't use this.
Test: atest aidl_integration_test aidl_unittests
Bug:198785815
Change-Id: I5231afd6f32c99e3af34a58eca5ad4a643ea04da
diff --git a/aidl_language.h b/aidl_language.h
index 226d8e3..9b16920 100644
--- a/aidl_language.h
+++ b/aidl_language.h
@@ -234,6 +234,7 @@
JAVA_PASSTHROUGH,
JAVA_DERIVE,
JAVA_DEFAULT,
+ JAVA_DELEGATOR,
JAVA_ONLY_IMMUTABLE,
JAVA_SUPPRESS_LINT,
FIXED_SIZE,
@@ -356,6 +357,7 @@
bool IsHide() const;
bool JavaDerive(const std::string& method) const;
bool IsJavaDefault() const;
+ bool IsJavaDelegator() const;
std::string GetDescriptor() const;
const AidlAnnotation* UnsupportedAppUsage() const;