diff options
author | Steven Moreland <smoreland@google.com> | 2021-10-08 16:43:29 -0700 |
---|---|---|
committer | Steven Moreland <smoreland@google.com> | 2021-10-13 16:07:54 +0000 |
commit | 0cac866203c8eac402445ca7bcc281320963744b (patch) | |
tree | ecfb5751a82f97d6def87fc79520c4e43452787c /generate_java.cpp | |
parent | c29d717c12986564e33c896cccc2560615c83bce (diff) | |
download | aidl-0cac866203c8eac402445ca7bcc281320963744b.tar.gz |
Remove ArrayBase
This is the only place we really make copies of types. Removing it to
make it easier to avoid copy constructors to make it easier to add
invariants to the compiler.
Bug: 201584220
Test: aidl_unittests
Change-Id: I1898e7eeed866b3b175fcecc87a395ec701f75c8
Diffstat (limited to 'generate_java.cpp')
-rw-r--r-- | generate_java.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/generate_java.cpp b/generate_java.cpp index 52c92d56..34dd5e1b 100644 --- a/generate_java.cpp +++ b/generate_java.cpp @@ -97,7 +97,12 @@ void GenerateDescribeContentsHelper(CodeWriter& out, const set<string>& describe bool CanDescribeContents(const AidlTypeSpecifier& type, const AidlTypenames& types, set<string>* describers) { if (type.IsArray()) { - if (CanDescribeContents(type.ArrayBase(), types, describers)) { + bool canDescribe = false; + type.ViewAsArrayBase([&](const AidlTypeSpecifier& base) { + canDescribe = CanDescribeContents(base, types, describers); + }); + + if (canDescribe) { describers->insert("Array"); return true; } |