Commit 876462f
fix: eliminate unreachable code in generated Java wire format unmarshal
The Java wire format unmarshal generator emitted fields after opaque
bail-out returns, producing unreachable code that failed go vet (868
errors). Three root causes fixed:
1. parcelable_gen.go: break out of the field loop after emitting an
opaque bail-out return instead of continuing to the next field.
Track bail-out state to suppress the trailing return nil and only
declare _err when reachable fields need it.
2. import_graph.go: add collectTypeNamesForCycleExpansion that includes
JavaWireFormat delegate/typed_object GoType references. Used only
for cycle type sub-package expansion (not import graph construction,
which would cause import cycles).
3. codegen.go: use the new function in expandCycleTypes so that types
referenced by JavaWireFormat struct fields are correctly generated
in types sub-packages.
Also removes 8 stale unreferenced types sub-package files that were no
longer generated by the pipeline.1 parent 8e98e6e commit 876462f
460 files changed
Lines changed: 107 additions & 8811 deletions
File tree
- android
- app
- admin
- ambientcontext
- assist
- blob
- contentsuggestions
- job
- people
- search
- servertransaction
- smartspace
- timedetector
- timezonedetector
- types
- usage
- wallpapereffectsgeneration
- bluetooth
- le
- types
- companion
- virtual
- camera
- sensor
- content
- integrity
- types
- pm
- permission
- types
- res
- rollback
- types
- credentials
- graphics/fonts
- hardware
- biometrics
- camera2
- impl
- params
- utils
- display
- face
- fingerprint
- input
- location
- radio
- soundtrigger
- usb
- location
- media
- audiopolicy
- metrics
- midi
- projection
- session
- tv
- ad
- interactive
- types
- net
- nfc
- cardemulation
- os
- connectivity
- storage
- types
- permission
- printservice/recommendation
- print
- types
- security
- attestationverification
- keystore
- recovery
- service
- ambientcontext
- autofill
- chooser
- controls
- templates
- credentials
- displayhash
- euicc
- games
- notification
- types
- quickaccesswallet
- quicksettings
- settings/suggestions
- timezone
- voice
- types
- speech
- tts
- telecom
- telephony
- data
- emergency
- euicc
- gba
- ims
- mbms
- satellite
- text
- util
- view
- accessibility
- contentcapture
- displayhash
- inputmethod
- types
- textclassifier
- textservice
- translation
- types
- types
- webkit
- widget
- inline
- window
- com/android
- ims
- internal_/uce/presence
- internal_
- app/procstats
- compat
- content
- infra
- inputmethod
- net
- statusbar
- telephony
- widget
- tools/pkg/codegen
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments