Commit Graph

14 Commits

Author SHA1 Message Date
Eugene Susla
1f37e7a831 Fix IBinder parcelling
Fixes: 183547536
Test: . frameworks/base/tests/Codegen/runTest.sh

Change-Id: Ifffac8c560a8e2e9e0543d523738ad529af633e9
2021-03-23 16:20:22 -07:00
Eugene Susla
ddb2681455 Disregard annotation params for stale dataclass detection
Annotation processor seens annotation args with constants already inlined,
making it challenging to compare to the souce-generated metadata that contains
initial expressions.

For now just ignoring args for all non-DataClass annotations to prevent false positives

Test: . frameworks/base/tests/Codegen/runTest.sh
Exempt-From-Owner-Approval: changing metadata on multiple files
Change-Id: I640816ae0f20f36b1b828bc2161f53788c4a4dae
2020-11-04 12:40:58 -08:00
Eugene Susla
963ebe9569 Fix signature generation for nested annotaions
Test: . frameworks/base/tests/Codegen/runTest.sh
Change-Id: I240e1ab757c2d6efd6afbcf33b6a292eed4ea398
2020-11-03 12:57:34 -08:00
Eugene Susla
4150960e2d Relax literal initializer requirement when codegen detects constants
Test: . frameworks/base/tests/Codegen/runTest.sh
Fixes: 158195639
Change-Id: I93bdea18f348aeca896a9fd619bef2d65704bb41
2020-10-27 15:21:13 -07:00
Eugene Susla
77eeec1257 Fix codegen for wildcards in type args
Test: tests/Codegen/runTest.sh
Change-Id: I4b1f3c9d07ab2ddfa644983898ada309ff42b23e
2020-10-05 19:22:05 -07:00
Eugene Susla
ab14c55c1f Generate @NonNull setter args and @MaySetToNull to opt out
Bug: 143653080
Test: source /usr/local/google/home/eugenesusla/android2/master/frameworks/base/tests/Codegen/runTest.sh
Change-Id: Iba8da34c91fd09e266429ab131add1d53449506b
2020-02-25 19:04:47 -08:00
Eugene Susla
f745042916 Add @NonNull annotation to Builder.addXXX args
API guidelines is for each non-primitive arg to have a nullablility annotation.
Since it's very rate for collections to permit null values, just assume
collections only accept @NunNull emenents for now.

Fixes: 144725154
Test: . frameworks/base/tests/Codegen/runTest.sh
Change-Id: I333327490bd8eb9bb031f062c80283bd405173af
2019-11-18 16:39:55 -08:00
Eugene Susla
c5c636a5ea Fix codegen ArrayMap fields
Fixes: 143112074
Test: . frameworks/base/tests/Codegen/runTest.sh
Change-Id: Iec0fa89a91955f8b4e4b5b8d4dd9d7f0b30c608f
2019-11-05 18:14:24 -08:00
Eugene Susla
7daee0bba4 [codegen] Fix generation for files without end markers
This fixes a bug where cedegen fails for files that were generated before
end of generated code section markers were introduced.

Test: . master/frameworks/base/tests/Codegen/runTest.sh
Change-Id: Ia68e8124fcbdeeb2052067ba8731e68e42007529
2019-11-01 17:56:08 -07:00
Eugene Susla
322e8b1772 [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
2019-11-01 17:53:56 +00:00
Eugene Susla
1bfb5e7097 Add @NonNull to some generated methods' args
Test: . frameworks/base/tests/Codegen/runTest.sh
Fixes: 142783758
Change-Id: I7303d420efd59389c324b3e399fcb3532b5d6c37
2019-10-16 14:29:58 -07:00
Eugene Susla
f821caa266 Few minor codegen fixes
- (partially) fix annotations with array arg trigger stale false positive
 - support boxed primitives parcelling
 - support excluding generated code from Intellij auto-formatting

Fixes: 142086873, 142149372
Bug: 142132310
Test: . frameworks/base/tests/Codegen/runTest.sh
+ manually test auto-formatting
Change-Id: Ib6a44dee59f840cc11066aa9ff3517d957d1d010
2019-10-11 14:16:47 -07:00
Eugene Susla
05ef53ed1c Fix some stale dataclass detector false positives
Test: . frameworks/base/tests/Codegen/runTest.sh
Change-Id: I562bb4f238bdb28af49804e77c956e41a7bd198d
2019-10-08 16:16:30 -07:00
Eugene Susla
8cb1a41714 Add inheritance support for parcelable dataclasses
We don't want to recommend this, but some legacy framework classes use
inheritance, and it's easy enough to support

Fixes: 142081378
Test: . frameworks/base/tests/Codegen/runTest.sh
Change-Id: Ifb7f34abf1dfb871ac01b9a9a38dfee144e5f49a
2019-10-04 16:18:48 -07:00