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>();