summaryrefslogtreecommitdiff
path: root/tools/processors
diff options
context:
space:
mode:
authorEugene Susla <eugenesusla@google.com>2019-10-22 17:32:08 -0700
committerEugene Susla <eugenesusla@google.com>2019-11-01 17:53:56 +0000
commit322e8b17721a6956e00407e8d431ceecbd245b5c (patch)
tree9fe5a43411281cf93c377a2d6fcd326a299ec97e /tools/processors
parent4a0b1750ef697bb4f329a3beffe88bf46e1e6385 (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.kt11
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 {} \\;"
}
}