Add @JavaPassthrough annotation
The AIDL annotation is used to pass Java annotation to the generated
java code. It is ignored in other backends like C++ and NDK.
Specifically, an AIDL method
@JavaPassthrough(annotation="@com.android.MyAnnotation")
void foo();
becomes a Java method
@com.android.MyAnnotation
void foo() extends RemoteException;
Note that the Java annotation syntax inside the "annotation" parameter
is not parsed. It's left to the Java compiler which will compile the
generated code.
Bug: 135686385
Test: run aidl_unittests
Change-Id: I3dbdb455f1e2ac62b327101e86a8984722c0cbb7
diff --git a/aidl_language.h b/aidl_language.h
index d63c9e0..4ed36fb 100644
--- a/aidl_language.h
+++ b/aidl_language.h
@@ -218,6 +218,7 @@
VINTF_STABILITY,
NULLABLE,
UTF8_IN_CPP,
+ JAVA_PASSTHROUGH,
};
static std::string TypeToString(Type type);
@@ -287,6 +288,7 @@
void DumpAnnotations(CodeWriter* writer) const;
const AidlAnnotation* UnsupportedAppUsage() const;
+ const AidlAnnotation* JavaPassthrough() const;
const AidlTypeSpecifier* BackingType(const AidlTypenames& typenames) const;
std::string ToString() const;