class AidlAnnotation

Defined at line 226 of file ../../third_party/android/platform/system/tools/aidl/aidl_language.h

Public Members

static const TargetContext CONTEXT_TYPE_INTERFACE
static const TargetContext CONTEXT_TYPE_ENUM
static const TargetContext CONTEXT_TYPE_STRUCTURED_PARCELABLE
static const TargetContext CONTEXT_TYPE_UNION
static const TargetContext CONTEXT_TYPE_UNSTRUCTURED_PARCELABLE
static const TargetContext CONTEXT_TYPE
static const TargetContext CONTEXT_CONST
static const TargetContext CONTEXT_FIELD
static const TargetContext CONTEXT_METHOD
static const TargetContext CONTEXT_MEMBER
static const TargetContext CONTEXT_TYPE_SPECIFIER
static const TargetContext CONTEXT_ALL

Public Methods

std::string TypeToString (Type type)
std::unique_ptr<AidlAnnotation> Parse (const AidlLocation & location, const string & name, std::map<std::string, std::shared_ptr<AidlConstantValue>> parameter_list, const Comments & comments)
bool CheckValid ()
bool CheckContext (TargetContext context)
void ~AidlAnnotation ()

Defined at line 278 of file ../../third_party/android/platform/system/tools/aidl/aidl_language.h

const string & GetName ()

Defined at line 281 of file ../../third_party/android/platform/system/tools/aidl/aidl_language.h

const Type & GetType ()

Defined at line 282 of file ../../third_party/android/platform/system/tools/aidl/aidl_language.h

bool Repeatable ()

Defined at line 283 of file ../../third_party/android/platform/system/tools/aidl/aidl_language.h

string ToString ()

ToString is for dumping AIDL.

Returns string representation of this annotation.

e.g) "@RustDerive(Clone=true, Copy=true)"

template <typename T>
std::optional<T> ParamValue (const std::string & param_name)

Defined at line 1291 of file ../../third_party/android/platform/system/tools/aidl/aidl_language.h

std::map<std::string, std::string> AnnotationParams (const ConstantValueDecorator & decorator)
void DispatchVisit (AidlVisitor & v)

Defined at line 296 of file ../../third_party/android/platform/system/tools/aidl/aidl_language.h

void TraverseChildren (std::function<void (const AidlNode &)> traverse)
Result<unique_ptr<android::aidl::perm::Expression>> EnforceExpression ()

Enumerations

enum Type
Name Value
BACKING 1
JAVA_STABLE_PARCELABLE 2
NDK_STABLE_PARCELABLE 3
RUST_STABLE_PARCELABLE 4
UNSUPPORTED_APP_USAGE 5
VINTF_STABILITY 6
NULLABLE 7
UTF8_IN_CPP 8
SENSITIVE_DATA 9
JAVA_PASSTHROUGH 10
JAVA_DERIVE 11
JAVA_DEFAULT 12
JAVA_DELEGATOR 13
JAVA_ONLY_IMMUTABLE 14
JAVA_SUPPRESS_LINT 15
FIXED_SIZE 16
DESCRIPTOR 17
RUST_DERIVE 18
SUPPRESS_WARNINGS 19
PERMISSION_ENFORCE 20
PERMISSION_NONE 21
PERMISSION_MANUAL 22
PROPAGATE_ALLOW_BLOCKING 23

Defined at line 228 of file ../../third_party/android/platform/system/tools/aidl/aidl_language.h