diff options
author | Eugene Susla <eugenesusla@google.com> | 2019-10-22 17:32:08 -0700 |
---|---|---|
committer | Eugene Susla <eugenesusla@google.com> | 2019-11-01 17:53:56 +0000 |
commit | 322e8b17721a6956e00407e8d431ceecbd245b5c (patch) | |
tree | 9fe5a43411281cf93c377a2d6fcd326a299ec97e /tools/processors | |
parent | 4a0b1750ef697bb4f329a3beffe88bf46e1e6385 (diff) |
[codegen] Support nested classes
Adds support for arbitrarily-nested @DataClasses
Only static ones are supported for now
See FileInfo for the main implementation piece
Fixes: 139833958
Test: . frameworks/base/tests/Codegen/runTest.sh
Change-Id: I31cd16969788c47003a7a15a3573a4bf623ab960
Diffstat (limited to 'tools/processors')
-rw-r--r-- | tools/processors/staledataclass/src/android/processor/staledataclass/StaleDataclassProcessor.kt | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/tools/processors/staledataclass/src/android/processor/staledataclass/StaleDataclassProcessor.kt b/tools/processors/staledataclass/src/android/processor/staledataclass/StaleDataclassProcessor.kt index 7fe21c7aab3e..51faa49a86cc 100644 --- a/tools/processors/staledataclass/src/android/processor/staledataclass/StaleDataclassProcessor.kt +++ b/tools/processors/staledataclass/src/android/processor/staledataclass/StaleDataclassProcessor.kt @@ -208,7 +208,16 @@ class StaleDataclassProcessor: AbstractProcessor() { val refreshCmd = if (file != null) { "$CODEGEN_NAME $file" } else { - "find \$ANDROID_BUILD_TOP -path */${clazz.replace('.', '/')}.java -exec $CODEGEN_NAME {} \\;" + var gotTopLevelCalssName = false + val filePath = clazz.split(".") + .takeWhile { word -> + if (!gotTopLevelCalssName && word[0].isUpperCase()) { + gotTopLevelCalssName = true + return@takeWhile true + } + !gotTopLevelCalssName + }.joinToString("/") + "find \$ANDROID_BUILD_TOP -path */$filePath.java -exec $CODEGEN_NAME {} \\;" } } |