Skip to content

Commit 8672df9

Browse files
xaionaro@dx.centerxaionaro@dx.center
authored andcommitted
feat: spec2go — generate struct fields and marshal/unmarshal from JavaWireFormat
Bare AIDL parcelables (like android.location.Location) are declared without fields in AIDL but have wire format extracted from Java writeToParcel(). Generate Go struct fields and serialization code from this wire format data. Key changes: - parser.ParcelableDecl gains a JavaWireFormat field for wire layout - spec2go synthesizes FieldDecl entries from JavaWireFormat when a parcelable has no AIDL-defined fields - codegen generates custom MarshalParcel/UnmarshalParcel that handle conditional fields (bitmask guards) and opaque field skipping - Fields with invalid names, unresolvable conditions, or unknown types are treated as opaque and skipped - Duplicate field names are deduplicated with numeric suffixes - Java string constants (e.g. LocationProvider) are now generated as typed Go constants
1 parent ba05ba5 commit 8672df9

941 files changed

Lines changed: 69936 additions & 110 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

android/accessibilityservice/accessibilitygestureevent.go

Lines changed: 36 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

android/accessibilityservice/accessibilityserviceinfo.go

Lines changed: 265 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)