Check the availability of types against SDK version
List<interface>, interface[]: at least Tiramisu in Java
ParcelableHolder: at least 31
Build system uses "current" as default min_sdk_version for
aidl_interface modules.
Bug: 205070744
Test: aidl_unittests
Test: aidl_integration_test
Change-Id: I8f7e86c4f87a8fd64b6f5b995000b3e32d7328b0
diff --git a/aidl.cpp b/aidl.cpp
index 90b593a..568ccb8 100644
--- a/aidl.cpp
+++ b/aidl.cpp
@@ -40,6 +40,7 @@
#include "aidl_dumpapi.h"
#include "aidl_language.h"
#include "aidl_typenames.h"
+#include "check_valid.h"
#include "generate_aidl_mappings.h"
#include "generate_cpp.h"
#include "generate_java.h"
@@ -596,6 +597,10 @@
VisitTopDown([](const AidlNode& n) { n.MarkVisited(); }, *doc);
}
+ if (!CheckValid(*document, options)) {
+ return AidlError::BAD_TYPE;
+ }
+
if (!ValidateAnnotationContext(*document)) {
return AidlError::BAD_TYPE;
}