Add type printer to properly handle Kotlin style null syntax
This CL updates the handling of Kotlin-style null syntax (used in format v3). It now does a much more accurate job formatting types from Java syntax (and Java type use annotation syntax) into Kotlin-style nullness syntax. This cannot be done with simple things like replacing @Nullable with ? since the place for the annotations in the type expression is not the same as where the nullness suffix goes. This CL also adds --format=latest as an alias for --format=v3 and --format=recommended as an alias for --format=v2. (The alias values will change over time as the formats and recommendations evolve.) Bug: 123415058 Test: Many new unit tests Change-Id: I6622041f0966b99157db4fe60d534a55e658bd10
Showing
- src/main/java/com/android/tools/lint/checks/infrastructure/ClassName.kt 1 addition, 1 deletion...com/android/tools/lint/checks/infrastructure/ClassName.kt
- src/main/java/com/android/tools/metalava/AnnotationsMerger.kt 23 additions, 26 deletions...main/java/com/android/tools/metalava/AnnotationsMerger.kt
- src/main/java/com/android/tools/metalava/ApiAnalyzer.kt 3 additions, 0 deletionssrc/main/java/com/android/tools/metalava/ApiAnalyzer.kt
- src/main/java/com/android/tools/metalava/ComparisonVisitor.kt 4 additions, 4 deletions...main/java/com/android/tools/metalava/ComparisonVisitor.kt
- src/main/java/com/android/tools/metalava/Driver.kt 19 additions, 11 deletionssrc/main/java/com/android/tools/metalava/Driver.kt
- src/main/java/com/android/tools/metalava/NullnessMigration.kt 9 additions, 4 deletions...main/java/com/android/tools/metalava/NullnessMigration.kt
- src/main/java/com/android/tools/metalava/Options.kt 2 additions, 2 deletionssrc/main/java/com/android/tools/metalava/Options.kt
- src/main/java/com/android/tools/metalava/SignatureWriter.kt 16 additions, 29 deletionssrc/main/java/com/android/tools/metalava/SignatureWriter.kt
- src/main/java/com/android/tools/metalava/StubWriter.kt 6 additions, 3 deletionssrc/main/java/com/android/tools/metalava/StubWriter.kt
- src/main/java/com/android/tools/metalava/model/AnnotationItem.kt 8 additions, 0 deletions...n/java/com/android/tools/metalava/model/AnnotationItem.kt
- src/main/java/com/android/tools/metalava/model/TypeItem.kt 16 additions, 5 deletionssrc/main/java/com/android/tools/metalava/model/TypeItem.kt
- src/main/java/com/android/tools/metalava/model/psi/PsiBasedCodebase.kt 25 additions, 1 deletion.../com/android/tools/metalava/model/psi/PsiBasedCodebase.kt
- src/main/java/com/android/tools/metalava/model/psi/PsiClassItem.kt 26 additions, 3 deletions...java/com/android/tools/metalava/model/psi/PsiClassItem.kt
- src/main/java/com/android/tools/metalava/model/psi/PsiTypeItem.kt 175 additions, 144 deletions.../java/com/android/tools/metalava/model/psi/PsiTypeItem.kt
- src/main/java/com/android/tools/metalava/model/psi/PsiTypePrinter.kt 631 additions, 0 deletions...va/com/android/tools/metalava/model/psi/PsiTypePrinter.kt
- src/main/java/com/android/tools/metalava/model/text/TextTypeItem.kt 36 additions, 4 deletions...ava/com/android/tools/metalava/model/text/TextTypeItem.kt
- src/main/resources/version.properties 1 addition, 1 deletionsrc/main/resources/version.properties
- src/test/java/com/android/tools/metalava/AnnotationsMergerTest.kt 5 additions, 5 deletions.../java/com/android/tools/metalava/AnnotationsMergerTest.kt
- src/test/java/com/android/tools/metalava/ApiFileTest.kt 197 additions, 2 deletionssrc/test/java/com/android/tools/metalava/ApiFileTest.kt
- src/test/java/com/android/tools/metalava/CompatibilityCheckTest.kt 65 additions, 0 deletions...java/com/android/tools/metalava/CompatibilityCheckTest.kt
Loading