Hoist enforceInterface and escape onTransact
This change adds as check for user-defined transactions in order to call
enforceInterface before checking for different case in onTransact. It
also adds break statements to onTransact.
'system/tools/aidl/tests/golden_test.sh update' was used to update the
reference outputs.
Test: - builds and boots
- atest aidl_unittests CtsNdkBinderTestCases -m -c
- cd out/target/product/redfin/symbols/system/framework/arm64;
nm --size-sort -Sr boot-framework.oat | grep onTransact
- cd out/target/product/redfin/system/framework;
./apkanalyzer dex packages framework.jar | grep 'onTransact' |
sort -r -g -k 5,5 | awk '{$1=$2=$3=$4=""; print $0}')
Bug: 194712114
Change-Id: Ib13b0f694bd3bf151677abe98cdd3368c873beaf
diff --git a/ast_java.h b/ast_java.h
index d4e8944..a0076bb 100644
--- a/ast_java.h
+++ b/ast_java.h
@@ -254,6 +254,12 @@
void Write(CodeWriter* to) const override;
};
+struct BreakStatement : public Statement {
+ BreakStatement() = default;
+ virtual ~BreakStatement() = default;
+ void Write(CodeWriter* to) const override;
+};
+
struct TryStatement : public Statement {
std::shared_ptr<StatementBlock> statements = std::make_shared<StatementBlock>();