blob: 3760050316c9b6bc03ed95c3c2d4d85a7cc7b26f [file]
// Code generated by go run gob_gen.go; DO NOT EDIT.
package java
import (
"android/soong/android"
"android/soong/dexpreopt"
"bytes"
"fmt"
"github.com/google/blueprint/gobtools"
"github.com/google/blueprint/proptools"
"github.com/google/blueprint/uniquelist"
"reflect"
"unsafe"
)
// begin of aar.go
func init() {
resourcesNodeGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(resourcesNode) })
AndroidLibraryInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(AndroidLibraryInfo) })
AARImportInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(AARImportInfo) })
JniPackageInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(JniPackageInfo) })
AARImportDepInSameApexCheckerGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(AARImportDepInSameApexChecker) })
AARInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(AARInfo) })
}
func (r resourcesNode) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.resPackage); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.manifest); err != nil {
return err
}
val1 := r.additionalManifests.Len() == 0
if err = gobtools.EncodeBool(buf, val1); err != nil {
return err
}
if !val1 {
if err = gobtools.EncodeReference(ctx, r.additionalManifests, buf, func(v uniquelist.UniqueList[android.Path], buf *bytes.Buffer) error {
val2 := v.ToSlice()
if val2 == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(val2)); err != nil {
return err
}
for val3 := 0; val3 < len(val2); val3++ {
if err = gobtools.EncodeInterface(ctx, buf, val2[val3]); err != nil {
return err
}
}
}
return nil
}); err != nil {
return err
}
}
if err = gobtools.EncodeInterface(ctx, buf, r.rTxt); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.rJar); err != nil {
return err
}
if err = r.assets.Encode(ctx, buf); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, r.usedResourceProcessor); err != nil {
return err
}
return err
}
func (r resourcesNode) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.resourcesNode")
hasher.WriteInt(7)
hasher.WriteString(":java.android.Path")
val1 := r.resPackage == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.resPackage); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.resPackage == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.resPackage.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.resPackage.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val4 := r.manifest == nil
if val4 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.manifest); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val5 := r.manifest == nil
if val5 {
hasher.WriteByte(0)
} else {
val6 := func(hasher *proptools.Hasher) error { return r.manifest.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
return err
}
}
}
} else {
r.manifest.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":.uniquelist.UniqueList[android.Path]")
val11 := func(hasher *proptools.Hasher, val7 android.Path) error {
hasher.WriteString(":java.android.Path")
val8 := val7 == nil
if val8 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val7); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val9 := val7 == nil
if val9 {
hasher.WriteByte(0)
} else {
val10 := func(hasher *proptools.Hasher) error { return val7.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val10); err != nil {
return err
}
}
}
} else {
val7.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.additionalManifests.Hash(hasher, "android.Path", val11); err != nil {
return err
}
hasher.WriteString(":java.android.Path")
val12 := r.rTxt == nil
if val12 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.rTxt); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val13 := r.rTxt == nil
if val13 {
hasher.WriteByte(0)
} else {
val14 := func(hasher *proptools.Hasher) error { return r.rTxt.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val14); err != nil {
return err
}
}
}
} else {
r.rTxt.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val15 := r.rJar == nil
if val15 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.rJar); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val16 := r.rJar == nil
if val16 {
hasher.WriteByte(0)
} else {
val17 := func(hasher *proptools.Hasher) error { return r.rJar.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val17); err != nil {
return err
}
}
}
} else {
r.rJar.(proptools.CustomHash).CustomHash(hasher)
}
}
if err := r.assets.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":.bool")
if r.usedResourceProcessor {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
return nil
}
func (r *resourcesNode) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.resPackage = nil
} else {
r.resPackage = val2.(android.Path)
}
if val4, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val4 == nil {
r.manifest = nil
} else {
r.manifest = val4.(android.Path)
}
var val6 bool
if err = gobtools.DecodeBool(buf, &val6); err != nil {
return err
}
if !val6 {
tmp, err := gobtools.DecodeReference(ctx, &r.additionalManifests, buf, func(value *uniquelist.UniqueList[android.Path], buf *bytes.Reader) error {
var val7 []android.Path
var val8 int
err = gobtools.DecodeInt(buf, &val8)
if err != nil {
return err
}
if val8 != -1 {
val7 = make([]android.Path, val8)
for val9 := 0; val9 < int(val8); val9++ {
if val11, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val11 == nil {
val7[val9] = nil
} else {
val7[val9] = val11.(android.Path)
}
}
}
*value = uniquelist.Make(val7)
return nil
})
if err != nil {
return err
}
r.additionalManifests = *tmp
}
if val13, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val13 == nil {
r.rTxt = nil
} else {
r.rTxt = val13.(android.Path)
}
if val15, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val15 == nil {
r.rJar = nil
} else {
r.rJar = val15.(android.Path)
}
if err = r.assets.Decode(ctx, buf); err != nil {
return err
}
err = gobtools.DecodeBool(buf, &r.usedResourceProcessor)
if err != nil {
return err
}
return err
}
var resourcesNodeGobRegId int16
func (r resourcesNode) GetTypeId() int16 {
return resourcesNodeGobRegId
}
func (r AndroidLibraryInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
return err
}
func (r AndroidLibraryInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.AndroidLibraryInfo")
hasher.WriteInt(0)
return nil
}
func (r *AndroidLibraryInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
return err
}
var AndroidLibraryInfoGobRegId int16
func (r AndroidLibraryInfo) GetTypeId() int16 {
return AndroidLibraryInfoGobRegId
}
func (r AARImportInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
return err
}
func (r AARImportInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.AARImportInfo")
hasher.WriteInt(0)
return nil
}
func (r *AARImportInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
return err
}
var AARImportInfoGobRegId int16
func (r AARImportInfo) GetTypeId() int16 {
return AARImportInfoGobRegId
}
func (r JniPackageInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.JniPackages == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.JniPackages)); err != nil {
return err
}
for val1 := 0; val1 < len(r.JniPackages); val1++ {
if err = gobtools.EncodeInterface(ctx, buf, r.JniPackages[val1]); err != nil {
return err
}
}
}
return err
}
func (r JniPackageInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.JniPackageInfo")
hasher.WriteInt(1)
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.JniPackages))
for val1 := 0; val1 < len(r.JniPackages); val1++ {
hasher.WriteString("android/soong/android:android.Path")
val2 := r.JniPackages[val1] == nil
if val2 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.JniPackages[val1]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val3 := r.JniPackages[val1] == nil
if val3 {
hasher.WriteByte(0)
} else {
val4 := func(hasher *proptools.Hasher) error {
return r.JniPackages[val1].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val4); err != nil {
return err
}
}
}
} else {
r.JniPackages[val1].(proptools.CustomHash).CustomHash(hasher)
}
}
}
return nil
}
func (r *JniPackageInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val3 int
err = gobtools.DecodeInt(buf, &val3)
if err != nil {
return err
}
if val3 != -1 {
r.JniPackages = make([]android.Path, val3)
for val4 := 0; val4 < int(val3); val4++ {
if val6, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val6 == nil {
r.JniPackages[val4] = nil
} else {
r.JniPackages[val4] = val6.(android.Path)
}
}
}
return err
}
var JniPackageInfoGobRegId int16
func (r JniPackageInfo) GetTypeId() int16 {
return JniPackageInfoGobRegId
}
func (r AARImportDepInSameApexChecker) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = r.BaseDepInSameApexChecker.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r AARImportDepInSameApexChecker) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.AARImportDepInSameApexChecker")
hasher.WriteInt(1)
if err := r.BaseDepInSameApexChecker.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *AARImportDepInSameApexChecker) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if err = r.BaseDepInSameApexChecker.Decode(ctx, buf); err != nil {
return err
}
return err
}
var AARImportDepInSameApexCheckerGobRegId int16
func (r AARImportDepInSameApexChecker) GetTypeId() int16 {
return AARImportDepInSameApexCheckerGobRegId
}
func (r AARInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.Aar); err != nil {
return err
}
return err
}
func (r AARInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.AARInfo")
hasher.WriteInt(1)
hasher.WriteString(":java.android.Path")
val1 := r.Aar == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.Aar); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.Aar == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.Aar.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.Aar.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
func (r *AARInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.Aar = nil
} else {
r.Aar = val2.(android.Path)
}
return err
}
var AARInfoGobRegId int16
func (r AARInfo) GetTypeId() int16 {
return AARInfoGobRegId
}
// end of aar.go
// begin of android_resources.go
func init() {
rroDirGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(rroDir) })
}
func (r rroDir) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.path); err != nil {
return err
}
if err = gobtools.EncodeInt(buf, int(r.overlayType)); err != nil {
return err
}
return err
}
func (r rroDir) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.rroDir")
hasher.WriteInt(2)
hasher.WriteString(":java.android.Path")
val1 := r.path == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.path); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.path == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.path.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.path.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.overlayType")
hasher.WriteString(":.int")
hasher.WriteUint64(uint64(int(r.overlayType)))
return nil
}
func (r *rroDir) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.path = nil
} else {
r.path = val2.(android.Path)
}
var val4 int
err = gobtools.DecodeInt(buf, &val4)
if err != nil {
return err
}
r.overlayType = overlayType(val4)
return err
}
var rroDirGobRegId int16
func (r rroDir) GetTypeId() int16 {
return rroDirGobRegId
}
// end of android_resources.go
// begin of apkcerts.go
func init() {
ApkCertInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ApkCertInfo) })
ApkCertsInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ApkCertsInfo) })
}
func (r ApkCertInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.ApkCertsFile); err != nil {
return err
}
if err = r.Certificate.Encode(ctx, buf); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.Name); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, r.Test); err != nil {
return err
}
return err
}
func (r ApkCertInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ApkCertInfo")
hasher.WriteInt(4)
hasher.WriteString(":java.android.Path")
val1 := r.ApkCertsFile == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ApkCertsFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.ApkCertsFile == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.ApkCertsFile.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.ApkCertsFile.(proptools.CustomHash).CustomHash(hasher)
}
}
if err := r.Certificate.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":.string")
hasher.WriteString(r.Name)
hasher.WriteString(":.bool")
if r.Test {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
return nil
}
func (r *ApkCertInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.ApkCertsFile = nil
} else {
r.ApkCertsFile = val2.(android.Path)
}
if err = r.Certificate.Decode(ctx, buf); err != nil {
return err
}
err = gobtools.DecodeString(buf, &r.Name)
if err != nil {
return err
}
err = gobtools.DecodeBool(buf, &r.Test)
if err != nil {
return err
}
return err
}
var ApkCertInfoGobRegId int16
func (r ApkCertInfo) GetTypeId() int16 {
return ApkCertInfoGobRegId
}
func (r ApkCertsInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r)); err != nil {
return err
}
for val1 := 0; val1 < len(r); val1++ {
if err = r[val1].Encode(ctx, buf); err != nil {
return err
}
}
}
return err
}
func (r ApkCertsInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":.[]ApkCertInfo")
hasher.WriteInt(len(r))
for val1 := 0; val1 < len(r); val1++ {
if err := r[val1].CustomHash(hasher); err != nil {
return err
}
}
return nil
}
func (r *ApkCertsInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
if val2 != -1 {
(*r) = make([]ApkCertInfo, val2)
for val3 := 0; val3 < int(val2); val3++ {
if err = (*r)[val3].Decode(ctx, buf); err != nil {
return err
}
}
}
return err
}
var ApkCertsInfoGobRegId int16
func (r ApkCertsInfo) GetTypeId() int16 {
return ApkCertsInfoGobRegId
}
// end of apkcerts.go
// begin of app.go
func init() {
FlagsPackagesGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(FlagsPackages) })
AppInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(AppInfo) })
CertificateGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(Certificate) })
AppDepInSameApexCheckerGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(AppDepInSameApexChecker) })
AndroidAppCertificateInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(AndroidAppCertificateInfo) })
BundleInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(BundleInfo) })
}
func (r FlagsPackages) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.AconfigTextFiles == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.AconfigTextFiles)); err != nil {
return err
}
for val1 := 0; val1 < len(r.AconfigTextFiles); val1++ {
if err = gobtools.EncodeInterface(ctx, buf, r.AconfigTextFiles[val1]); err != nil {
return err
}
}
}
return err
}
func (r FlagsPackages) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.FlagsPackages")
hasher.WriteInt(1)
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.AconfigTextFiles))
for val1 := 0; val1 < len(r.AconfigTextFiles); val1++ {
hasher.WriteString("android/soong/android:android.Path")
val2 := r.AconfigTextFiles[val1] == nil
if val2 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.AconfigTextFiles[val1]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val3 := r.AconfigTextFiles[val1] == nil
if val3 {
hasher.WriteByte(0)
} else {
val4 := func(hasher *proptools.Hasher) error {
return r.AconfigTextFiles[val1].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val4); err != nil {
return err
}
}
}
} else {
r.AconfigTextFiles[val1].(proptools.CustomHash).CustomHash(hasher)
}
}
}
return nil
}
func (r *FlagsPackages) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val3 int
err = gobtools.DecodeInt(buf, &val3)
if err != nil {
return err
}
if val3 != -1 {
r.AconfigTextFiles = make([]android.Path, val3)
for val4 := 0; val4 < int(val3); val4++ {
if val6, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val6 == nil {
r.AconfigTextFiles[val4] = nil
} else {
r.AconfigTextFiles[val4] = val6.(android.Path)
}
}
}
return err
}
var FlagsPackagesGobRegId int16
func (r FlagsPackages) GetTypeId() int16 {
return FlagsPackagesGobRegId
}
func (r AppInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeBool(buf, r.Updatable); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, r.TestHelperApp); err != nil {
return err
}
if r.EmbeddedJNILibs == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.EmbeddedJNILibs)); err != nil {
return err
}
for val1 := 0; val1 < len(r.EmbeddedJNILibs); val1++ {
if err = gobtools.EncodeInterface(ctx, buf, r.EmbeddedJNILibs[val1]); err != nil {
return err
}
}
}
if err = gobtools.EncodeInterface(ctx, buf, r.MergedManifestFile); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, r.Prebuilt); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, r.AppSet); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, r.Privileged); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.OutputFile); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.InstallApkName); err != nil {
return err
}
if err = r.JacocoInfo.Encode(ctx, buf); err != nil {
return err
}
if err = r.Certificate.Encode(ctx, buf); err != nil {
return err
}
if err = r.PrivAppAllowlist.Encode(ctx, buf); err != nil {
return err
}
if err = r.PreinstallAllowlist.Encode(ctx, buf); err != nil {
return err
}
val2 := r.OverriddenManifestPackageName == nil
if err = gobtools.EncodeBool(buf, val2); err != nil {
return err
}
if !val2 {
if err = gobtools.EncodeString(buf, (*r.OverriddenManifestPackageName)); err != nil {
return err
}
}
if err = gobtools.EncodeInterface(ctx, buf, r.ApkCertsFile); err != nil {
return err
}
if r.JniLibs == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.JniLibs)); err != nil {
return err
}
for val3 := 0; val3 < len(r.JniLibs); val3++ {
if err = r.JniLibs[val3].Encode(ctx, buf); err != nil {
return err
}
}
}
if r.JniCoverageOutputs == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.JniCoverageOutputs)); err != nil {
return err
}
for val4 := 0; val4 < len(r.JniCoverageOutputs); val4++ {
if err = gobtools.EncodeInterface(ctx, buf, r.JniCoverageOutputs[val4]); err != nil {
return err
}
}
}
if err = gobtools.EncodeInterface(ctx, buf, r.PackedAdditionalOutputs); err != nil {
return err
}
return err
}
func (r AppInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.AppInfo")
hasher.WriteInt(18)
hasher.WriteString(":.bool")
if r.Updatable {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":.bool")
if r.TestHelperApp {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.EmbeddedJNILibs))
for val1 := 0; val1 < len(r.EmbeddedJNILibs); val1++ {
hasher.WriteString("android/soong/android:android.Path")
val2 := r.EmbeddedJNILibs[val1] == nil
if val2 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.EmbeddedJNILibs[val1]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val3 := r.EmbeddedJNILibs[val1] == nil
if val3 {
hasher.WriteByte(0)
} else {
val4 := func(hasher *proptools.Hasher) error {
return r.EmbeddedJNILibs[val1].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val4); err != nil {
return err
}
}
}
} else {
r.EmbeddedJNILibs[val1].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Path")
val5 := r.MergedManifestFile == nil
if val5 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.MergedManifestFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val6 := r.MergedManifestFile == nil
if val6 {
hasher.WriteByte(0)
} else {
val7 := func(hasher *proptools.Hasher) error {
return r.MergedManifestFile.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val7); err != nil {
return err
}
}
}
} else {
r.MergedManifestFile.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":.bool")
if r.Prebuilt {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":.bool")
if r.AppSet {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":.bool")
if r.Privileged {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":java.android.Path")
val8 := r.OutputFile == nil
if val8 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.OutputFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val9 := r.OutputFile == nil
if val9 {
hasher.WriteByte(0)
} else {
val10 := func(hasher *proptools.Hasher) error { return r.OutputFile.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val10); err != nil {
return err
}
}
}
} else {
r.OutputFile.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":.string")
hasher.WriteString(r.InstallApkName)
if err := r.JacocoInfo.CustomHash(hasher); err != nil {
return err
}
if err := r.Certificate.CustomHash(hasher); err != nil {
return err
}
if err := r.PrivAppAllowlist.CustomHash(hasher); err != nil {
return err
}
if err := r.PreinstallAllowlist.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":.*string")
val11 := r.OverriddenManifestPackageName == nil
if val11 {
hasher.WriteByte(0)
} else {
val12 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.string")
hasher.WriteString((*r.OverriddenManifestPackageName))
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.OverriddenManifestPackageName)), val12); err != nil {
return err
}
}
hasher.WriteString(":java.android.Path")
val13 := r.ApkCertsFile == nil
if val13 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ApkCertsFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val14 := r.ApkCertsFile == nil
if val14 {
hasher.WriteByte(0)
} else {
val15 := func(hasher *proptools.Hasher) error { return r.ApkCertsFile.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val15); err != nil {
return err
}
}
}
} else {
r.ApkCertsFile.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":.[]jniLib")
hasher.WriteInt(len(r.JniLibs))
for val16 := 0; val16 < len(r.JniLibs); val16++ {
if err := r.JniLibs[val16].CustomHash(hasher); err != nil {
return err
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.JniCoverageOutputs))
for val17 := 0; val17 < len(r.JniCoverageOutputs); val17++ {
hasher.WriteString("android/soong/android:android.Path")
val18 := r.JniCoverageOutputs[val17] == nil
if val18 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.JniCoverageOutputs[val17]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val19 := r.JniCoverageOutputs[val17] == nil
if val19 {
hasher.WriteByte(0)
} else {
val20 := func(hasher *proptools.Hasher) error {
return r.JniCoverageOutputs[val17].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val20); err != nil {
return err
}
}
}
} else {
r.JniCoverageOutputs[val17].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Path")
val21 := r.PackedAdditionalOutputs == nil
if val21 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.PackedAdditionalOutputs); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val22 := r.PackedAdditionalOutputs == nil
if val22 {
hasher.WriteByte(0)
} else {
val23 := func(hasher *proptools.Hasher) error {
return r.PackedAdditionalOutputs.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val23); err != nil {
return err
}
}
}
} else {
r.PackedAdditionalOutputs.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
func (r *AppInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
err = gobtools.DecodeBool(buf, &r.Updatable)
if err != nil {
return err
}
err = gobtools.DecodeBool(buf, &r.TestHelperApp)
if err != nil {
return err
}
var val5 int
err = gobtools.DecodeInt(buf, &val5)
if err != nil {
return err
}
if val5 != -1 {
r.EmbeddedJNILibs = make([]android.Path, val5)
for val6 := 0; val6 < int(val5); val6++ {
if val8, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val8 == nil {
r.EmbeddedJNILibs[val6] = nil
} else {
r.EmbeddedJNILibs[val6] = val8.(android.Path)
}
}
}
if val10, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val10 == nil {
r.MergedManifestFile = nil
} else {
r.MergedManifestFile = val10.(android.Path)
}
err = gobtools.DecodeBool(buf, &r.Prebuilt)
if err != nil {
return err
}
err = gobtools.DecodeBool(buf, &r.AppSet)
if err != nil {
return err
}
err = gobtools.DecodeBool(buf, &r.Privileged)
if err != nil {
return err
}
if val15, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val15 == nil {
r.OutputFile = nil
} else {
r.OutputFile = val15.(android.Path)
}
err = gobtools.DecodeString(buf, &r.InstallApkName)
if err != nil {
return err
}
if err = r.JacocoInfo.Decode(ctx, buf); err != nil {
return err
}
if err = r.Certificate.Decode(ctx, buf); err != nil {
return err
}
if err = r.PrivAppAllowlist.Decode(ctx, buf); err != nil {
return err
}
if err = r.PreinstallAllowlist.Decode(ctx, buf); err != nil {
return err
}
var val22 bool
if err = gobtools.DecodeBool(buf, &val22); err != nil {
return err
}
if !val22 {
var val21 string
err = gobtools.DecodeString(buf, &val21)
if err != nil {
return err
}
r.OverriddenManifestPackageName = &val21
}
if val25, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val25 == nil {
r.ApkCertsFile = nil
} else {
r.ApkCertsFile = val25.(android.Path)
}
var val27 int
err = gobtools.DecodeInt(buf, &val27)
if err != nil {
return err
}
if val27 != -1 {
r.JniLibs = make([]jniLib, val27)
for val28 := 0; val28 < int(val27); val28++ {
if err = r.JniLibs[val28].Decode(ctx, buf); err != nil {
return err
}
}
}
var val32 int
err = gobtools.DecodeInt(buf, &val32)
if err != nil {
return err
}
if val32 != -1 {
r.JniCoverageOutputs = make([]android.Path, val32)
for val33 := 0; val33 < int(val32); val33++ {
if val35, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val35 == nil {
r.JniCoverageOutputs[val33] = nil
} else {
r.JniCoverageOutputs[val33] = val35.(android.Path)
}
}
}
if val37, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val37 == nil {
r.PackedAdditionalOutputs = nil
} else {
r.PackedAdditionalOutputs = val37.(android.Path)
}
return err
}
var AppInfoGobRegId int16
func (r AppInfo) GetTypeId() int16 {
return AppInfoGobRegId
}
func (r Certificate) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.Pem); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.Key); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, r.presigned); err != nil {
return err
}
return err
}
func (r Certificate) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.Certificate")
hasher.WriteInt(3)
hasher.WriteString(":java.android.Path")
val1 := r.Pem == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.Pem); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.Pem == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.Pem.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.Pem.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val4 := r.Key == nil
if val4 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.Key); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val5 := r.Key == nil
if val5 {
hasher.WriteByte(0)
} else {
val6 := func(hasher *proptools.Hasher) error { return r.Key.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
return err
}
}
}
} else {
r.Key.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":.bool")
if r.presigned {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
return nil
}
func (r *Certificate) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.Pem = nil
} else {
r.Pem = val2.(android.Path)
}
if val4, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val4 == nil {
r.Key = nil
} else {
r.Key = val4.(android.Path)
}
err = gobtools.DecodeBool(buf, &r.presigned)
if err != nil {
return err
}
return err
}
var CertificateGobRegId int16
func (r Certificate) GetTypeId() int16 {
return CertificateGobRegId
}
func (r AppDepInSameApexChecker) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = r.BaseDepInSameApexChecker.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r AppDepInSameApexChecker) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.AppDepInSameApexChecker")
hasher.WriteInt(1)
if err := r.BaseDepInSameApexChecker.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *AppDepInSameApexChecker) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if err = r.BaseDepInSameApexChecker.Decode(ctx, buf); err != nil {
return err
}
return err
}
var AppDepInSameApexCheckerGobRegId int16
func (r AppDepInSameApexChecker) GetTypeId() int16 {
return AppDepInSameApexCheckerGobRegId
}
func (r AndroidAppCertificateInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = r.Certificate.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r AndroidAppCertificateInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.AndroidAppCertificateInfo")
hasher.WriteInt(1)
if err := r.Certificate.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *AndroidAppCertificateInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if err = r.Certificate.Decode(ctx, buf); err != nil {
return err
}
return err
}
var AndroidAppCertificateInfoGobRegId int16
func (r AndroidAppCertificateInfo) GetTypeId() int16 {
return AndroidAppCertificateInfoGobRegId
}
func (r BundleInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.Bundle); err != nil {
return err
}
return err
}
func (r BundleInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.BundleInfo")
hasher.WriteInt(1)
hasher.WriteString(":java.android.Path")
val1 := r.Bundle == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.Bundle); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.Bundle == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.Bundle.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.Bundle.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
func (r *BundleInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.Bundle = nil
} else {
r.Bundle = val2.(android.Path)
}
return err
}
var BundleInfoGobRegId int16
func (r BundleInfo) GetTypeId() int16 {
return BundleInfoGobRegId
}
// end of app.go
// begin of app_import.go
func init() {
AppImportDepInSameApexCheckerGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(AppImportDepInSameApexChecker) })
}
func (r AppImportDepInSameApexChecker) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = r.BaseDepInSameApexChecker.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r AppImportDepInSameApexChecker) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.AppImportDepInSameApexChecker")
hasher.WriteInt(1)
if err := r.BaseDepInSameApexChecker.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *AppImportDepInSameApexChecker) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if err = r.BaseDepInSameApexChecker.Decode(ctx, buf); err != nil {
return err
}
return err
}
var AppImportDepInSameApexCheckerGobRegId int16
func (r AppImportDepInSameApexChecker) GetTypeId() int16 {
return AppImportDepInSameApexCheckerGobRegId
}
// end of app_import.go
// begin of base.go
func init() {
OptionalDexJarPathGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(OptionalDexJarPath) })
JavaDepInSameApexCheckerGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(JavaDepInSameApexChecker) })
JarJarProviderDataGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(JarJarProviderData) })
}
func (r OptionalDexJarPath) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeBool(buf, r.isSet); err != nil {
return err
}
if err = r.path.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r OptionalDexJarPath) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.OptionalDexJarPath")
hasher.WriteInt(2)
hasher.WriteString(":.bool")
if r.isSet {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
if err := r.path.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *OptionalDexJarPath) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
err = gobtools.DecodeBool(buf, &r.isSet)
if err != nil {
return err
}
if err = r.path.Decode(ctx, buf); err != nil {
return err
}
return err
}
var OptionalDexJarPathGobRegId int16
func (r OptionalDexJarPath) GetTypeId() int16 {
return OptionalDexJarPathGobRegId
}
func (r JavaDepInSameApexChecker) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = r.BaseDepInSameApexChecker.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r JavaDepInSameApexChecker) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.JavaDepInSameApexChecker")
hasher.WriteInt(1)
if err := r.BaseDepInSameApexChecker.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *JavaDepInSameApexChecker) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if err = r.BaseDepInSameApexChecker.Decode(ctx, buf); err != nil {
return err
}
return err
}
var JavaDepInSameApexCheckerGobRegId int16
func (r JavaDepInSameApexChecker) GetTypeId() int16 {
return JavaDepInSameApexCheckerGobRegId
}
func (r JarJarProviderData) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.Rename == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.Rename)); err != nil {
return err
}
for val1, val2 := range r.Rename {
if err = gobtools.EncodeString(buf, val1); err != nil {
return err
}
if err = gobtools.EncodeString(buf, val2); err != nil {
return err
}
}
}
return err
}
func (r JarJarProviderData) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.JarJarProviderData")
hasher.WriteInt(1)
hasher.WriteString(":java.android.JarJarRename")
hasher.WriteString(":.map[string]string")
hasher.WriteInt(len(r.Rename))
val1 := make([]string, 0, len(r.Rename))
for val3 := range r.Rename {
val1 = append(val1, val3)
}
proptools.SortOrdered(val1)
for _, val2 := range val1 {
hasher.WriteString(":.string")
hasher.WriteString(val2)
hasher.WriteString(":.string")
hasher.WriteString(r.Rename[val2])
}
return nil
}
func (r *JarJarProviderData) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
if val2 != -1 {
r.Rename = make(map[string]string, val2)
for val3 := 0; val3 < int(val2); val3++ {
var val4 string
var val5 string
err = gobtools.DecodeString(buf, &val4)
if err != nil {
return err
}
err = gobtools.DecodeString(buf, &val5)
if err != nil {
return err
}
r.Rename[val4] = val5
}
}
return err
}
var JarJarProviderDataGobRegId int16
func (r JarJarProviderData) GetTypeId() int16 {
return JarJarProviderDataGobRegId
}
// end of base.go
// begin of bootclasspath.go
func init() {
ApexVariantReferenceGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ApexVariantReference) })
}
func (r ApexVariantReference) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = r.BpPrintableBase.Encode(ctx, buf); err != nil {
return err
}
val1 := r.Apex == nil
if err = gobtools.EncodeBool(buf, val1); err != nil {
return err
}
if !val1 {
if err = gobtools.EncodeString(buf, (*r.Apex)); err != nil {
return err
}
}
val2 := r.Module == nil
if err = gobtools.EncodeBool(buf, val2); err != nil {
return err
}
if !val2 {
if err = gobtools.EncodeString(buf, (*r.Module)); err != nil {
return err
}
}
return err
}
func (r ApexVariantReference) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ApexVariantReference")
hasher.WriteInt(3)
if err := r.BpPrintableBase.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":.*string")
val1 := r.Apex == nil
if val1 {
hasher.WriteByte(0)
} else {
val2 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.string")
hasher.WriteString((*r.Apex))
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.Apex)), val2); err != nil {
return err
}
}
hasher.WriteString(":.*string")
val3 := r.Module == nil
if val3 {
hasher.WriteByte(0)
} else {
val4 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.string")
hasher.WriteString((*r.Module))
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.Module)), val4); err != nil {
return err
}
}
return nil
}
func (r *ApexVariantReference) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if err = r.BpPrintableBase.Decode(ctx, buf); err != nil {
return err
}
var val3 bool
if err = gobtools.DecodeBool(buf, &val3); err != nil {
return err
}
if !val3 {
var val2 string
err = gobtools.DecodeString(buf, &val2)
if err != nil {
return err
}
r.Apex = &val2
}
var val6 bool
if err = gobtools.DecodeBool(buf, &val6); err != nil {
return err
}
if !val6 {
var val5 string
err = gobtools.DecodeString(buf, &val5)
if err != nil {
return err
}
r.Module = &val5
}
return err
}
var ApexVariantReferenceGobRegId int16
func (r ApexVariantReference) GetTypeId() int16 {
return ApexVariantReferenceGobRegId
}
// end of bootclasspath.go
// begin of bootclasspath_fragment.go
func init() {
BootclasspathFragmentInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(BootclasspathFragmentInfo) })
BootclasspathFragmentApexContentInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(BootclasspathFragmentApexContentInfo) })
BootclasspathFragmentDepInSameApexCheckerGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(BootclasspathFragmentDepInSameApexChecker) })
ClasspathFragmentValidationInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ClasspathFragmentValidationInfo) })
}
func (r BootclasspathFragmentInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
val1 := r.ImageName == nil
if err = gobtools.EncodeBool(buf, val1); err != nil {
return err
}
if !val1 {
if err = gobtools.EncodeString(buf, (*r.ImageName)); err != nil {
return err
}
}
if r.Contents == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.Contents)); err != nil {
return err
}
for val2 := 0; val2 < len(r.Contents); val2++ {
if err = gobtools.EncodeString(buf, r.Contents[val2]); err != nil {
return err
}
}
}
if r.ApiStubLibs == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ApiStubLibs)); err != nil {
return err
}
for val3 := 0; val3 < len(r.ApiStubLibs); val3++ {
if err = gobtools.EncodeString(buf, r.ApiStubLibs[val3]); err != nil {
return err
}
}
}
if r.CorePlatformApiStubLibs == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.CorePlatformApiStubLibs)); err != nil {
return err
}
for val4 := 0; val4 < len(r.CorePlatformApiStubLibs); val4++ {
if err = gobtools.EncodeString(buf, r.CorePlatformApiStubLibs[val4]); err != nil {
return err
}
}
}
if r.Fragments == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.Fragments)); err != nil {
return err
}
for val5 := 0; val5 < len(r.Fragments); val5++ {
if err = r.Fragments[val5].Encode(ctx, buf); err != nil {
return err
}
}
}
if err = gobtools.EncodeInterface(ctx, buf, r.ProfilePathOnHost); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, r.DexPreoptProfileGuided); err != nil {
return err
}
return err
}
func (r BootclasspathFragmentInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.BootclasspathFragmentInfo")
hasher.WriteInt(7)
hasher.WriteString(":.*string")
val1 := r.ImageName == nil
if val1 {
hasher.WriteByte(0)
} else {
val2 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.string")
hasher.WriteString((*r.ImageName))
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.ImageName)), val2); err != nil {
return err
}
}
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.Contents))
for val3 := 0; val3 < len(r.Contents); val3++ {
hasher.WriteString(":.string")
hasher.WriteString(r.Contents[val3])
}
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.ApiStubLibs))
for val4 := 0; val4 < len(r.ApiStubLibs); val4++ {
hasher.WriteString(":.string")
hasher.WriteString(r.ApiStubLibs[val4])
}
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.CorePlatformApiStubLibs))
for val5 := 0; val5 < len(r.CorePlatformApiStubLibs); val5++ {
hasher.WriteString(":.string")
hasher.WriteString(r.CorePlatformApiStubLibs[val5])
}
hasher.WriteString(":.[]ApexVariantReference")
hasher.WriteInt(len(r.Fragments))
for val6 := 0; val6 < len(r.Fragments); val6++ {
if err := r.Fragments[val6].CustomHash(hasher); err != nil {
return err
}
}
hasher.WriteString(":java.android.Path")
val7 := r.ProfilePathOnHost == nil
if val7 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ProfilePathOnHost); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val8 := r.ProfilePathOnHost == nil
if val8 {
hasher.WriteByte(0)
} else {
val9 := func(hasher *proptools.Hasher) error {
return r.ProfilePathOnHost.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val9); err != nil {
return err
}
}
}
} else {
r.ProfilePathOnHost.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":.bool")
if r.DexPreoptProfileGuided {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
return nil
}
func (r *BootclasspathFragmentInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 bool
if err = gobtools.DecodeBool(buf, &val2); err != nil {
return err
}
if !val2 {
var val1 string
err = gobtools.DecodeString(buf, &val1)
if err != nil {
return err
}
r.ImageName = &val1
}
var val5 int
err = gobtools.DecodeInt(buf, &val5)
if err != nil {
return err
}
if val5 != -1 {
r.Contents = make([]string, val5)
for val6 := 0; val6 < int(val5); val6++ {
err = gobtools.DecodeString(buf, &r.Contents[val6])
if err != nil {
return err
}
}
}
var val9 int
err = gobtools.DecodeInt(buf, &val9)
if err != nil {
return err
}
if val9 != -1 {
r.ApiStubLibs = make([]string, val9)
for val10 := 0; val10 < int(val9); val10++ {
err = gobtools.DecodeString(buf, &r.ApiStubLibs[val10])
if err != nil {
return err
}
}
}
var val13 int
err = gobtools.DecodeInt(buf, &val13)
if err != nil {
return err
}
if val13 != -1 {
r.CorePlatformApiStubLibs = make([]string, val13)
for val14 := 0; val14 < int(val13); val14++ {
err = gobtools.DecodeString(buf, &r.CorePlatformApiStubLibs[val14])
if err != nil {
return err
}
}
}
var val17 int
err = gobtools.DecodeInt(buf, &val17)
if err != nil {
return err
}
if val17 != -1 {
r.Fragments = make([]ApexVariantReference, val17)
for val18 := 0; val18 < int(val17); val18++ {
if err = r.Fragments[val18].Decode(ctx, buf); err != nil {
return err
}
}
}
if val21, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val21 == nil {
r.ProfilePathOnHost = nil
} else {
r.ProfilePathOnHost = val21.(android.Path)
}
err = gobtools.DecodeBool(buf, &r.DexPreoptProfileGuided)
if err != nil {
return err
}
return err
}
var BootclasspathFragmentInfoGobRegId int16
func (r BootclasspathFragmentInfo) GetTypeId() int16 {
return BootclasspathFragmentInfoGobRegId
}
func (r BootclasspathFragmentApexContentInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.contentModuleDexJarPaths == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.contentModuleDexJarPaths)); err != nil {
return err
}
for val1, val2 := range r.contentModuleDexJarPaths {
if err = gobtools.EncodeString(buf, val1); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, val2); err != nil {
return err
}
}
}
if err = gobtools.EncodeInterface(ctx, buf, r.profilePathOnHost); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.profileInstallPathInApex); err != nil {
return err
}
return err
}
func (r BootclasspathFragmentApexContentInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.BootclasspathFragmentApexContentInfo")
hasher.WriteInt(3)
hasher.WriteString(":java.bootDexJarByModule")
hasher.WriteString(":.map[string]android.Path")
hasher.WriteInt(len(r.contentModuleDexJarPaths))
val1 := make([]string, 0, len(r.contentModuleDexJarPaths))
for val3 := range r.contentModuleDexJarPaths {
val1 = append(val1, val3)
}
proptools.SortOrdered(val1)
for _, val2 := range val1 {
hasher.WriteString(":.string")
hasher.WriteString(val2)
hasher.WriteString(":java.android.Path")
val4 := r.contentModuleDexJarPaths[val2] == nil
if val4 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.contentModuleDexJarPaths[val2]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val5 := r.contentModuleDexJarPaths[val2] == nil
if val5 {
hasher.WriteByte(0)
} else {
val6 := func(hasher *proptools.Hasher) error {
return r.contentModuleDexJarPaths[val2].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
return err
}
}
}
} else {
r.contentModuleDexJarPaths[val2].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Path")
val7 := r.profilePathOnHost == nil
if val7 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.profilePathOnHost); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val8 := r.profilePathOnHost == nil
if val8 {
hasher.WriteByte(0)
} else {
val9 := func(hasher *proptools.Hasher) error {
return r.profilePathOnHost.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val9); err != nil {
return err
}
}
}
} else {
r.profilePathOnHost.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":.string")
hasher.WriteString(r.profileInstallPathInApex)
return nil
}
func (r *BootclasspathFragmentApexContentInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
if val2 != -1 {
r.contentModuleDexJarPaths = make(map[string]android.Path, val2)
for val3 := 0; val3 < int(val2); val3++ {
var val4 string
var val5 android.Path
err = gobtools.DecodeString(buf, &val4)
if err != nil {
return err
}
if val8, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val8 == nil {
val5 = nil
} else {
val5 = val8.(android.Path)
}
r.contentModuleDexJarPaths[val4] = val5
}
}
if val10, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val10 == nil {
r.profilePathOnHost = nil
} else {
r.profilePathOnHost = val10.(android.Path)
}
err = gobtools.DecodeString(buf, &r.profileInstallPathInApex)
if err != nil {
return err
}
return err
}
var BootclasspathFragmentApexContentInfoGobRegId int16
func (r BootclasspathFragmentApexContentInfo) GetTypeId() int16 {
return BootclasspathFragmentApexContentInfoGobRegId
}
func (r BootclasspathFragmentDepInSameApexChecker) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = r.BaseDepInSameApexChecker.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r BootclasspathFragmentDepInSameApexChecker) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.BootclasspathFragmentDepInSameApexChecker")
hasher.WriteInt(1)
if err := r.BaseDepInSameApexChecker.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *BootclasspathFragmentDepInSameApexChecker) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if err = r.BaseDepInSameApexChecker.Decode(ctx, buf); err != nil {
return err
}
return err
}
var BootclasspathFragmentDepInSameApexCheckerGobRegId int16
func (r BootclasspathFragmentDepInSameApexChecker) GetTypeId() int16 {
return BootclasspathFragmentDepInSameApexCheckerGobRegId
}
func (r ClasspathFragmentValidationInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeString(buf, r.ClasspathFragmentModuleName); err != nil {
return err
}
if r.UnknownJars == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.UnknownJars)); err != nil {
return err
}
for val1 := 0; val1 < len(r.UnknownJars); val1++ {
if err = gobtools.EncodeString(buf, r.UnknownJars[val1]); err != nil {
return err
}
}
}
return err
}
func (r ClasspathFragmentValidationInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ClasspathFragmentValidationInfo")
hasher.WriteInt(2)
hasher.WriteString(":.string")
hasher.WriteString(r.ClasspathFragmentModuleName)
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.UnknownJars))
for val1 := 0; val1 < len(r.UnknownJars); val1++ {
hasher.WriteString(":.string")
hasher.WriteString(r.UnknownJars[val1])
}
return nil
}
func (r *ClasspathFragmentValidationInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
err = gobtools.DecodeString(buf, &r.ClasspathFragmentModuleName)
if err != nil {
return err
}
var val3 int
err = gobtools.DecodeInt(buf, &val3)
if err != nil {
return err
}
if val3 != -1 {
r.UnknownJars = make([]string, val3)
for val4 := 0; val4 < int(val3); val4++ {
err = gobtools.DecodeString(buf, &r.UnknownJars[val4])
if err != nil {
return err
}
}
}
return err
}
var ClasspathFragmentValidationInfoGobRegId int16
func (r ClasspathFragmentValidationInfo) GetTypeId() int16 {
return ClasspathFragmentValidationInfoGobRegId
}
// end of bootclasspath_fragment.go
// begin of classpath_fragment.go
func init() {
ClasspathFragmentProtoContentInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ClasspathFragmentProtoContentInfo) })
}
func (r ClasspathFragmentProtoContentInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeBool(buf, r.ClasspathFragmentProtoGenerated); err != nil {
return err
}
if err = r.ClasspathFragmentProtoContents.Encode(ctx, buf); err != nil {
return err
}
if err = r.ClasspathFragmentProtoOutput.Encode(ctx, buf); err != nil {
return err
}
if err = r.ClasspathFragmentProtoInstallDir.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r ClasspathFragmentProtoContentInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ClasspathFragmentProtoContentInfo")
hasher.WriteInt(4)
hasher.WriteString(":.bool")
if r.ClasspathFragmentProtoGenerated {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
if err := r.ClasspathFragmentProtoContents.CustomHash(hasher); err != nil {
return err
}
if err := r.ClasspathFragmentProtoOutput.CustomHash(hasher); err != nil {
return err
}
if err := r.ClasspathFragmentProtoInstallDir.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *ClasspathFragmentProtoContentInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
err = gobtools.DecodeBool(buf, &r.ClasspathFragmentProtoGenerated)
if err != nil {
return err
}
if err = r.ClasspathFragmentProtoContents.Decode(ctx, buf); err != nil {
return err
}
if err = r.ClasspathFragmentProtoOutput.Decode(ctx, buf); err != nil {
return err
}
if err = r.ClasspathFragmentProtoInstallDir.Decode(ctx, buf); err != nil {
return err
}
return err
}
var ClasspathFragmentProtoContentInfoGobRegId int16
func (r ClasspathFragmentProtoContentInfo) GetTypeId() int16 {
return ClasspathFragmentProtoContentInfoGobRegId
}
// end of classpath_fragment.go
// begin of dex.go
func init() {
ProguardInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ProguardInfo) })
ProguardInfosGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ProguardInfos) })
}
func (r ProguardInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeString(buf, r.ModuleName); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.Class); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.ProguardDictionary); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.ProguardUsageZip); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.ClassesJar); err != nil {
return err
}
return err
}
func (r ProguardInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ProguardInfo")
hasher.WriteInt(5)
hasher.WriteString(":.string")
hasher.WriteString(r.ModuleName)
hasher.WriteString(":.string")
hasher.WriteString(r.Class)
hasher.WriteString(":java.android.Path")
val1 := r.ProguardDictionary == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ProguardDictionary); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.ProguardDictionary == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error {
return r.ProguardDictionary.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.ProguardDictionary.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val4 := r.ProguardUsageZip == nil
if val4 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ProguardUsageZip); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val5 := r.ProguardUsageZip == nil
if val5 {
hasher.WriteByte(0)
} else {
val6 := func(hasher *proptools.Hasher) error {
return r.ProguardUsageZip.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
return err
}
}
}
} else {
r.ProguardUsageZip.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val7 := r.ClassesJar == nil
if val7 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ClassesJar); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val8 := r.ClassesJar == nil
if val8 {
hasher.WriteByte(0)
} else {
val9 := func(hasher *proptools.Hasher) error { return r.ClassesJar.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val9); err != nil {
return err
}
}
}
} else {
r.ClassesJar.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
func (r *ProguardInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
err = gobtools.DecodeString(buf, &r.ModuleName)
if err != nil {
return err
}
err = gobtools.DecodeString(buf, &r.Class)
if err != nil {
return err
}
if val4, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val4 == nil {
r.ProguardDictionary = nil
} else {
r.ProguardDictionary = val4.(android.Path)
}
if val6, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val6 == nil {
r.ProguardUsageZip = nil
} else {
r.ProguardUsageZip = val6.(android.Path)
}
if val8, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val8 == nil {
r.ClassesJar = nil
} else {
r.ClassesJar = val8.(android.Path)
}
return err
}
var ProguardInfoGobRegId int16
func (r ProguardInfo) GetTypeId() int16 {
return ProguardInfoGobRegId
}
func (r ProguardInfos) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r)); err != nil {
return err
}
for val1 := 0; val1 < len(r); val1++ {
if err = r[val1].Encode(ctx, buf); err != nil {
return err
}
}
}
return err
}
func (r ProguardInfos) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":.[]ProguardInfo")
hasher.WriteInt(len(r))
for val1 := 0; val1 < len(r); val1++ {
if err := r[val1].CustomHash(hasher); err != nil {
return err
}
}
return nil
}
func (r *ProguardInfos) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
if val2 != -1 {
(*r) = make([]ProguardInfo, val2)
for val3 := 0; val3 < int(val2); val3++ {
if err = (*r)[val3].Decode(ctx, buf); err != nil {
return err
}
}
}
return err
}
var ProguardInfosGobRegId int16
func (r ProguardInfos) GetTypeId() int16 {
return ProguardInfosGobRegId
}
// end of dex.go
// begin of dexpreopt.go
func init() {
DexpreopterInstallGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(DexpreopterInstall) })
}
func (r DexpreopterInstall) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.OutputPathOnHost); err != nil {
return err
}
if err = r.InstallDirOnDevice.Encode(ctx, buf); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.InstallFileOnDevice); err != nil {
return err
}
return err
}
func (r DexpreopterInstall) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.DexpreopterInstall")
hasher.WriteInt(3)
hasher.WriteString(":java.android.Path")
val1 := r.OutputPathOnHost == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.OutputPathOnHost); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.OutputPathOnHost == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error {
return r.OutputPathOnHost.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.OutputPathOnHost.(proptools.CustomHash).CustomHash(hasher)
}
}
if err := r.InstallDirOnDevice.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":.string")
hasher.WriteString(r.InstallFileOnDevice)
return nil
}
func (r *DexpreopterInstall) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.OutputPathOnHost = nil
} else {
r.OutputPathOnHost = val2.(android.Path)
}
if err = r.InstallDirOnDevice.Decode(ctx, buf); err != nil {
return err
}
err = gobtools.DecodeString(buf, &r.InstallFileOnDevice)
if err != nil {
return err
}
return err
}
var DexpreopterInstallGobRegId int16
func (r DexpreopterInstall) GetTypeId() int16 {
return DexpreopterInstallGobRegId
}
// end of dexpreopt.go
// begin of dexpreopt_bootjars.go
func init() {
artBootImageHostInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(artBootImageHostInfo) })
profileInstallInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(profileInstallInfo) })
}
func (r artBootImageHostInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.installs == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.installs)); err != nil {
return err
}
for val1 := 0; val1 < len(r.installs); val1++ {
if err = r.installs[val1].Encode(ctx, buf); err != nil {
return err
}
}
}
return err
}
func (r artBootImageHostInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.artBootImageHostInfo")
hasher.WriteInt(1)
hasher.WriteString(":java.android.RuleBuilderInstalls")
hasher.WriteString(":.[]RuleBuilderInstall")
hasher.WriteInt(len(r.installs))
for val1 := 0; val1 < len(r.installs); val1++ {
if err := r.installs[val1].CustomHash(hasher); err != nil {
return err
}
}
return nil
}
func (r *artBootImageHostInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val3 int
err = gobtools.DecodeInt(buf, &val3)
if err != nil {
return err
}
if val3 != -1 {
r.installs = make([]android.RuleBuilderInstall, val3)
for val4 := 0; val4 < int(val3); val4++ {
if err = r.installs[val4].Decode(ctx, buf); err != nil {
return err
}
}
}
return err
}
var artBootImageHostInfoGobRegId int16
func (r artBootImageHostInfo) GetTypeId() int16 {
return artBootImageHostInfoGobRegId
}
func (r profileInstallInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.profileInstalls == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.profileInstalls)); err != nil {
return err
}
for val1 := 0; val1 < len(r.profileInstalls); val1++ {
if err = r.profileInstalls[val1].Encode(ctx, buf); err != nil {
return err
}
}
}
if err = r.profileLicenseMetadataFile.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r profileInstallInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.profileInstallInfo")
hasher.WriteInt(2)
hasher.WriteString(":java.android.RuleBuilderInstalls")
hasher.WriteString(":.[]RuleBuilderInstall")
hasher.WriteInt(len(r.profileInstalls))
for val1 := 0; val1 < len(r.profileInstalls); val1++ {
if err := r.profileInstalls[val1].CustomHash(hasher); err != nil {
return err
}
}
if err := r.profileLicenseMetadataFile.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *profileInstallInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val3 int
err = gobtools.DecodeInt(buf, &val3)
if err != nil {
return err
}
if val3 != -1 {
r.profileInstalls = make([]android.RuleBuilderInstall, val3)
for val4 := 0; val4 < int(val3); val4++ {
if err = r.profileInstalls[val4].Decode(ctx, buf); err != nil {
return err
}
}
}
if err = r.profileLicenseMetadataFile.Decode(ctx, buf); err != nil {
return err
}
return err
}
var profileInstallInfoGobRegId int16
func (r profileInstallInfo) GetTypeId() int16 {
return profileInstallInfoGobRegId
}
// end of dexpreopt_bootjars.go
// begin of droiddoc.go
func init() {
ExportedDroiddocDirInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ExportedDroiddocDirInfo) })
}
func (r ExportedDroiddocDirInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.Deps == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.Deps)); err != nil {
return err
}
for val1 := 0; val1 < len(r.Deps); val1++ {
if err = gobtools.EncodeInterface(ctx, buf, r.Deps[val1]); err != nil {
return err
}
}
}
if err = gobtools.EncodeInterface(ctx, buf, r.Dir); err != nil {
return err
}
return err
}
func (r ExportedDroiddocDirInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ExportedDroiddocDirInfo")
hasher.WriteInt(2)
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.Deps))
for val1 := 0; val1 < len(r.Deps); val1++ {
hasher.WriteString("android/soong/android:android.Path")
val2 := r.Deps[val1] == nil
if val2 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.Deps[val1]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val3 := r.Deps[val1] == nil
if val3 {
hasher.WriteByte(0)
} else {
val4 := func(hasher *proptools.Hasher) error { return r.Deps[val1].(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val4); err != nil {
return err
}
}
}
} else {
r.Deps[val1].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Path")
val5 := r.Dir == nil
if val5 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.Dir); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val6 := r.Dir == nil
if val6 {
hasher.WriteByte(0)
} else {
val7 := func(hasher *proptools.Hasher) error { return r.Dir.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val7); err != nil {
return err
}
}
}
} else {
r.Dir.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
func (r *ExportedDroiddocDirInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val3 int
err = gobtools.DecodeInt(buf, &val3)
if err != nil {
return err
}
if val3 != -1 {
r.Deps = make([]android.Path, val3)
for val4 := 0; val4 < int(val3); val4++ {
if val6, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val6 == nil {
r.Deps[val4] = nil
} else {
r.Deps[val4] = val6.(android.Path)
}
}
}
if val8, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val8 == nil {
r.Dir = nil
} else {
r.Dir = val8.(android.Path)
}
return err
}
var ExportedDroiddocDirInfoGobRegId int16
func (r ExportedDroiddocDirInfo) GetTypeId() int16 {
return ExportedDroiddocDirInfoGobRegId
}
// end of droiddoc.go
// begin of droidstubs.go
func init() {
StubsInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(StubsInfo) })
DroidStubsInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(DroidStubsInfo) })
StubsSrcInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(StubsSrcInfo) })
UpdateApiInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(UpdateApiInfo) })
}
func (r StubsInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.ApiVersionsXml); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.AnnotationsZip); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.ApiFile); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.RemovedApiFile); err != nil {
return err
}
return err
}
func (r StubsInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.StubsInfo")
hasher.WriteInt(4)
hasher.WriteString(":java.android.Path")
val1 := r.ApiVersionsXml == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ApiVersionsXml); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.ApiVersionsXml == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error {
return r.ApiVersionsXml.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.ApiVersionsXml.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val4 := r.AnnotationsZip == nil
if val4 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.AnnotationsZip); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val5 := r.AnnotationsZip == nil
if val5 {
hasher.WriteByte(0)
} else {
val6 := func(hasher *proptools.Hasher) error {
return r.AnnotationsZip.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
return err
}
}
}
} else {
r.AnnotationsZip.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val7 := r.ApiFile == nil
if val7 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ApiFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val8 := r.ApiFile == nil
if val8 {
hasher.WriteByte(0)
} else {
val9 := func(hasher *proptools.Hasher) error { return r.ApiFile.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val9); err != nil {
return err
}
}
}
} else {
r.ApiFile.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val10 := r.RemovedApiFile == nil
if val10 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.RemovedApiFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val11 := r.RemovedApiFile == nil
if val11 {
hasher.WriteByte(0)
} else {
val12 := func(hasher *proptools.Hasher) error {
return r.RemovedApiFile.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val12); err != nil {
return err
}
}
}
} else {
r.RemovedApiFile.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
func (r *StubsInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.ApiVersionsXml = nil
} else {
r.ApiVersionsXml = val2.(android.Path)
}
if val4, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val4 == nil {
r.AnnotationsZip = nil
} else {
r.AnnotationsZip = val4.(android.Path)
}
if val6, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val6 == nil {
r.ApiFile = nil
} else {
r.ApiFile = val6.(android.Path)
}
if val8, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val8 == nil {
r.RemovedApiFile = nil
} else {
r.RemovedApiFile = val8.(android.Path)
}
return err
}
var StubsInfoGobRegId int16
func (r StubsInfo) GetTypeId() int16 {
return StubsInfoGobRegId
}
func (r DroidStubsInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.CheckedInApiFile); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.CheckedInRemovedApiFile); err != nil {
return err
}
if r.AconfigProtoFiles == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.AconfigProtoFiles)); err != nil {
return err
}
for val1 := 0; val1 < len(r.AconfigProtoFiles); val1++ {
if err = gobtools.EncodeInterface(ctx, buf, r.AconfigProtoFiles[val1]); err != nil {
return err
}
}
}
if err = gobtools.EncodeInterface(ctx, buf, r.CurrentApiTimestamp); err != nil {
return err
}
if err = r.EverythingStubsInfo.Encode(ctx, buf); err != nil {
return err
}
if err = r.ExportableStubsInfo.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r DroidStubsInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.DroidStubsInfo")
hasher.WriteInt(6)
hasher.WriteString(":java.android.Path")
val1 := r.CheckedInApiFile == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.CheckedInApiFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.CheckedInApiFile == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error {
return r.CheckedInApiFile.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.CheckedInApiFile.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val4 := r.CheckedInRemovedApiFile == nil
if val4 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.CheckedInRemovedApiFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val5 := r.CheckedInRemovedApiFile == nil
if val5 {
hasher.WriteByte(0)
} else {
val6 := func(hasher *proptools.Hasher) error {
return r.CheckedInRemovedApiFile.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
return err
}
}
}
} else {
r.CheckedInRemovedApiFile.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.AconfigProtoFiles))
for val7 := 0; val7 < len(r.AconfigProtoFiles); val7++ {
hasher.WriteString("android/soong/android:android.Path")
val8 := r.AconfigProtoFiles[val7] == nil
if val8 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.AconfigProtoFiles[val7]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val9 := r.AconfigProtoFiles[val7] == nil
if val9 {
hasher.WriteByte(0)
} else {
val10 := func(hasher *proptools.Hasher) error {
return r.AconfigProtoFiles[val7].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val10); err != nil {
return err
}
}
}
} else {
r.AconfigProtoFiles[val7].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Path")
val11 := r.CurrentApiTimestamp == nil
if val11 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.CurrentApiTimestamp); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val12 := r.CurrentApiTimestamp == nil
if val12 {
hasher.WriteByte(0)
} else {
val13 := func(hasher *proptools.Hasher) error {
return r.CurrentApiTimestamp.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val13); err != nil {
return err
}
}
}
} else {
r.CurrentApiTimestamp.(proptools.CustomHash).CustomHash(hasher)
}
}
if err := r.EverythingStubsInfo.CustomHash(hasher); err != nil {
return err
}
if err := r.ExportableStubsInfo.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *DroidStubsInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.CheckedInApiFile = nil
} else {
r.CheckedInApiFile = val2.(android.Path)
}
if val4, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val4 == nil {
r.CheckedInRemovedApiFile = nil
} else {
r.CheckedInRemovedApiFile = val4.(android.Path)
}
var val7 int
err = gobtools.DecodeInt(buf, &val7)
if err != nil {
return err
}
if val7 != -1 {
r.AconfigProtoFiles = make([]android.Path, val7)
for val8 := 0; val8 < int(val7); val8++ {
if val10, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val10 == nil {
r.AconfigProtoFiles[val8] = nil
} else {
r.AconfigProtoFiles[val8] = val10.(android.Path)
}
}
}
if val12, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val12 == nil {
r.CurrentApiTimestamp = nil
} else {
r.CurrentApiTimestamp = val12.(android.Path)
}
if err = r.EverythingStubsInfo.Decode(ctx, buf); err != nil {
return err
}
if err = r.ExportableStubsInfo.Decode(ctx, buf); err != nil {
return err
}
return err
}
var DroidStubsInfoGobRegId int16
func (r DroidStubsInfo) GetTypeId() int16 {
return DroidStubsInfoGobRegId
}
func (r StubsSrcInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.EverythingStubsSrcJar); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.ExportableStubsSrcJar); err != nil {
return err
}
return err
}
func (r StubsSrcInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.StubsSrcInfo")
hasher.WriteInt(2)
hasher.WriteString(":java.android.Path")
val1 := r.EverythingStubsSrcJar == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.EverythingStubsSrcJar); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.EverythingStubsSrcJar == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error {
return r.EverythingStubsSrcJar.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.EverythingStubsSrcJar.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val4 := r.ExportableStubsSrcJar == nil
if val4 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ExportableStubsSrcJar); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val5 := r.ExportableStubsSrcJar == nil
if val5 {
hasher.WriteByte(0)
} else {
val6 := func(hasher *proptools.Hasher) error {
return r.ExportableStubsSrcJar.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
return err
}
}
}
} else {
r.ExportableStubsSrcJar.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
func (r *StubsSrcInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.EverythingStubsSrcJar = nil
} else {
r.EverythingStubsSrcJar = val2.(android.Path)
}
if val4, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val4 == nil {
r.ExportableStubsSrcJar = nil
} else {
r.ExportableStubsSrcJar = val4.(android.Path)
}
return err
}
var StubsSrcInfoGobRegId int16
func (r StubsSrcInfo) GetTypeId() int16 {
return StubsSrcInfoGobRegId
}
func (r UpdateApiInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeString(buf, r.Name); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.SourceApiFile); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.GeneratedApiFile); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.SourceRemovedFile); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.GeneratedRemovedFile); err != nil {
return err
}
return err
}
func (r UpdateApiInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.UpdateApiInfo")
hasher.WriteInt(5)
hasher.WriteString(":.string")
hasher.WriteString(r.Name)
hasher.WriteString(":java.android.Path")
val1 := r.SourceApiFile == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.SourceApiFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.SourceApiFile == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.SourceApiFile.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.SourceApiFile.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val4 := r.GeneratedApiFile == nil
if val4 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.GeneratedApiFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val5 := r.GeneratedApiFile == nil
if val5 {
hasher.WriteByte(0)
} else {
val6 := func(hasher *proptools.Hasher) error {
return r.GeneratedApiFile.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
return err
}
}
}
} else {
r.GeneratedApiFile.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val7 := r.SourceRemovedFile == nil
if val7 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.SourceRemovedFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val8 := r.SourceRemovedFile == nil
if val8 {
hasher.WriteByte(0)
} else {
val9 := func(hasher *proptools.Hasher) error {
return r.SourceRemovedFile.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val9); err != nil {
return err
}
}
}
} else {
r.SourceRemovedFile.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val10 := r.GeneratedRemovedFile == nil
if val10 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.GeneratedRemovedFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val11 := r.GeneratedRemovedFile == nil
if val11 {
hasher.WriteByte(0)
} else {
val12 := func(hasher *proptools.Hasher) error {
return r.GeneratedRemovedFile.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val12); err != nil {
return err
}
}
}
} else {
r.GeneratedRemovedFile.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
func (r *UpdateApiInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
err = gobtools.DecodeString(buf, &r.Name)
if err != nil {
return err
}
if val3, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val3 == nil {
r.SourceApiFile = nil
} else {
r.SourceApiFile = val3.(android.Path)
}
if val5, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val5 == nil {
r.GeneratedApiFile = nil
} else {
r.GeneratedApiFile = val5.(android.Path)
}
if val7, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val7 == nil {
r.SourceRemovedFile = nil
} else {
r.SourceRemovedFile = val7.(android.Path)
}
if val9, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val9 == nil {
r.GeneratedRemovedFile = nil
} else {
r.GeneratedRemovedFile = val9.(android.Path)
}
return err
}
var UpdateApiInfoGobRegId int16
func (r UpdateApiInfo) GetTypeId() int16 {
return UpdateApiInfoGobRegId
}
// end of droidstubs.go
// begin of fuzz.go
func init() {
JavaFuzzTestInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(JavaFuzzTestInfo) })
}
func (r JavaFuzzTestInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.JniFilePaths == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.JniFilePaths)); err != nil {
return err
}
for val1 := 0; val1 < len(r.JniFilePaths); val1++ {
if err = gobtools.EncodeInterface(ctx, buf, r.JniFilePaths[val1]); err != nil {
return err
}
}
}
return err
}
func (r JavaFuzzTestInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.JavaFuzzTestInfo")
hasher.WriteInt(1)
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.JniFilePaths))
for val1 := 0; val1 < len(r.JniFilePaths); val1++ {
hasher.WriteString("android/soong/android:android.Path")
val2 := r.JniFilePaths[val1] == nil
if val2 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.JniFilePaths[val1]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val3 := r.JniFilePaths[val1] == nil
if val3 {
hasher.WriteByte(0)
} else {
val4 := func(hasher *proptools.Hasher) error {
return r.JniFilePaths[val1].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val4); err != nil {
return err
}
}
}
} else {
r.JniFilePaths[val1].(proptools.CustomHash).CustomHash(hasher)
}
}
}
return nil
}
func (r *JavaFuzzTestInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val3 int
err = gobtools.DecodeInt(buf, &val3)
if err != nil {
return err
}
if val3 != -1 {
r.JniFilePaths = make([]android.Path, val3)
for val4 := 0; val4 < int(val3); val4++ {
if val6, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val6 == nil {
r.JniFilePaths[val4] = nil
} else {
r.JniFilePaths[val4] = val6.(android.Path)
}
}
}
return err
}
var JavaFuzzTestInfoGobRegId int16
func (r JavaFuzzTestInfo) GetTypeId() int16 {
return JavaFuzzTestInfoGobRegId
}
// end of fuzz.go
// begin of hiddenapi_modular.go
func init() {
HiddenAPIScopeGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(HiddenAPIScope) })
FlagFilesByCategoryGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(FlagFilesByCategory) })
HiddenAPIInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(HiddenAPIInfo) })
HiddenAPIInfoForSdkGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(HiddenAPIInfoForSdk) })
ModuleStubDexJarsGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ModuleStubDexJars) })
HiddenAPIPropertyInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(HiddenAPIPropertyInfo) })
HiddenAPIFlagOutputGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(HiddenAPIFlagOutput) })
SignatureCsvSubsetGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(SignatureCsvSubset) })
SignatureCsvSubsetsGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(SignatureCsvSubsets) })
}
func (r HiddenAPIScope) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeString(buf, r.name); err != nil {
return err
}
if err = gobtools.EncodeInt(buf, int(r.sdkKind)); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.hiddenAPIListOption); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.nonUpdatableSourceModule); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.nonUpdatableFromTextModule); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.nonUpdatablePrebuiltModule); err != nil {
return err
}
return err
}
func (r HiddenAPIScope) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.HiddenAPIScope")
hasher.WriteInt(6)
hasher.WriteString(":.string")
hasher.WriteString(r.name)
hasher.WriteString(":java.android.SdkKind")
hasher.WriteString(":.int")
hasher.WriteUint64(uint64(int(r.sdkKind)))
hasher.WriteString(":.string")
hasher.WriteString(r.hiddenAPIListOption)
hasher.WriteString(":.string")
hasher.WriteString(r.nonUpdatableSourceModule)
hasher.WriteString(":.string")
hasher.WriteString(r.nonUpdatableFromTextModule)
hasher.WriteString(":.string")
hasher.WriteString(r.nonUpdatablePrebuiltModule)
return nil
}
func (r *HiddenAPIScope) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
err = gobtools.DecodeString(buf, &r.name)
if err != nil {
return err
}
var val3 int
err = gobtools.DecodeInt(buf, &val3)
if err != nil {
return err
}
r.sdkKind = android.SdkKind(val3)
err = gobtools.DecodeString(buf, &r.hiddenAPIListOption)
if err != nil {
return err
}
err = gobtools.DecodeString(buf, &r.nonUpdatableSourceModule)
if err != nil {
return err
}
err = gobtools.DecodeString(buf, &r.nonUpdatableFromTextModule)
if err != nil {
return err
}
err = gobtools.DecodeString(buf, &r.nonUpdatablePrebuiltModule)
if err != nil {
return err
}
return err
}
var HiddenAPIScopeGobRegId int16
func (r HiddenAPIScope) GetTypeId() int16 {
return HiddenAPIScopeGobRegId
}
func (r FlagFilesByCategory) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r)); err != nil {
return err
}
for val1, val2 := range r {
if err = gobtools.EncodeInt(buf, int(val1)); err != nil {
return err
}
if val2 == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(val2)); err != nil {
return err
}
for val3 := 0; val3 < len(val2); val3++ {
if err = gobtools.EncodeInterface(ctx, buf, val2[val3]); err != nil {
return err
}
}
}
}
}
return err
}
func (r FlagFilesByCategory) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":.map[hiddenAPIFlagFileCategory]android.Paths")
hasher.WriteInt(len(r))
val1 := make([]hiddenAPIFlagFileCategory, 0, len(r))
for val3 := range r {
val1 = append(val1, val3)
}
proptools.SortOrdered(val1)
for _, val2 := range val1 {
hasher.WriteString(":java.hiddenAPIFlagFileCategory")
hasher.WriteString(":.int")
hasher.WriteUint64(uint64(int(val2)))
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r[val2]))
for val4 := 0; val4 < len(r[val2]); val4++ {
hasher.WriteString("android/soong/android:android.Path")
val5 := r[val2][val4] == nil
if val5 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r[val2][val4]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val6 := r[val2][val4] == nil
if val6 {
hasher.WriteByte(0)
} else {
val7 := func(hasher *proptools.Hasher) error { return r[val2][val4].(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val7); err != nil {
return err
}
}
}
} else {
r[val2][val4].(proptools.CustomHash).CustomHash(hasher)
}
}
}
}
return nil
}
func (r *FlagFilesByCategory) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val1 int
err = gobtools.DecodeInt(buf, &val1)
if err != nil {
return err
}
if val1 != -1 {
(*r) = make(map[hiddenAPIFlagFileCategory]android.Paths, val1)
for val2 := 0; val2 < int(val1); val2++ {
var val3 hiddenAPIFlagFileCategory
var val4 android.Paths
var val6 int
err = gobtools.DecodeInt(buf, &val6)
if err != nil {
return err
}
val3 = hiddenAPIFlagFileCategory(val6)
var val10 int
err = gobtools.DecodeInt(buf, &val10)
if err != nil {
return err
}
if val10 != -1 {
val4 = make([]android.Path, val10)
for val11 := 0; val11 < int(val10); val11++ {
if val13, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val13 == nil {
val4[val11] = nil
} else {
val4[val11] = val13.(android.Path)
}
}
}
(*r)[val3] = val4
}
}
return err
}
var FlagFilesByCategoryGobRegId int16
func (r FlagFilesByCategory) GetTypeId() int16 {
return FlagFilesByCategoryGobRegId
}
func (r HiddenAPIInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.FlagFilesByCategory == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.FlagFilesByCategory)); err != nil {
return err
}
for val1, val2 := range r.FlagFilesByCategory {
if err = gobtools.EncodeInt(buf, int(val1)); err != nil {
return err
}
if val2 == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(val2)); err != nil {
return err
}
for val3 := 0; val3 < len(val2); val3++ {
if err = gobtools.EncodeInterface(ctx, buf, val2[val3]); err != nil {
return err
}
}
}
}
}
if r.TransitiveStubDexJarsByScope == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.TransitiveStubDexJarsByScope)); err != nil {
return err
}
for val4, val5 := range r.TransitiveStubDexJarsByScope {
if err = gobtools.EncodeString(buf, val4); err != nil {
return err
}
if val5 == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(val5)); err != nil {
return err
}
for val6, val7 := range val5 {
if err = gobtools.EncodeString(buf, val6); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, val7); err != nil {
return err
}
}
}
}
}
if err = r.HiddenAPIFlagOutput.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r HiddenAPIInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.HiddenAPIInfo")
hasher.WriteInt(3)
hasher.WriteString(":java.FlagFilesByCategory")
hasher.WriteString(":.map[hiddenAPIFlagFileCategory]android.Paths")
hasher.WriteInt(len(r.FlagFilesByCategory))
val1 := make([]hiddenAPIFlagFileCategory, 0, len(r.FlagFilesByCategory))
for val3 := range r.FlagFilesByCategory {
val1 = append(val1, val3)
}
proptools.SortOrdered(val1)
for _, val2 := range val1 {
hasher.WriteString(":java.hiddenAPIFlagFileCategory")
hasher.WriteString(":.int")
hasher.WriteUint64(uint64(int(val2)))
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.FlagFilesByCategory[val2]))
for val4 := 0; val4 < len(r.FlagFilesByCategory[val2]); val4++ {
hasher.WriteString("android/soong/android:android.Path")
val5 := r.FlagFilesByCategory[val2][val4] == nil
if val5 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.FlagFilesByCategory[val2][val4]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val6 := r.FlagFilesByCategory[val2][val4] == nil
if val6 {
hasher.WriteByte(0)
} else {
val7 := func(hasher *proptools.Hasher) error {
return r.FlagFilesByCategory[val2][val4].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val7); err != nil {
return err
}
}
}
} else {
r.FlagFilesByCategory[val2][val4].(proptools.CustomHash).CustomHash(hasher)
}
}
}
}
hasher.WriteString(":java.StubDexJarsByModule")
hasher.WriteString(":.map[string]ModuleStubDexJars")
hasher.WriteInt(len(r.TransitiveStubDexJarsByScope))
val8 := make([]string, 0, len(r.TransitiveStubDexJarsByScope))
for val10 := range r.TransitiveStubDexJarsByScope {
val8 = append(val8, val10)
}
proptools.SortOrdered(val8)
for _, val9 := range val8 {
hasher.WriteString(":.string")
hasher.WriteString(val9)
hasher.WriteString(":java.ModuleStubDexJars")
hasher.WriteString(":.map[string]android.Path")
hasher.WriteInt(len(r.TransitiveStubDexJarsByScope[val9]))
val11 := make([]string, 0, len(r.TransitiveStubDexJarsByScope[val9]))
for val13 := range r.TransitiveStubDexJarsByScope[val9] {
val11 = append(val11, val13)
}
proptools.SortOrdered(val11)
for _, val12 := range val11 {
hasher.WriteString(":.string")
hasher.WriteString(val12)
hasher.WriteString(":java.android.Path")
val14 := r.TransitiveStubDexJarsByScope[val9][val12] == nil
if val14 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.TransitiveStubDexJarsByScope[val9][val12]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val15 := r.TransitiveStubDexJarsByScope[val9][val12] == nil
if val15 {
hasher.WriteByte(0)
} else {
val16 := func(hasher *proptools.Hasher) error {
return r.TransitiveStubDexJarsByScope[val9][val12].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val16); err != nil {
return err
}
}
}
} else {
r.TransitiveStubDexJarsByScope[val9][val12].(proptools.CustomHash).CustomHash(hasher)
}
}
}
}
if err := r.HiddenAPIFlagOutput.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *HiddenAPIInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
if val2 != -1 {
r.FlagFilesByCategory = make(map[hiddenAPIFlagFileCategory]android.Paths, val2)
for val3 := 0; val3 < int(val2); val3++ {
var val4 hiddenAPIFlagFileCategory
var val5 android.Paths
var val7 int
err = gobtools.DecodeInt(buf, &val7)
if err != nil {
return err
}
val4 = hiddenAPIFlagFileCategory(val7)
var val11 int
err = gobtools.DecodeInt(buf, &val11)
if err != nil {
return err
}
if val11 != -1 {
val5 = make([]android.Path, val11)
for val12 := 0; val12 < int(val11); val12++ {
if val14, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val14 == nil {
val5[val12] = nil
} else {
val5[val12] = val14.(android.Path)
}
}
}
r.FlagFilesByCategory[val4] = val5
}
}
var val16 int
err = gobtools.DecodeInt(buf, &val16)
if err != nil {
return err
}
if val16 != -1 {
r.TransitiveStubDexJarsByScope = make(map[string]ModuleStubDexJars, val16)
for val17 := 0; val17 < int(val16); val17++ {
var val18 string
var val19 ModuleStubDexJars
err = gobtools.DecodeString(buf, &val18)
if err != nil {
return err
}
var val22 int
err = gobtools.DecodeInt(buf, &val22)
if err != nil {
return err
}
if val22 != -1 {
val19 = make(map[string]android.Path, val22)
for val23 := 0; val23 < int(val22); val23++ {
var val24 string
var val25 android.Path
err = gobtools.DecodeString(buf, &val24)
if err != nil {
return err
}
if val28, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val28 == nil {
val25 = nil
} else {
val25 = val28.(android.Path)
}
val19[val24] = val25
}
}
r.TransitiveStubDexJarsByScope[val18] = val19
}
}
if err = r.HiddenAPIFlagOutput.Decode(ctx, buf); err != nil {
return err
}
return err
}
var HiddenAPIInfoGobRegId int16
func (r HiddenAPIInfo) GetTypeId() int16 {
return HiddenAPIInfoGobRegId
}
func (r HiddenAPIInfoForSdk) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.FlagFilesByCategory == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.FlagFilesByCategory)); err != nil {
return err
}
for val1, val2 := range r.FlagFilesByCategory {
if err = gobtools.EncodeInt(buf, int(val1)); err != nil {
return err
}
if val2 == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(val2)); err != nil {
return err
}
for val3 := 0; val3 < len(val2); val3++ {
if err = gobtools.EncodeInterface(ctx, buf, val2[val3]); err != nil {
return err
}
}
}
}
}
if err = r.HiddenAPIFlagOutput.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r HiddenAPIInfoForSdk) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.HiddenAPIInfoForSdk")
hasher.WriteInt(2)
hasher.WriteString(":java.FlagFilesByCategory")
hasher.WriteString(":.map[hiddenAPIFlagFileCategory]android.Paths")
hasher.WriteInt(len(r.FlagFilesByCategory))
val1 := make([]hiddenAPIFlagFileCategory, 0, len(r.FlagFilesByCategory))
for val3 := range r.FlagFilesByCategory {
val1 = append(val1, val3)
}
proptools.SortOrdered(val1)
for _, val2 := range val1 {
hasher.WriteString(":java.hiddenAPIFlagFileCategory")
hasher.WriteString(":.int")
hasher.WriteUint64(uint64(int(val2)))
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.FlagFilesByCategory[val2]))
for val4 := 0; val4 < len(r.FlagFilesByCategory[val2]); val4++ {
hasher.WriteString("android/soong/android:android.Path")
val5 := r.FlagFilesByCategory[val2][val4] == nil
if val5 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.FlagFilesByCategory[val2][val4]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val6 := r.FlagFilesByCategory[val2][val4] == nil
if val6 {
hasher.WriteByte(0)
} else {
val7 := func(hasher *proptools.Hasher) error {
return r.FlagFilesByCategory[val2][val4].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val7); err != nil {
return err
}
}
}
} else {
r.FlagFilesByCategory[val2][val4].(proptools.CustomHash).CustomHash(hasher)
}
}
}
}
if err := r.HiddenAPIFlagOutput.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *HiddenAPIInfoForSdk) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
if val2 != -1 {
r.FlagFilesByCategory = make(map[hiddenAPIFlagFileCategory]android.Paths, val2)
for val3 := 0; val3 < int(val2); val3++ {
var val4 hiddenAPIFlagFileCategory
var val5 android.Paths
var val7 int
err = gobtools.DecodeInt(buf, &val7)
if err != nil {
return err
}
val4 = hiddenAPIFlagFileCategory(val7)
var val11 int
err = gobtools.DecodeInt(buf, &val11)
if err != nil {
return err
}
if val11 != -1 {
val5 = make([]android.Path, val11)
for val12 := 0; val12 < int(val11); val12++ {
if val14, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val14 == nil {
val5[val12] = nil
} else {
val5[val12] = val14.(android.Path)
}
}
}
r.FlagFilesByCategory[val4] = val5
}
}
if err = r.HiddenAPIFlagOutput.Decode(ctx, buf); err != nil {
return err
}
return err
}
var HiddenAPIInfoForSdkGobRegId int16
func (r HiddenAPIInfoForSdk) GetTypeId() int16 {
return HiddenAPIInfoForSdkGobRegId
}
func (r ModuleStubDexJars) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r)); err != nil {
return err
}
for val1, val2 := range r {
if err = gobtools.EncodeString(buf, val1); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, val2); err != nil {
return err
}
}
}
return err
}
func (r ModuleStubDexJars) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":.map[string]android.Path")
hasher.WriteInt(len(r))
val1 := make([]string, 0, len(r))
for val3 := range r {
val1 = append(val1, val3)
}
proptools.SortOrdered(val1)
for _, val2 := range val1 {
hasher.WriteString(":.string")
hasher.WriteString(val2)
hasher.WriteString(":java.android.Path")
val4 := r[val2] == nil
if val4 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r[val2]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val5 := r[val2] == nil
if val5 {
hasher.WriteByte(0)
} else {
val6 := func(hasher *proptools.Hasher) error { return r[val2].(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
return err
}
}
}
} else {
r[val2].(proptools.CustomHash).CustomHash(hasher)
}
}
}
return nil
}
func (r *ModuleStubDexJars) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val1 int
err = gobtools.DecodeInt(buf, &val1)
if err != nil {
return err
}
if val1 != -1 {
(*r) = make(map[string]android.Path, val1)
for val2 := 0; val2 < int(val1); val2++ {
var val3 string
var val4 android.Path
err = gobtools.DecodeString(buf, &val3)
if err != nil {
return err
}
if val7, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val7 == nil {
val4 = nil
} else {
val4 = val7.(android.Path)
}
(*r)[val3] = val4
}
}
return err
}
var ModuleStubDexJarsGobRegId int16
func (r ModuleStubDexJars) GetTypeId() int16 {
return ModuleStubDexJarsGobRegId
}
func (r HiddenAPIPropertyInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.FlagFilesByCategory == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.FlagFilesByCategory)); err != nil {
return err
}
for val1, val2 := range r.FlagFilesByCategory {
if err = gobtools.EncodeInt(buf, int(val1)); err != nil {
return err
}
if val2 == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(val2)); err != nil {
return err
}
for val3 := 0; val3 < len(val2); val3++ {
if err = gobtools.EncodeInterface(ctx, buf, val2[val3]); err != nil {
return err
}
}
}
}
}
if r.PackagePrefixes == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.PackagePrefixes)); err != nil {
return err
}
for val4 := 0; val4 < len(r.PackagePrefixes); val4++ {
if err = gobtools.EncodeString(buf, r.PackagePrefixes[val4]); err != nil {
return err
}
}
}
if r.SinglePackages == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.SinglePackages)); err != nil {
return err
}
for val5 := 0; val5 < len(r.SinglePackages); val5++ {
if err = gobtools.EncodeString(buf, r.SinglePackages[val5]); err != nil {
return err
}
}
}
if r.SplitPackages == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.SplitPackages)); err != nil {
return err
}
for val6 := 0; val6 < len(r.SplitPackages); val6++ {
if err = gobtools.EncodeString(buf, r.SplitPackages[val6]); err != nil {
return err
}
}
}
return err
}
func (r HiddenAPIPropertyInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.HiddenAPIPropertyInfo")
hasher.WriteInt(4)
hasher.WriteString(":java.FlagFilesByCategory")
hasher.WriteString(":.map[hiddenAPIFlagFileCategory]android.Paths")
hasher.WriteInt(len(r.FlagFilesByCategory))
val1 := make([]hiddenAPIFlagFileCategory, 0, len(r.FlagFilesByCategory))
for val3 := range r.FlagFilesByCategory {
val1 = append(val1, val3)
}
proptools.SortOrdered(val1)
for _, val2 := range val1 {
hasher.WriteString(":java.hiddenAPIFlagFileCategory")
hasher.WriteString(":.int")
hasher.WriteUint64(uint64(int(val2)))
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.FlagFilesByCategory[val2]))
for val4 := 0; val4 < len(r.FlagFilesByCategory[val2]); val4++ {
hasher.WriteString("android/soong/android:android.Path")
val5 := r.FlagFilesByCategory[val2][val4] == nil
if val5 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.FlagFilesByCategory[val2][val4]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val6 := r.FlagFilesByCategory[val2][val4] == nil
if val6 {
hasher.WriteByte(0)
} else {
val7 := func(hasher *proptools.Hasher) error {
return r.FlagFilesByCategory[val2][val4].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val7); err != nil {
return err
}
}
}
} else {
r.FlagFilesByCategory[val2][val4].(proptools.CustomHash).CustomHash(hasher)
}
}
}
}
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.PackagePrefixes))
for val8 := 0; val8 < len(r.PackagePrefixes); val8++ {
hasher.WriteString(":.string")
hasher.WriteString(r.PackagePrefixes[val8])
}
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.SinglePackages))
for val9 := 0; val9 < len(r.SinglePackages); val9++ {
hasher.WriteString(":.string")
hasher.WriteString(r.SinglePackages[val9])
}
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.SplitPackages))
for val10 := 0; val10 < len(r.SplitPackages); val10++ {
hasher.WriteString(":.string")
hasher.WriteString(r.SplitPackages[val10])
}
return nil
}
func (r *HiddenAPIPropertyInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
if val2 != -1 {
r.FlagFilesByCategory = make(map[hiddenAPIFlagFileCategory]android.Paths, val2)
for val3 := 0; val3 < int(val2); val3++ {
var val4 hiddenAPIFlagFileCategory
var val5 android.Paths
var val7 int
err = gobtools.DecodeInt(buf, &val7)
if err != nil {
return err
}
val4 = hiddenAPIFlagFileCategory(val7)
var val11 int
err = gobtools.DecodeInt(buf, &val11)
if err != nil {
return err
}
if val11 != -1 {
val5 = make([]android.Path, val11)
for val12 := 0; val12 < int(val11); val12++ {
if val14, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val14 == nil {
val5[val12] = nil
} else {
val5[val12] = val14.(android.Path)
}
}
}
r.FlagFilesByCategory[val4] = val5
}
}
var val16 int
err = gobtools.DecodeInt(buf, &val16)
if err != nil {
return err
}
if val16 != -1 {
r.PackagePrefixes = make([]string, val16)
for val17 := 0; val17 < int(val16); val17++ {
err = gobtools.DecodeString(buf, &r.PackagePrefixes[val17])
if err != nil {
return err
}
}
}
var val20 int
err = gobtools.DecodeInt(buf, &val20)
if err != nil {
return err
}
if val20 != -1 {
r.SinglePackages = make([]string, val20)
for val21 := 0; val21 < int(val20); val21++ {
err = gobtools.DecodeString(buf, &r.SinglePackages[val21])
if err != nil {
return err
}
}
}
var val24 int
err = gobtools.DecodeInt(buf, &val24)
if err != nil {
return err
}
if val24 != -1 {
r.SplitPackages = make([]string, val24)
for val25 := 0; val25 < int(val24); val25++ {
err = gobtools.DecodeString(buf, &r.SplitPackages[val25])
if err != nil {
return err
}
}
}
return err
}
var HiddenAPIPropertyInfoGobRegId int16
func (r HiddenAPIPropertyInfo) GetTypeId() int16 {
return HiddenAPIPropertyInfoGobRegId
}
func (r HiddenAPIFlagOutput) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.AnnotationFlagsPath); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.MetadataPath); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.IndexPath); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.StubFlagsPath); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.AllFlagsPath); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.SignaturePatternsPath); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.FilteredStubFlagsPath); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.FilteredFlagsPath); err != nil {
return err
}
return err
}
func (r HiddenAPIFlagOutput) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.HiddenAPIFlagOutput")
hasher.WriteInt(8)
hasher.WriteString(":java.android.Path")
val1 := r.AnnotationFlagsPath == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.AnnotationFlagsPath); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.AnnotationFlagsPath == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error {
return r.AnnotationFlagsPath.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.AnnotationFlagsPath.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val4 := r.MetadataPath == nil
if val4 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.MetadataPath); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val5 := r.MetadataPath == nil
if val5 {
hasher.WriteByte(0)
} else {
val6 := func(hasher *proptools.Hasher) error { return r.MetadataPath.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
return err
}
}
}
} else {
r.MetadataPath.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val7 := r.IndexPath == nil
if val7 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.IndexPath); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val8 := r.IndexPath == nil
if val8 {
hasher.WriteByte(0)
} else {
val9 := func(hasher *proptools.Hasher) error { return r.IndexPath.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val9); err != nil {
return err
}
}
}
} else {
r.IndexPath.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val10 := r.StubFlagsPath == nil
if val10 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.StubFlagsPath); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val11 := r.StubFlagsPath == nil
if val11 {
hasher.WriteByte(0)
} else {
val12 := func(hasher *proptools.Hasher) error { return r.StubFlagsPath.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val12); err != nil {
return err
}
}
}
} else {
r.StubFlagsPath.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val13 := r.AllFlagsPath == nil
if val13 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.AllFlagsPath); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val14 := r.AllFlagsPath == nil
if val14 {
hasher.WriteByte(0)
} else {
val15 := func(hasher *proptools.Hasher) error { return r.AllFlagsPath.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val15); err != nil {
return err
}
}
}
} else {
r.AllFlagsPath.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val16 := r.SignaturePatternsPath == nil
if val16 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.SignaturePatternsPath); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val17 := r.SignaturePatternsPath == nil
if val17 {
hasher.WriteByte(0)
} else {
val18 := func(hasher *proptools.Hasher) error {
return r.SignaturePatternsPath.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val18); err != nil {
return err
}
}
}
} else {
r.SignaturePatternsPath.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val19 := r.FilteredStubFlagsPath == nil
if val19 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.FilteredStubFlagsPath); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val20 := r.FilteredStubFlagsPath == nil
if val20 {
hasher.WriteByte(0)
} else {
val21 := func(hasher *proptools.Hasher) error {
return r.FilteredStubFlagsPath.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val21); err != nil {
return err
}
}
}
} else {
r.FilteredStubFlagsPath.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val22 := r.FilteredFlagsPath == nil
if val22 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.FilteredFlagsPath); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val23 := r.FilteredFlagsPath == nil
if val23 {
hasher.WriteByte(0)
} else {
val24 := func(hasher *proptools.Hasher) error {
return r.FilteredFlagsPath.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val24); err != nil {
return err
}
}
}
} else {
r.FilteredFlagsPath.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
func (r *HiddenAPIFlagOutput) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.AnnotationFlagsPath = nil
} else {
r.AnnotationFlagsPath = val2.(android.Path)
}
if val4, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val4 == nil {
r.MetadataPath = nil
} else {
r.MetadataPath = val4.(android.Path)
}
if val6, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val6 == nil {
r.IndexPath = nil
} else {
r.IndexPath = val6.(android.Path)
}
if val8, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val8 == nil {
r.StubFlagsPath = nil
} else {
r.StubFlagsPath = val8.(android.Path)
}
if val10, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val10 == nil {
r.AllFlagsPath = nil
} else {
r.AllFlagsPath = val10.(android.Path)
}
if val12, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val12 == nil {
r.SignaturePatternsPath = nil
} else {
r.SignaturePatternsPath = val12.(android.Path)
}
if val14, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val14 == nil {
r.FilteredStubFlagsPath = nil
} else {
r.FilteredStubFlagsPath = val14.(android.Path)
}
if val16, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val16 == nil {
r.FilteredFlagsPath = nil
} else {
r.FilteredFlagsPath = val16.(android.Path)
}
return err
}
var HiddenAPIFlagOutputGobRegId int16
func (r HiddenAPIFlagOutput) GetTypeId() int16 {
return HiddenAPIFlagOutputGobRegId
}
func (r SignatureCsvSubset) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.CsvFile); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.SignaturePatternsFile); err != nil {
return err
}
return err
}
func (r SignatureCsvSubset) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.SignatureCsvSubset")
hasher.WriteInt(2)
hasher.WriteString(":java.android.Path")
val1 := r.CsvFile == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.CsvFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.CsvFile == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.CsvFile.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.CsvFile.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val4 := r.SignaturePatternsFile == nil
if val4 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.SignaturePatternsFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val5 := r.SignaturePatternsFile == nil
if val5 {
hasher.WriteByte(0)
} else {
val6 := func(hasher *proptools.Hasher) error {
return r.SignaturePatternsFile.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
return err
}
}
}
} else {
r.SignaturePatternsFile.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
func (r *SignatureCsvSubset) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.CsvFile = nil
} else {
r.CsvFile = val2.(android.Path)
}
if val4, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val4 == nil {
r.SignaturePatternsFile = nil
} else {
r.SignaturePatternsFile = val4.(android.Path)
}
return err
}
var SignatureCsvSubsetGobRegId int16
func (r SignatureCsvSubset) GetTypeId() int16 {
return SignatureCsvSubsetGobRegId
}
func (r SignatureCsvSubsets) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r)); err != nil {
return err
}
for val1 := 0; val1 < len(r); val1++ {
if err = r[val1].Encode(ctx, buf); err != nil {
return err
}
}
}
return err
}
func (r SignatureCsvSubsets) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":.[]SignatureCsvSubset")
hasher.WriteInt(len(r))
for val1 := 0; val1 < len(r); val1++ {
if err := r[val1].CustomHash(hasher); err != nil {
return err
}
}
return nil
}
func (r *SignatureCsvSubsets) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
if val2 != -1 {
(*r) = make([]SignatureCsvSubset, val2)
for val3 := 0; val3 < int(val2); val3++ {
if err = (*r)[val3].Decode(ctx, buf); err != nil {
return err
}
}
}
return err
}
var SignatureCsvSubsetsGobRegId int16
func (r SignatureCsvSubsets) GetTypeId() int16 {
return SignatureCsvSubsetsGobRegId
}
// end of hiddenapi_modular.go
// begin of hiddenapi_monolithic.go
func init() {
MonolithicHiddenAPIInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(MonolithicHiddenAPIInfo) })
}
func (r MonolithicHiddenAPIInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.FlagsFilesByCategory == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.FlagsFilesByCategory)); err != nil {
return err
}
for val1, val2 := range r.FlagsFilesByCategory {
if err = gobtools.EncodeInt(buf, int(val1)); err != nil {
return err
}
if val2 == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(val2)); err != nil {
return err
}
for val3 := 0; val3 < len(val2); val3++ {
if err = gobtools.EncodeInterface(ctx, buf, val2[val3]); err != nil {
return err
}
}
}
}
}
if r.AnnotationFlagsPaths == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.AnnotationFlagsPaths)); err != nil {
return err
}
for val4 := 0; val4 < len(r.AnnotationFlagsPaths); val4++ {
if err = gobtools.EncodeInterface(ctx, buf, r.AnnotationFlagsPaths[val4]); err != nil {
return err
}
}
}
if r.MetadataPaths == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.MetadataPaths)); err != nil {
return err
}
for val5 := 0; val5 < len(r.MetadataPaths); val5++ {
if err = gobtools.EncodeInterface(ctx, buf, r.MetadataPaths[val5]); err != nil {
return err
}
}
}
if r.IndexPaths == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.IndexPaths)); err != nil {
return err
}
for val6 := 0; val6 < len(r.IndexPaths); val6++ {
if err = gobtools.EncodeInterface(ctx, buf, r.IndexPaths[val6]); err != nil {
return err
}
}
}
if r.StubFlagSubsets == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.StubFlagSubsets)); err != nil {
return err
}
for val7 := 0; val7 < len(r.StubFlagSubsets); val7++ {
if err = r.StubFlagSubsets[val7].Encode(ctx, buf); err != nil {
return err
}
}
}
if r.FlagSubsets == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.FlagSubsets)); err != nil {
return err
}
for val8 := 0; val8 < len(r.FlagSubsets); val8++ {
if err = r.FlagSubsets[val8].Encode(ctx, buf); err != nil {
return err
}
}
}
if r.ClassesJars == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ClassesJars)); err != nil {
return err
}
for val9 := 0; val9 < len(r.ClassesJars); val9++ {
if err = gobtools.EncodeInterface(ctx, buf, r.ClassesJars[val9]); err != nil {
return err
}
}
}
return err
}
func (r MonolithicHiddenAPIInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.MonolithicHiddenAPIInfo")
hasher.WriteInt(7)
hasher.WriteString(":java.FlagFilesByCategory")
hasher.WriteString(":.map[hiddenAPIFlagFileCategory]android.Paths")
hasher.WriteInt(len(r.FlagsFilesByCategory))
val1 := make([]hiddenAPIFlagFileCategory, 0, len(r.FlagsFilesByCategory))
for val3 := range r.FlagsFilesByCategory {
val1 = append(val1, val3)
}
proptools.SortOrdered(val1)
for _, val2 := range val1 {
hasher.WriteString(":java.hiddenAPIFlagFileCategory")
hasher.WriteString(":.int")
hasher.WriteUint64(uint64(int(val2)))
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.FlagsFilesByCategory[val2]))
for val4 := 0; val4 < len(r.FlagsFilesByCategory[val2]); val4++ {
hasher.WriteString("android/soong/android:android.Path")
val5 := r.FlagsFilesByCategory[val2][val4] == nil
if val5 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.FlagsFilesByCategory[val2][val4]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val6 := r.FlagsFilesByCategory[val2][val4] == nil
if val6 {
hasher.WriteByte(0)
} else {
val7 := func(hasher *proptools.Hasher) error {
return r.FlagsFilesByCategory[val2][val4].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val7); err != nil {
return err
}
}
}
} else {
r.FlagsFilesByCategory[val2][val4].(proptools.CustomHash).CustomHash(hasher)
}
}
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.AnnotationFlagsPaths))
for val8 := 0; val8 < len(r.AnnotationFlagsPaths); val8++ {
hasher.WriteString("android/soong/android:android.Path")
val9 := r.AnnotationFlagsPaths[val8] == nil
if val9 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.AnnotationFlagsPaths[val8]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val10 := r.AnnotationFlagsPaths[val8] == nil
if val10 {
hasher.WriteByte(0)
} else {
val11 := func(hasher *proptools.Hasher) error {
return r.AnnotationFlagsPaths[val8].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val11); err != nil {
return err
}
}
}
} else {
r.AnnotationFlagsPaths[val8].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.MetadataPaths))
for val12 := 0; val12 < len(r.MetadataPaths); val12++ {
hasher.WriteString("android/soong/android:android.Path")
val13 := r.MetadataPaths[val12] == nil
if val13 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.MetadataPaths[val12]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val14 := r.MetadataPaths[val12] == nil
if val14 {
hasher.WriteByte(0)
} else {
val15 := func(hasher *proptools.Hasher) error {
return r.MetadataPaths[val12].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val15); err != nil {
return err
}
}
}
} else {
r.MetadataPaths[val12].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.IndexPaths))
for val16 := 0; val16 < len(r.IndexPaths); val16++ {
hasher.WriteString("android/soong/android:android.Path")
val17 := r.IndexPaths[val16] == nil
if val17 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.IndexPaths[val16]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val18 := r.IndexPaths[val16] == nil
if val18 {
hasher.WriteByte(0)
} else {
val19 := func(hasher *proptools.Hasher) error {
return r.IndexPaths[val16].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val19); err != nil {
return err
}
}
}
} else {
r.IndexPaths[val16].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.SignatureCsvSubsets")
hasher.WriteString(":.[]SignatureCsvSubset")
hasher.WriteInt(len(r.StubFlagSubsets))
for val20 := 0; val20 < len(r.StubFlagSubsets); val20++ {
if err := r.StubFlagSubsets[val20].CustomHash(hasher); err != nil {
return err
}
}
hasher.WriteString(":java.SignatureCsvSubsets")
hasher.WriteString(":.[]SignatureCsvSubset")
hasher.WriteInt(len(r.FlagSubsets))
for val21 := 0; val21 < len(r.FlagSubsets); val21++ {
if err := r.FlagSubsets[val21].CustomHash(hasher); err != nil {
return err
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.ClassesJars))
for val22 := 0; val22 < len(r.ClassesJars); val22++ {
hasher.WriteString("android/soong/android:android.Path")
val23 := r.ClassesJars[val22] == nil
if val23 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ClassesJars[val22]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val24 := r.ClassesJars[val22] == nil
if val24 {
hasher.WriteByte(0)
} else {
val25 := func(hasher *proptools.Hasher) error {
return r.ClassesJars[val22].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val25); err != nil {
return err
}
}
}
} else {
r.ClassesJars[val22].(proptools.CustomHash).CustomHash(hasher)
}
}
}
return nil
}
func (r *MonolithicHiddenAPIInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
if val2 != -1 {
r.FlagsFilesByCategory = make(map[hiddenAPIFlagFileCategory]android.Paths, val2)
for val3 := 0; val3 < int(val2); val3++ {
var val4 hiddenAPIFlagFileCategory
var val5 android.Paths
var val7 int
err = gobtools.DecodeInt(buf, &val7)
if err != nil {
return err
}
val4 = hiddenAPIFlagFileCategory(val7)
var val11 int
err = gobtools.DecodeInt(buf, &val11)
if err != nil {
return err
}
if val11 != -1 {
val5 = make([]android.Path, val11)
for val12 := 0; val12 < int(val11); val12++ {
if val14, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val14 == nil {
val5[val12] = nil
} else {
val5[val12] = val14.(android.Path)
}
}
}
r.FlagsFilesByCategory[val4] = val5
}
}
var val17 int
err = gobtools.DecodeInt(buf, &val17)
if err != nil {
return err
}
if val17 != -1 {
r.AnnotationFlagsPaths = make([]android.Path, val17)
for val18 := 0; val18 < int(val17); val18++ {
if val20, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val20 == nil {
r.AnnotationFlagsPaths[val18] = nil
} else {
r.AnnotationFlagsPaths[val18] = val20.(android.Path)
}
}
}
var val23 int
err = gobtools.DecodeInt(buf, &val23)
if err != nil {
return err
}
if val23 != -1 {
r.MetadataPaths = make([]android.Path, val23)
for val24 := 0; val24 < int(val23); val24++ {
if val26, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val26 == nil {
r.MetadataPaths[val24] = nil
} else {
r.MetadataPaths[val24] = val26.(android.Path)
}
}
}
var val29 int
err = gobtools.DecodeInt(buf, &val29)
if err != nil {
return err
}
if val29 != -1 {
r.IndexPaths = make([]android.Path, val29)
for val30 := 0; val30 < int(val29); val30++ {
if val32, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val32 == nil {
r.IndexPaths[val30] = nil
} else {
r.IndexPaths[val30] = val32.(android.Path)
}
}
}
var val35 int
err = gobtools.DecodeInt(buf, &val35)
if err != nil {
return err
}
if val35 != -1 {
r.StubFlagSubsets = make([]SignatureCsvSubset, val35)
for val36 := 0; val36 < int(val35); val36++ {
if err = r.StubFlagSubsets[val36].Decode(ctx, buf); err != nil {
return err
}
}
}
var val40 int
err = gobtools.DecodeInt(buf, &val40)
if err != nil {
return err
}
if val40 != -1 {
r.FlagSubsets = make([]SignatureCsvSubset, val40)
for val41 := 0; val41 < int(val40); val41++ {
if err = r.FlagSubsets[val41].Decode(ctx, buf); err != nil {
return err
}
}
}
var val45 int
err = gobtools.DecodeInt(buf, &val45)
if err != nil {
return err
}
if val45 != -1 {
r.ClassesJars = make([]android.Path, val45)
for val46 := 0; val46 < int(val45); val46++ {
if val48, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val48 == nil {
r.ClassesJars[val46] = nil
} else {
r.ClassesJars[val46] = val48.(android.Path)
}
}
}
return err
}
var MonolithicHiddenAPIInfoGobRegId int16
func (r MonolithicHiddenAPIInfo) GetTypeId() int16 {
return MonolithicHiddenAPIInfoGobRegId
}
// end of hiddenapi_monolithic.go
// begin of jacoco.go
func init() {
JacocoInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(JacocoInfo) })
JacocoInfosGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(JacocoInfos) })
}
func (r JacocoInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.ReportClassesFile); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.Class); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.ModuleName); err != nil {
return err
}
return err
}
func (r JacocoInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.JacocoInfo")
hasher.WriteInt(3)
hasher.WriteString(":java.android.Path")
val1 := r.ReportClassesFile == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ReportClassesFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.ReportClassesFile == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error {
return r.ReportClassesFile.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.ReportClassesFile.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":.string")
hasher.WriteString(r.Class)
hasher.WriteString(":.string")
hasher.WriteString(r.ModuleName)
return nil
}
func (r *JacocoInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.ReportClassesFile = nil
} else {
r.ReportClassesFile = val2.(android.Path)
}
err = gobtools.DecodeString(buf, &r.Class)
if err != nil {
return err
}
err = gobtools.DecodeString(buf, &r.ModuleName)
if err != nil {
return err
}
return err
}
var JacocoInfoGobRegId int16
func (r JacocoInfo) GetTypeId() int16 {
return JacocoInfoGobRegId
}
func (r JacocoInfos) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r)); err != nil {
return err
}
for val1 := 0; val1 < len(r); val1++ {
if err = r[val1].Encode(ctx, buf); err != nil {
return err
}
}
}
return err
}
func (r JacocoInfos) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":.[]JacocoInfo")
hasher.WriteInt(len(r))
for val1 := 0; val1 < len(r); val1++ {
if err := r[val1].CustomHash(hasher); err != nil {
return err
}
}
return nil
}
func (r *JacocoInfos) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
if val2 != -1 {
(*r) = make([]JacocoInfo, val2)
for val3 := 0; val3 < int(val2); val3++ {
if err = (*r)[val3].Decode(ctx, buf); err != nil {
return err
}
}
}
return err
}
var JacocoInfosGobRegId int16
func (r JacocoInfos) GetTypeId() int16 {
return JacocoInfosGobRegId
}
// end of jacoco.go
// begin of java.go
func init() {
ProguardSpecInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ProguardSpecInfo) })
AndroidLibraryDependencyInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(AndroidLibraryDependencyInfo) })
UsesLibraryDependencyInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(UsesLibraryDependencyInfo) })
ProvidesUsesLibInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ProvidesUsesLibInfo) })
ModuleWithSdkDepInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ModuleWithSdkDepInfo) })
ApexDependencyInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ApexDependencyInfo) })
JavaInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(JavaInfo) })
DexpreopterInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(DexpreopterInfo) })
JavaLibraryInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(JavaLibraryInfo) })
JavaDexImportInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(JavaDexImportInfo) })
SyspropPublicStubInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(SyspropPublicStubInfo) })
jniLibGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(jniLib) })
JavaTestInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(JavaTestInfo) })
JavaApiImportInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(JavaApiImportInfo) })
JavaImportDepInSameApexCheckerGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(JavaImportDepInSameApexChecker) })
}
func (r ProguardSpecInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeBool(buf, r.Export_proguard_flags_files); err != nil {
return err
}
if err = r.ProguardFlagsFiles.EncodeInterface(ctx, buf); err != nil {
return err
}
if err = r.IncludedProguardFlagsFiles.EncodeInterface(ctx, buf); err != nil {
return err
}
if err = r.UnconditionallyExportedProguardFlags.EncodeInterface(ctx, buf); err != nil {
return err
}
if err = r.IncludedUnconditionallyExportedProguardFlags.EncodeInterface(ctx, buf); err != nil {
return err
}
return err
}
func (r ProguardSpecInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ProguardSpecInfo")
hasher.WriteInt(5)
hasher.WriteString(":.bool")
if r.Export_proguard_flags_files {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
val5 := func(hasher *proptools.Hasher, val1 android.Path) error {
hasher.WriteString(":java.android.Path")
val2 := val1 == nil
if val2 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val1); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val3 := val1 == nil
if val3 {
hasher.WriteByte(0)
} else {
val4 := func(hasher *proptools.Hasher) error { return val1.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val4); err != nil {
return err
}
}
}
} else {
val1.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.ProguardFlagsFiles.Hash(hasher, "android.Path", val5); err != nil {
return err
}
val10 := func(hasher *proptools.Hasher, val6 android.Path) error {
hasher.WriteString(":java.android.Path")
val7 := val6 == nil
if val7 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val6); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val8 := val6 == nil
if val8 {
hasher.WriteByte(0)
} else {
val9 := func(hasher *proptools.Hasher) error { return val6.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val9); err != nil {
return err
}
}
}
} else {
val6.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.IncludedProguardFlagsFiles.Hash(hasher, "android.Path", val10); err != nil {
return err
}
val15 := func(hasher *proptools.Hasher, val11 android.Path) error {
hasher.WriteString(":java.android.Path")
val12 := val11 == nil
if val12 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val11); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val13 := val11 == nil
if val13 {
hasher.WriteByte(0)
} else {
val14 := func(hasher *proptools.Hasher) error { return val11.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val14); err != nil {
return err
}
}
}
} else {
val11.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.UnconditionallyExportedProguardFlags.Hash(hasher, "android.Path", val15); err != nil {
return err
}
val20 := func(hasher *proptools.Hasher, val16 android.Path) error {
hasher.WriteString(":java.android.Path")
val17 := val16 == nil
if val17 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val16); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val18 := val16 == nil
if val18 {
hasher.WriteByte(0)
} else {
val19 := func(hasher *proptools.Hasher) error { return val16.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val19); err != nil {
return err
}
}
}
} else {
val16.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.IncludedUnconditionallyExportedProguardFlags.Hash(hasher, "android.Path", val20); err != nil {
return err
}
return nil
}
func (r *ProguardSpecInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
err = gobtools.DecodeBool(buf, &r.Export_proguard_flags_files)
if err != nil {
return err
}
if err = r.ProguardFlagsFiles.DecodeInterface(ctx, buf); err != nil {
return err
}
if err = r.IncludedProguardFlagsFiles.DecodeInterface(ctx, buf); err != nil {
return err
}
if err = r.UnconditionallyExportedProguardFlags.DecodeInterface(ctx, buf); err != nil {
return err
}
if err = r.IncludedUnconditionallyExportedProguardFlags.DecodeInterface(ctx, buf); err != nil {
return err
}
return err
}
var ProguardSpecInfoGobRegId int16
func (r ProguardSpecInfo) GetTypeId() int16 {
return ProguardSpecInfoGobRegId
}
func (r AndroidLibraryDependencyInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.ExportPackage); err != nil {
return err
}
if err = r.ResourcesNodeDepSet.Encode(ctx, buf); err != nil {
return err
}
if err = r.RRODirsDepSet.Encode(ctx, buf); err != nil {
return err
}
if err = r.ManifestsDepSet.EncodeInterface(ctx, buf); err != nil {
return err
}
return err
}
func (r AndroidLibraryDependencyInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.AndroidLibraryDependencyInfo")
hasher.WriteInt(4)
hasher.WriteString(":java.android.Path")
val1 := r.ExportPackage == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ExportPackage); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.ExportPackage == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.ExportPackage.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.ExportPackage.(proptools.CustomHash).CustomHash(hasher)
}
}
val5 := func(hasher *proptools.Hasher, val4 resourcesNode) error {
if err := val4.CustomHash(hasher); err != nil {
return err
}
return nil
}
if err := r.ResourcesNodeDepSet.Hash(hasher, "resourcesNode", val5); err != nil {
return err
}
val7 := func(hasher *proptools.Hasher, val6 rroDir) error {
if err := val6.CustomHash(hasher); err != nil {
return err
}
return nil
}
if err := r.RRODirsDepSet.Hash(hasher, "rroDir", val7); err != nil {
return err
}
val12 := func(hasher *proptools.Hasher, val8 android.Path) error {
hasher.WriteString(":java.android.Path")
val9 := val8 == nil
if val9 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val8); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val10 := val8 == nil
if val10 {
hasher.WriteByte(0)
} else {
val11 := func(hasher *proptools.Hasher) error { return val8.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val11); err != nil {
return err
}
}
}
} else {
val8.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.ManifestsDepSet.Hash(hasher, "android.Path", val12); err != nil {
return err
}
return nil
}
func (r *AndroidLibraryDependencyInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.ExportPackage = nil
} else {
r.ExportPackage = val2.(android.Path)
}
if err = r.ResourcesNodeDepSet.Decode(ctx, buf); err != nil {
return err
}
if err = r.RRODirsDepSet.Decode(ctx, buf); err != nil {
return err
}
if err = r.ManifestsDepSet.DecodeInterface(ctx, buf); err != nil {
return err
}
return err
}
var AndroidLibraryDependencyInfoGobRegId int16
func (r AndroidLibraryDependencyInfo) GetTypeId() int16 {
return AndroidLibraryDependencyInfoGobRegId
}
func (r UsesLibraryDependencyInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.DexJarInstallPath); err != nil {
return err
}
if r.ClassLoaderContexts == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ClassLoaderContexts)); err != nil {
return err
}
for val1, val2 := range r.ClassLoaderContexts {
if err = gobtools.EncodeInt(buf, val1); err != nil {
return err
}
if val2 == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(val2)); err != nil {
return err
}
for val3 := 0; val3 < len(val2); val3++ {
val4 := val2[val3] == nil
if err = gobtools.EncodeBool(buf, val4); err != nil {
return err
}
if !val4 {
if err = (*val2[val3]).Encode(ctx, buf); err != nil {
return err
}
}
}
}
}
}
return err
}
func (r UsesLibraryDependencyInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.UsesLibraryDependencyInfo")
hasher.WriteInt(2)
hasher.WriteString(":java.android.Path")
val1 := r.DexJarInstallPath == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.DexJarInstallPath); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.DexJarInstallPath == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error {
return r.DexJarInstallPath.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.DexJarInstallPath.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.dexpreopt.ClassLoaderContextMap")
hasher.WriteString(":.map[int][]*ClassLoaderContext")
hasher.WriteInt(len(r.ClassLoaderContexts))
val4 := make([]int, 0, len(r.ClassLoaderContexts))
for val6 := range r.ClassLoaderContexts {
val4 = append(val4, val6)
}
proptools.SortOrdered(val4)
for _, val5 := range val4 {
hasher.WriteString(":.int")
hasher.WriteUint64(uint64(val5))
hasher.WriteString(":.[]*ClassLoaderContext")
hasher.WriteInt(len(r.ClassLoaderContexts[val5]))
for val7 := 0; val7 < len(r.ClassLoaderContexts[val5]); val7++ {
hasher.WriteString(":.*ClassLoaderContext")
val8 := r.ClassLoaderContexts[val5][val7] == nil
if val8 {
hasher.WriteByte(0)
} else {
val9 := func(hasher *proptools.Hasher) error {
if err := (*r.ClassLoaderContexts[val5][val7]).CustomHash(hasher); err != nil {
return err
}
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.ClassLoaderContexts[val5][val7])), val9); err != nil {
return err
}
}
}
}
return nil
}
func (r *UsesLibraryDependencyInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.DexJarInstallPath = nil
} else {
r.DexJarInstallPath = val2.(android.Path)
}
var val4 int
err = gobtools.DecodeInt(buf, &val4)
if err != nil {
return err
}
if val4 != -1 {
r.ClassLoaderContexts = make(map[int][]*dexpreopt.ClassLoaderContext, val4)
for val5 := 0; val5 < int(val4); val5++ {
var val6 int
var val7 []*dexpreopt.ClassLoaderContext
err = gobtools.DecodeInt(buf, &val6)
if err != nil {
return err
}
var val10 int
err = gobtools.DecodeInt(buf, &val10)
if err != nil {
return err
}
if val10 != -1 {
val7 = make([]*dexpreopt.ClassLoaderContext, val10)
for val11 := 0; val11 < int(val10); val11++ {
var val13 bool
if err = gobtools.DecodeBool(buf, &val13); err != nil {
return err
}
if !val13 {
var val12 dexpreopt.ClassLoaderContext
if err = val12.Decode(ctx, buf); err != nil {
return err
}
val7[val11] = &val12
}
}
}
r.ClassLoaderContexts[val6] = val7
}
}
return err
}
var UsesLibraryDependencyInfoGobRegId int16
func (r UsesLibraryDependencyInfo) GetTypeId() int16 {
return UsesLibraryDependencyInfoGobRegId
}
func (r ProvidesUsesLibInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
val1 := r.ProvidesUsesLib == nil
if err = gobtools.EncodeBool(buf, val1); err != nil {
return err
}
if !val1 {
if err = gobtools.EncodeString(buf, (*r.ProvidesUsesLib)); err != nil {
return err
}
}
return err
}
func (r ProvidesUsesLibInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ProvidesUsesLibInfo")
hasher.WriteInt(1)
hasher.WriteString(":.*string")
val1 := r.ProvidesUsesLib == nil
if val1 {
hasher.WriteByte(0)
} else {
val2 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.string")
hasher.WriteString((*r.ProvidesUsesLib))
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.ProvidesUsesLib)), val2); err != nil {
return err
}
}
return nil
}
func (r *ProvidesUsesLibInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 bool
if err = gobtools.DecodeBool(buf, &val2); err != nil {
return err
}
if !val2 {
var val1 string
err = gobtools.DecodeString(buf, &val1)
if err != nil {
return err
}
r.ProvidesUsesLib = &val1
}
return err
}
var ProvidesUsesLibInfoGobRegId int16
func (r ProvidesUsesLibInfo) GetTypeId() int16 {
return ProvidesUsesLibInfoGobRegId
}
func (r ModuleWithSdkDepInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInt(buf, int(r.SdkLinkType)); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, r.Stubs); err != nil {
return err
}
return err
}
func (r ModuleWithSdkDepInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ModuleWithSdkDepInfo")
hasher.WriteInt(2)
hasher.WriteString(":java.sdkLinkType")
hasher.WriteString(":.int")
hasher.WriteUint64(uint64(int(r.SdkLinkType)))
hasher.WriteString(":.bool")
if r.Stubs {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
return nil
}
func (r *ModuleWithSdkDepInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
r.SdkLinkType = sdkLinkType(val2)
err = gobtools.DecodeBool(buf, &r.Stubs)
if err != nil {
return err
}
return err
}
var ModuleWithSdkDepInfoGobRegId int16
func (r ModuleWithSdkDepInfo) GetTypeId() int16 {
return ModuleWithSdkDepInfoGobRegId
}
func (r ApexDependencyInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.HeaderJars == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.HeaderJars)); err != nil {
return err
}
for val1 := 0; val1 < len(r.HeaderJars); val1++ {
if err = gobtools.EncodeInterface(ctx, buf, r.HeaderJars[val1]); err != nil {
return err
}
}
}
if r.ImplementationAndResourcesJars == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ImplementationAndResourcesJars)); err != nil {
return err
}
for val2 := 0; val2 < len(r.ImplementationAndResourcesJars); val2++ {
if err = gobtools.EncodeInterface(ctx, buf, r.ImplementationAndResourcesJars[val2]); err != nil {
return err
}
}
}
return err
}
func (r ApexDependencyInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ApexDependencyInfo")
hasher.WriteInt(2)
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.HeaderJars))
for val1 := 0; val1 < len(r.HeaderJars); val1++ {
hasher.WriteString("android/soong/android:android.Path")
val2 := r.HeaderJars[val1] == nil
if val2 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.HeaderJars[val1]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val3 := r.HeaderJars[val1] == nil
if val3 {
hasher.WriteByte(0)
} else {
val4 := func(hasher *proptools.Hasher) error {
return r.HeaderJars[val1].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val4); err != nil {
return err
}
}
}
} else {
r.HeaderJars[val1].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.ImplementationAndResourcesJars))
for val5 := 0; val5 < len(r.ImplementationAndResourcesJars); val5++ {
hasher.WriteString("android/soong/android:android.Path")
val6 := r.ImplementationAndResourcesJars[val5] == nil
if val6 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ImplementationAndResourcesJars[val5]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val7 := r.ImplementationAndResourcesJars[val5] == nil
if val7 {
hasher.WriteByte(0)
} else {
val8 := func(hasher *proptools.Hasher) error {
return r.ImplementationAndResourcesJars[val5].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val8); err != nil {
return err
}
}
}
} else {
r.ImplementationAndResourcesJars[val5].(proptools.CustomHash).CustomHash(hasher)
}
}
}
return nil
}
func (r *ApexDependencyInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val3 int
err = gobtools.DecodeInt(buf, &val3)
if err != nil {
return err
}
if val3 != -1 {
r.HeaderJars = make([]android.Path, val3)
for val4 := 0; val4 < int(val3); val4++ {
if val6, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val6 == nil {
r.HeaderJars[val4] = nil
} else {
r.HeaderJars[val4] = val6.(android.Path)
}
}
}
var val9 int
err = gobtools.DecodeInt(buf, &val9)
if err != nil {
return err
}
if val9 != -1 {
r.ImplementationAndResourcesJars = make([]android.Path, val9)
for val10 := 0; val10 < int(val9); val10++ {
if val12, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val12 == nil {
r.ImplementationAndResourcesJars[val10] = nil
} else {
r.ImplementationAndResourcesJars[val10] = val12.(android.Path)
}
}
}
return err
}
var ApexDependencyInfoGobRegId int16
func (r ApexDependencyInfo) GetTypeId() int16 {
return ApexDependencyInfoGobRegId
}
func (r JavaInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.HeaderJars == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.HeaderJars)); err != nil {
return err
}
for val1 := 0; val1 < len(r.HeaderJars); val1++ {
if err = gobtools.EncodeInterface(ctx, buf, r.HeaderJars[val1]); err != nil {
return err
}
}
}
if r.RepackagedHeaderJars == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.RepackagedHeaderJars)); err != nil {
return err
}
for val2 := 0; val2 < len(r.RepackagedHeaderJars); val2++ {
if err = gobtools.EncodeInterface(ctx, buf, r.RepackagedHeaderJars[val2]); err != nil {
return err
}
}
}
if r.LocalHeaderJarsPreJarjar == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.LocalHeaderJarsPreJarjar)); err != nil {
return err
}
for val3 := 0; val3 < len(r.LocalHeaderJarsPreJarjar); val3++ {
if err = gobtools.EncodeInterface(ctx, buf, r.LocalHeaderJarsPreJarjar[val3]); err != nil {
return err
}
}
}
if err = r.TransitiveLibsHeaderJarsForR8.EncodeInterface(ctx, buf); err != nil {
return err
}
if err = r.TransitiveStaticLibsHeaderJarsForR8.EncodeInterface(ctx, buf); err != nil {
return err
}
if err = r.TransitiveStaticLibsHeaderJars.EncodeInterface(ctx, buf); err != nil {
return err
}
if err = r.TransitiveStaticLibsImplementationJars.EncodeInterface(ctx, buf); err != nil {
return err
}
if err = r.TransitiveStaticLibsResourceJars.EncodeInterface(ctx, buf); err != nil {
return err
}
if r.ImplementationAndResourcesJars == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ImplementationAndResourcesJars)); err != nil {
return err
}
for val4 := 0; val4 < len(r.ImplementationAndResourcesJars); val4++ {
if err = gobtools.EncodeInterface(ctx, buf, r.ImplementationAndResourcesJars[val4]); err != nil {
return err
}
}
}
if r.ImplementationJars == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ImplementationJars)); err != nil {
return err
}
for val5 := 0; val5 < len(r.ImplementationJars); val5++ {
if err = gobtools.EncodeInterface(ctx, buf, r.ImplementationJars[val5]); err != nil {
return err
}
}
}
if r.ResourceJars == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ResourceJars)); err != nil {
return err
}
for val6 := 0; val6 < len(r.ResourceJars); val6++ {
if err = gobtools.EncodeInterface(ctx, buf, r.ResourceJars[val6]); err != nil {
return err
}
}
}
if r.LocalHeaderJars == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.LocalHeaderJars)); err != nil {
return err
}
for val7 := 0; val7 < len(r.LocalHeaderJars); val7++ {
if err = gobtools.EncodeInterface(ctx, buf, r.LocalHeaderJars[val7]); err != nil {
return err
}
}
}
if r.KotlinHeaderJars == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.KotlinHeaderJars)); err != nil {
return err
}
for val8 := 0; val8 < len(r.KotlinHeaderJars); val8++ {
if err = gobtools.EncodeInterface(ctx, buf, r.KotlinHeaderJars[val8]); err != nil {
return err
}
}
}
if r.AidlIncludeDirs == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.AidlIncludeDirs)); err != nil {
return err
}
for val9 := 0; val9 < len(r.AidlIncludeDirs); val9++ {
if err = gobtools.EncodeInterface(ctx, buf, r.AidlIncludeDirs[val9]); err != nil {
return err
}
}
}
if r.SrcJarArgs == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.SrcJarArgs)); err != nil {
return err
}
for val10 := 0; val10 < len(r.SrcJarArgs); val10++ {
if err = gobtools.EncodeString(buf, r.SrcJarArgs[val10]); err != nil {
return err
}
}
}
if r.SrcJarDeps == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.SrcJarDeps)); err != nil {
return err
}
for val11 := 0; val11 < len(r.SrcJarDeps); val11++ {
if err = gobtools.EncodeInterface(ctx, buf, r.SrcJarDeps[val11]); err != nil {
return err
}
}
}
if r.KSnapshotFiles == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.KSnapshotFiles)); err != nil {
return err
}
for val12, val13 := range r.KSnapshotFiles {
if err = gobtools.EncodeString(buf, val12); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, val13); err != nil {
return err
}
}
}
if err = r.TransitiveSrcFiles.EncodeInterface(ctx, buf); err != nil {
return err
}
if r.ExportedPlugins == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ExportedPlugins)); err != nil {
return err
}
for val14 := 0; val14 < len(r.ExportedPlugins); val14++ {
if err = gobtools.EncodeInterface(ctx, buf, r.ExportedPlugins[val14]); err != nil {
return err
}
}
}
if r.ExportedPluginClasses == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ExportedPluginClasses)); err != nil {
return err
}
for val15 := 0; val15 < len(r.ExportedPluginClasses); val15++ {
if err = gobtools.EncodeString(buf, r.ExportedPluginClasses[val15]); err != nil {
return err
}
}
}
if err = gobtools.EncodeBool(buf, r.ExportedPluginDisableTurbine); err != nil {
return err
}
if err = r.JacocoInfo.Encode(ctx, buf); err != nil {
return err
}
if err = gobtools.EncodeInt(buf, int(r.StubsLinkType)); err != nil {
return err
}
if r.AconfigIntermediateCacheOutputPaths == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.AconfigIntermediateCacheOutputPaths)); err != nil {
return err
}
for val16 := 0; val16 < len(r.AconfigIntermediateCacheOutputPaths); val16++ {
if err = gobtools.EncodeInterface(ctx, buf, r.AconfigIntermediateCacheOutputPaths[val16]); err != nil {
return err
}
}
}
if err = r.SdkVersion.Encode(ctx, buf); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.OutputFile); err != nil {
return err
}
if r.ExtraOutputFiles == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ExtraOutputFiles)); err != nil {
return err
}
for val17 := 0; val17 < len(r.ExtraOutputFiles); val17++ {
if err = gobtools.EncodeInterface(ctx, buf, r.ExtraOutputFiles[val17]); err != nil {
return err
}
}
}
val18 := r.AndroidLibraryDependencyInfo == nil
if err = gobtools.EncodeBool(buf, val18); err != nil {
return err
}
if !val18 {
if err = (*r.AndroidLibraryDependencyInfo).Encode(ctx, buf); err != nil {
return err
}
}
val19 := r.UsesLibraryDependencyInfo == nil
if err = gobtools.EncodeBool(buf, val19); err != nil {
return err
}
if !val19 {
if err = (*r.UsesLibraryDependencyInfo).Encode(ctx, buf); err != nil {
return err
}
}
val20 := r.ProvidesUsesLibInfo == nil
if err = gobtools.EncodeBool(buf, val20); err != nil {
return err
}
if !val20 {
if err = (*r.ProvidesUsesLibInfo).Encode(ctx, buf); err != nil {
return err
}
}
if r.MissingOptionalUsesLibs == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.MissingOptionalUsesLibs)); err != nil {
return err
}
for val21 := 0; val21 < len(r.MissingOptionalUsesLibs); val21++ {
if err = gobtools.EncodeString(buf, r.MissingOptionalUsesLibs[val21]); err != nil {
return err
}
}
}
val22 := r.ModuleWithSdkDepInfo == nil
if err = gobtools.EncodeBool(buf, val22); err != nil {
return err
}
if !val22 {
if err = (*r.ModuleWithSdkDepInfo).Encode(ctx, buf); err != nil {
return err
}
}
if err = r.DexJarFile.Encode(ctx, buf); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.InstallFile); err != nil {
return err
}
if err = r.BootDexJarPath.Encode(ctx, buf); err != nil {
return err
}
if r.HiddenapiClassesJarPaths == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.HiddenapiClassesJarPaths)); err != nil {
return err
}
for val23 := 0; val23 < len(r.HiddenapiClassesJarPaths); val23++ {
if err = gobtools.EncodeInterface(ctx, buf, r.HiddenapiClassesJarPaths[val23]); err != nil {
return err
}
}
}
val24 := r.UncompressDexState == nil
if err = gobtools.EncodeBool(buf, val24); err != nil {
return err
}
if !val24 {
if err = gobtools.EncodeBool(buf, (*r.UncompressDexState)); err != nil {
return err
}
}
if err = gobtools.EncodeBool(buf, r.Active); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.BuiltInstalled); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.ConfigPath); err != nil {
return err
}
if r.LogtagsSrcs == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.LogtagsSrcs)); err != nil {
return err
}
for val25 := 0; val25 < len(r.LogtagsSrcs); val25++ {
if err = gobtools.EncodeInterface(ctx, buf, r.LogtagsSrcs[val25]); err != nil {
return err
}
}
}
if err = r.ProguardDictionary.Encode(ctx, buf); err != nil {
return err
}
if err = r.ProguardUsageZip.Encode(ctx, buf); err != nil {
return err
}
if r.LinterReports == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.LinterReports)); err != nil {
return err
}
for val26 := 0; val26 < len(r.LinterReports); val26++ {
if err = gobtools.EncodeInterface(ctx, buf, r.LinterReports[val26]); err != nil {
return err
}
}
}
if err = r.HostdexInstallFile.Encode(ctx, buf); err != nil {
return err
}
if r.GeneratedSrcjars == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.GeneratedSrcjars)); err != nil {
return err
}
for val27 := 0; val27 < len(r.GeneratedSrcjars); val27++ {
if err = gobtools.EncodeInterface(ctx, buf, r.GeneratedSrcjars[val27]); err != nil {
return err
}
}
}
if err = gobtools.EncodeBool(buf, r.ProfileGuided); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.Stem); err != nil {
return err
}
if err = r.DexJarBuildPath.Encode(ctx, buf); err != nil {
return err
}
val28 := r.DexpreopterInfo == nil
if err = gobtools.EncodeBool(buf, val28); err != nil {
return err
}
if !val28 {
if err = (*r.DexpreopterInfo).Encode(ctx, buf); err != nil {
return err
}
}
if r.XrefJavaFiles == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.XrefJavaFiles)); err != nil {
return err
}
for val29 := 0; val29 < len(r.XrefJavaFiles); val29++ {
if err = gobtools.EncodeInterface(ctx, buf, r.XrefJavaFiles[val29]); err != nil {
return err
}
}
}
if r.XrefKotlinFiles == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.XrefKotlinFiles)); err != nil {
return err
}
for val30 := 0; val30 < len(r.XrefKotlinFiles); val30++ {
if err = gobtools.EncodeInterface(ctx, buf, r.XrefKotlinFiles[val30]); err != nil {
return err
}
}
}
if err = gobtools.EncodeBool(buf, r.HasOverrideMinSdkVersion); err != nil {
return err
}
val31 := r.CompileDex == nil
if err = gobtools.EncodeBool(buf, val31); err != nil {
return err
}
if !val31 {
if err = gobtools.EncodeBool(buf, (*r.CompileDex)); err != nil {
return err
}
}
if err = gobtools.EncodeString(buf, r.SystemModules); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, r.Installable); err != nil {
return err
}
val32 := r.ApexDependencyInfo == nil
if err = gobtools.EncodeBool(buf, val32); err != nil {
return err
}
if !val32 {
if err = (*r.ApexDependencyInfo).Encode(ctx, buf); err != nil {
return err
}
}
if err = r.MaxSdkVersion.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r JavaInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.JavaInfo")
hasher.WriteInt(58)
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.HeaderJars))
for val1 := 0; val1 < len(r.HeaderJars); val1++ {
hasher.WriteString("android/soong/android:android.Path")
val2 := r.HeaderJars[val1] == nil
if val2 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.HeaderJars[val1]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val3 := r.HeaderJars[val1] == nil
if val3 {
hasher.WriteByte(0)
} else {
val4 := func(hasher *proptools.Hasher) error {
return r.HeaderJars[val1].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val4); err != nil {
return err
}
}
}
} else {
r.HeaderJars[val1].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.RepackagedHeaderJars))
for val5 := 0; val5 < len(r.RepackagedHeaderJars); val5++ {
hasher.WriteString("android/soong/android:android.Path")
val6 := r.RepackagedHeaderJars[val5] == nil
if val6 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.RepackagedHeaderJars[val5]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val7 := r.RepackagedHeaderJars[val5] == nil
if val7 {
hasher.WriteByte(0)
} else {
val8 := func(hasher *proptools.Hasher) error {
return r.RepackagedHeaderJars[val5].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val8); err != nil {
return err
}
}
}
} else {
r.RepackagedHeaderJars[val5].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.LocalHeaderJarsPreJarjar))
for val9 := 0; val9 < len(r.LocalHeaderJarsPreJarjar); val9++ {
hasher.WriteString("android/soong/android:android.Path")
val10 := r.LocalHeaderJarsPreJarjar[val9] == nil
if val10 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.LocalHeaderJarsPreJarjar[val9]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val11 := r.LocalHeaderJarsPreJarjar[val9] == nil
if val11 {
hasher.WriteByte(0)
} else {
val12 := func(hasher *proptools.Hasher) error {
return r.LocalHeaderJarsPreJarjar[val9].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val12); err != nil {
return err
}
}
}
} else {
r.LocalHeaderJarsPreJarjar[val9].(proptools.CustomHash).CustomHash(hasher)
}
}
}
val17 := func(hasher *proptools.Hasher, val13 android.Path) error {
hasher.WriteString(":java.android.Path")
val14 := val13 == nil
if val14 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val13); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val15 := val13 == nil
if val15 {
hasher.WriteByte(0)
} else {
val16 := func(hasher *proptools.Hasher) error { return val13.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val16); err != nil {
return err
}
}
}
} else {
val13.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.TransitiveLibsHeaderJarsForR8.Hash(hasher, "android.Path", val17); err != nil {
return err
}
val22 := func(hasher *proptools.Hasher, val18 android.Path) error {
hasher.WriteString(":java.android.Path")
val19 := val18 == nil
if val19 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val18); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val20 := val18 == nil
if val20 {
hasher.WriteByte(0)
} else {
val21 := func(hasher *proptools.Hasher) error { return val18.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val21); err != nil {
return err
}
}
}
} else {
val18.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.TransitiveStaticLibsHeaderJarsForR8.Hash(hasher, "android.Path", val22); err != nil {
return err
}
val27 := func(hasher *proptools.Hasher, val23 android.Path) error {
hasher.WriteString(":java.android.Path")
val24 := val23 == nil
if val24 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val23); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val25 := val23 == nil
if val25 {
hasher.WriteByte(0)
} else {
val26 := func(hasher *proptools.Hasher) error { return val23.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val26); err != nil {
return err
}
}
}
} else {
val23.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.TransitiveStaticLibsHeaderJars.Hash(hasher, "android.Path", val27); err != nil {
return err
}
val32 := func(hasher *proptools.Hasher, val28 android.Path) error {
hasher.WriteString(":java.android.Path")
val29 := val28 == nil
if val29 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val28); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val30 := val28 == nil
if val30 {
hasher.WriteByte(0)
} else {
val31 := func(hasher *proptools.Hasher) error { return val28.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val31); err != nil {
return err
}
}
}
} else {
val28.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.TransitiveStaticLibsImplementationJars.Hash(hasher, "android.Path", val32); err != nil {
return err
}
val37 := func(hasher *proptools.Hasher, val33 android.Path) error {
hasher.WriteString(":java.android.Path")
val34 := val33 == nil
if val34 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val33); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val35 := val33 == nil
if val35 {
hasher.WriteByte(0)
} else {
val36 := func(hasher *proptools.Hasher) error { return val33.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val36); err != nil {
return err
}
}
}
} else {
val33.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.TransitiveStaticLibsResourceJars.Hash(hasher, "android.Path", val37); err != nil {
return err
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.ImplementationAndResourcesJars))
for val38 := 0; val38 < len(r.ImplementationAndResourcesJars); val38++ {
hasher.WriteString("android/soong/android:android.Path")
val39 := r.ImplementationAndResourcesJars[val38] == nil
if val39 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ImplementationAndResourcesJars[val38]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val40 := r.ImplementationAndResourcesJars[val38] == nil
if val40 {
hasher.WriteByte(0)
} else {
val41 := func(hasher *proptools.Hasher) error {
return r.ImplementationAndResourcesJars[val38].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val41); err != nil {
return err
}
}
}
} else {
r.ImplementationAndResourcesJars[val38].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.ImplementationJars))
for val42 := 0; val42 < len(r.ImplementationJars); val42++ {
hasher.WriteString("android/soong/android:android.Path")
val43 := r.ImplementationJars[val42] == nil
if val43 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ImplementationJars[val42]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val44 := r.ImplementationJars[val42] == nil
if val44 {
hasher.WriteByte(0)
} else {
val45 := func(hasher *proptools.Hasher) error {
return r.ImplementationJars[val42].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val45); err != nil {
return err
}
}
}
} else {
r.ImplementationJars[val42].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.ResourceJars))
for val46 := 0; val46 < len(r.ResourceJars); val46++ {
hasher.WriteString("android/soong/android:android.Path")
val47 := r.ResourceJars[val46] == nil
if val47 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ResourceJars[val46]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val48 := r.ResourceJars[val46] == nil
if val48 {
hasher.WriteByte(0)
} else {
val49 := func(hasher *proptools.Hasher) error {
return r.ResourceJars[val46].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val49); err != nil {
return err
}
}
}
} else {
r.ResourceJars[val46].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.LocalHeaderJars))
for val50 := 0; val50 < len(r.LocalHeaderJars); val50++ {
hasher.WriteString("android/soong/android:android.Path")
val51 := r.LocalHeaderJars[val50] == nil
if val51 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.LocalHeaderJars[val50]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val52 := r.LocalHeaderJars[val50] == nil
if val52 {
hasher.WriteByte(0)
} else {
val53 := func(hasher *proptools.Hasher) error {
return r.LocalHeaderJars[val50].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val53); err != nil {
return err
}
}
}
} else {
r.LocalHeaderJars[val50].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.KotlinHeaderJars))
for val54 := 0; val54 < len(r.KotlinHeaderJars); val54++ {
hasher.WriteString("android/soong/android:android.Path")
val55 := r.KotlinHeaderJars[val54] == nil
if val55 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.KotlinHeaderJars[val54]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val56 := r.KotlinHeaderJars[val54] == nil
if val56 {
hasher.WriteByte(0)
} else {
val57 := func(hasher *proptools.Hasher) error {
return r.KotlinHeaderJars[val54].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val57); err != nil {
return err
}
}
}
} else {
r.KotlinHeaderJars[val54].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.AidlIncludeDirs))
for val58 := 0; val58 < len(r.AidlIncludeDirs); val58++ {
hasher.WriteString("android/soong/android:android.Path")
val59 := r.AidlIncludeDirs[val58] == nil
if val59 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.AidlIncludeDirs[val58]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val60 := r.AidlIncludeDirs[val58] == nil
if val60 {
hasher.WriteByte(0)
} else {
val61 := func(hasher *proptools.Hasher) error {
return r.AidlIncludeDirs[val58].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val61); err != nil {
return err
}
}
}
} else {
r.AidlIncludeDirs[val58].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.SrcJarArgs))
for val62 := 0; val62 < len(r.SrcJarArgs); val62++ {
hasher.WriteString(":.string")
hasher.WriteString(r.SrcJarArgs[val62])
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.SrcJarDeps))
for val63 := 0; val63 < len(r.SrcJarDeps); val63++ {
hasher.WriteString("android/soong/android:android.Path")
val64 := r.SrcJarDeps[val63] == nil
if val64 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.SrcJarDeps[val63]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val65 := r.SrcJarDeps[val63] == nil
if val65 {
hasher.WriteByte(0)
} else {
val66 := func(hasher *proptools.Hasher) error {
return r.SrcJarDeps[val63].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val66); err != nil {
return err
}
}
}
} else {
r.SrcJarDeps[val63].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":.map[string]android.Path")
hasher.WriteInt(len(r.KSnapshotFiles))
val67 := make([]string, 0, len(r.KSnapshotFiles))
for val69 := range r.KSnapshotFiles {
val67 = append(val67, val69)
}
proptools.SortOrdered(val67)
for _, val68 := range val67 {
hasher.WriteString(":.string")
hasher.WriteString(val68)
hasher.WriteString(":java.android.Path")
val70 := r.KSnapshotFiles[val68] == nil
if val70 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.KSnapshotFiles[val68]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val71 := r.KSnapshotFiles[val68] == nil
if val71 {
hasher.WriteByte(0)
} else {
val72 := func(hasher *proptools.Hasher) error {
return r.KSnapshotFiles[val68].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val72); err != nil {
return err
}
}
}
} else {
r.KSnapshotFiles[val68].(proptools.CustomHash).CustomHash(hasher)
}
}
}
val77 := func(hasher *proptools.Hasher, val73 android.Path) error {
hasher.WriteString(":java.android.Path")
val74 := val73 == nil
if val74 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val73); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val75 := val73 == nil
if val75 {
hasher.WriteByte(0)
} else {
val76 := func(hasher *proptools.Hasher) error { return val73.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val76); err != nil {
return err
}
}
}
} else {
val73.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.TransitiveSrcFiles.Hash(hasher, "android.Path", val77); err != nil {
return err
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.ExportedPlugins))
for val78 := 0; val78 < len(r.ExportedPlugins); val78++ {
hasher.WriteString("android/soong/android:android.Path")
val79 := r.ExportedPlugins[val78] == nil
if val79 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ExportedPlugins[val78]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val80 := r.ExportedPlugins[val78] == nil
if val80 {
hasher.WriteByte(0)
} else {
val81 := func(hasher *proptools.Hasher) error {
return r.ExportedPlugins[val78].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val81); err != nil {
return err
}
}
}
} else {
r.ExportedPlugins[val78].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.ExportedPluginClasses))
for val82 := 0; val82 < len(r.ExportedPluginClasses); val82++ {
hasher.WriteString(":.string")
hasher.WriteString(r.ExportedPluginClasses[val82])
}
hasher.WriteString(":.bool")
if r.ExportedPluginDisableTurbine {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
if err := r.JacocoInfo.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":java.StubsLinkType")
hasher.WriteString(":.int")
hasher.WriteUint64(uint64(int(r.StubsLinkType)))
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.AconfigIntermediateCacheOutputPaths))
for val83 := 0; val83 < len(r.AconfigIntermediateCacheOutputPaths); val83++ {
hasher.WriteString("android/soong/android:android.Path")
val84 := r.AconfigIntermediateCacheOutputPaths[val83] == nil
if val84 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.AconfigIntermediateCacheOutputPaths[val83]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val85 := r.AconfigIntermediateCacheOutputPaths[val83] == nil
if val85 {
hasher.WriteByte(0)
} else {
val86 := func(hasher *proptools.Hasher) error {
return r.AconfigIntermediateCacheOutputPaths[val83].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val86); err != nil {
return err
}
}
}
} else {
r.AconfigIntermediateCacheOutputPaths[val83].(proptools.CustomHash).CustomHash(hasher)
}
}
}
if err := r.SdkVersion.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":java.android.Path")
val87 := r.OutputFile == nil
if val87 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.OutputFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val88 := r.OutputFile == nil
if val88 {
hasher.WriteByte(0)
} else {
val89 := func(hasher *proptools.Hasher) error { return r.OutputFile.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val89); err != nil {
return err
}
}
}
} else {
r.OutputFile.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.ExtraOutputFiles))
for val90 := 0; val90 < len(r.ExtraOutputFiles); val90++ {
hasher.WriteString("android/soong/android:android.Path")
val91 := r.ExtraOutputFiles[val90] == nil
if val91 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ExtraOutputFiles[val90]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val92 := r.ExtraOutputFiles[val90] == nil
if val92 {
hasher.WriteByte(0)
} else {
val93 := func(hasher *proptools.Hasher) error {
return r.ExtraOutputFiles[val90].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val93); err != nil {
return err
}
}
}
} else {
r.ExtraOutputFiles[val90].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":.*AndroidLibraryDependencyInfo")
val94 := r.AndroidLibraryDependencyInfo == nil
if val94 {
hasher.WriteByte(0)
} else {
val95 := func(hasher *proptools.Hasher) error {
if err := (*r.AndroidLibraryDependencyInfo).CustomHash(hasher); err != nil {
return err
}
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.AndroidLibraryDependencyInfo)), val95); err != nil {
return err
}
}
hasher.WriteString(":.*UsesLibraryDependencyInfo")
val96 := r.UsesLibraryDependencyInfo == nil
if val96 {
hasher.WriteByte(0)
} else {
val97 := func(hasher *proptools.Hasher) error {
if err := (*r.UsesLibraryDependencyInfo).CustomHash(hasher); err != nil {
return err
}
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.UsesLibraryDependencyInfo)), val97); err != nil {
return err
}
}
hasher.WriteString(":.*ProvidesUsesLibInfo")
val98 := r.ProvidesUsesLibInfo == nil
if val98 {
hasher.WriteByte(0)
} else {
val99 := func(hasher *proptools.Hasher) error {
if err := (*r.ProvidesUsesLibInfo).CustomHash(hasher); err != nil {
return err
}
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.ProvidesUsesLibInfo)), val99); err != nil {
return err
}
}
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.MissingOptionalUsesLibs))
for val100 := 0; val100 < len(r.MissingOptionalUsesLibs); val100++ {
hasher.WriteString(":.string")
hasher.WriteString(r.MissingOptionalUsesLibs[val100])
}
hasher.WriteString(":.*ModuleWithSdkDepInfo")
val101 := r.ModuleWithSdkDepInfo == nil
if val101 {
hasher.WriteByte(0)
} else {
val102 := func(hasher *proptools.Hasher) error {
if err := (*r.ModuleWithSdkDepInfo).CustomHash(hasher); err != nil {
return err
}
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.ModuleWithSdkDepInfo)), val102); err != nil {
return err
}
}
if err := r.DexJarFile.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":java.android.Path")
val103 := r.InstallFile == nil
if val103 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.InstallFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val104 := r.InstallFile == nil
if val104 {
hasher.WriteByte(0)
} else {
val105 := func(hasher *proptools.Hasher) error { return r.InstallFile.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val105); err != nil {
return err
}
}
}
} else {
r.InstallFile.(proptools.CustomHash).CustomHash(hasher)
}
}
if err := r.BootDexJarPath.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.HiddenapiClassesJarPaths))
for val106 := 0; val106 < len(r.HiddenapiClassesJarPaths); val106++ {
hasher.WriteString("android/soong/android:android.Path")
val107 := r.HiddenapiClassesJarPaths[val106] == nil
if val107 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.HiddenapiClassesJarPaths[val106]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val108 := r.HiddenapiClassesJarPaths[val106] == nil
if val108 {
hasher.WriteByte(0)
} else {
val109 := func(hasher *proptools.Hasher) error {
return r.HiddenapiClassesJarPaths[val106].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val109); err != nil {
return err
}
}
}
} else {
r.HiddenapiClassesJarPaths[val106].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":.*bool")
val110 := r.UncompressDexState == nil
if val110 {
hasher.WriteByte(0)
} else {
val111 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.bool")
if *r.UncompressDexState {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.UncompressDexState)), val111); err != nil {
return err
}
}
hasher.WriteString(":.bool")
if r.Active {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":.string")
hasher.WriteString(r.BuiltInstalled)
hasher.WriteString(":java.android.WritablePath")
val112 := r.ConfigPath == nil
if val112 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ConfigPath); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val113 := r.ConfigPath == nil
if val113 {
hasher.WriteByte(0)
} else {
val114 := func(hasher *proptools.Hasher) error { return r.ConfigPath.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val114); err != nil {
return err
}
}
}
} else {
r.ConfigPath.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.LogtagsSrcs))
for val115 := 0; val115 < len(r.LogtagsSrcs); val115++ {
hasher.WriteString("android/soong/android:android.Path")
val116 := r.LogtagsSrcs[val115] == nil
if val116 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.LogtagsSrcs[val115]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val117 := r.LogtagsSrcs[val115] == nil
if val117 {
hasher.WriteByte(0)
} else {
val118 := func(hasher *proptools.Hasher) error {
return r.LogtagsSrcs[val115].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val118); err != nil {
return err
}
}
}
} else {
r.LogtagsSrcs[val115].(proptools.CustomHash).CustomHash(hasher)
}
}
}
if err := r.ProguardDictionary.CustomHash(hasher); err != nil {
return err
}
if err := r.ProguardUsageZip.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.LinterReports))
for val119 := 0; val119 < len(r.LinterReports); val119++ {
hasher.WriteString("android/soong/android:android.Path")
val120 := r.LinterReports[val119] == nil
if val120 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.LinterReports[val119]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val121 := r.LinterReports[val119] == nil
if val121 {
hasher.WriteByte(0)
} else {
val122 := func(hasher *proptools.Hasher) error {
return r.LinterReports[val119].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val122); err != nil {
return err
}
}
}
} else {
r.LinterReports[val119].(proptools.CustomHash).CustomHash(hasher)
}
}
}
if err := r.HostdexInstallFile.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":.[]android.Path")
hasher.WriteInt(len(r.GeneratedSrcjars))
for val123 := 0; val123 < len(r.GeneratedSrcjars); val123++ {
hasher.WriteString(":java.android.Path")
val124 := r.GeneratedSrcjars[val123] == nil
if val124 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.GeneratedSrcjars[val123]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val125 := r.GeneratedSrcjars[val123] == nil
if val125 {
hasher.WriteByte(0)
} else {
val126 := func(hasher *proptools.Hasher) error {
return r.GeneratedSrcjars[val123].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val126); err != nil {
return err
}
}
}
} else {
r.GeneratedSrcjars[val123].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":.bool")
if r.ProfileGuided {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":.string")
hasher.WriteString(r.Stem)
if err := r.DexJarBuildPath.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":.*DexpreopterInfo")
val127 := r.DexpreopterInfo == nil
if val127 {
hasher.WriteByte(0)
} else {
val128 := func(hasher *proptools.Hasher) error {
if err := (*r.DexpreopterInfo).CustomHash(hasher); err != nil {
return err
}
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.DexpreopterInfo)), val128); err != nil {
return err
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.XrefJavaFiles))
for val129 := 0; val129 < len(r.XrefJavaFiles); val129++ {
hasher.WriteString("android/soong/android:android.Path")
val130 := r.XrefJavaFiles[val129] == nil
if val130 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.XrefJavaFiles[val129]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val131 := r.XrefJavaFiles[val129] == nil
if val131 {
hasher.WriteByte(0)
} else {
val132 := func(hasher *proptools.Hasher) error {
return r.XrefJavaFiles[val129].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val132); err != nil {
return err
}
}
}
} else {
r.XrefJavaFiles[val129].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.XrefKotlinFiles))
for val133 := 0; val133 < len(r.XrefKotlinFiles); val133++ {
hasher.WriteString("android/soong/android:android.Path")
val134 := r.XrefKotlinFiles[val133] == nil
if val134 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.XrefKotlinFiles[val133]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val135 := r.XrefKotlinFiles[val133] == nil
if val135 {
hasher.WriteByte(0)
} else {
val136 := func(hasher *proptools.Hasher) error {
return r.XrefKotlinFiles[val133].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val136); err != nil {
return err
}
}
}
} else {
r.XrefKotlinFiles[val133].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":.bool")
if r.HasOverrideMinSdkVersion {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":.*bool")
val137 := r.CompileDex == nil
if val137 {
hasher.WriteByte(0)
} else {
val138 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.bool")
if *r.CompileDex {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.CompileDex)), val138); err != nil {
return err
}
}
hasher.WriteString(":.string")
hasher.WriteString(r.SystemModules)
hasher.WriteString(":.bool")
if r.Installable {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":.*ApexDependencyInfo")
val139 := r.ApexDependencyInfo == nil
if val139 {
hasher.WriteByte(0)
} else {
val140 := func(hasher *proptools.Hasher) error {
if err := (*r.ApexDependencyInfo).CustomHash(hasher); err != nil {
return err
}
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.ApexDependencyInfo)), val140); err != nil {
return err
}
}
if err := r.MaxSdkVersion.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *JavaInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val3 int
err = gobtools.DecodeInt(buf, &val3)
if err != nil {
return err
}
if val3 != -1 {
r.HeaderJars = make([]android.Path, val3)
for val4 := 0; val4 < int(val3); val4++ {
if val6, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val6 == nil {
r.HeaderJars[val4] = nil
} else {
r.HeaderJars[val4] = val6.(android.Path)
}
}
}
var val9 int
err = gobtools.DecodeInt(buf, &val9)
if err != nil {
return err
}
if val9 != -1 {
r.RepackagedHeaderJars = make([]android.Path, val9)
for val10 := 0; val10 < int(val9); val10++ {
if val12, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val12 == nil {
r.RepackagedHeaderJars[val10] = nil
} else {
r.RepackagedHeaderJars[val10] = val12.(android.Path)
}
}
}
var val15 int
err = gobtools.DecodeInt(buf, &val15)
if err != nil {
return err
}
if val15 != -1 {
r.LocalHeaderJarsPreJarjar = make([]android.Path, val15)
for val16 := 0; val16 < int(val15); val16++ {
if val18, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val18 == nil {
r.LocalHeaderJarsPreJarjar[val16] = nil
} else {
r.LocalHeaderJarsPreJarjar[val16] = val18.(android.Path)
}
}
}
if err = r.TransitiveLibsHeaderJarsForR8.DecodeInterface(ctx, buf); err != nil {
return err
}
if err = r.TransitiveStaticLibsHeaderJarsForR8.DecodeInterface(ctx, buf); err != nil {
return err
}
if err = r.TransitiveStaticLibsHeaderJars.DecodeInterface(ctx, buf); err != nil {
return err
}
if err = r.TransitiveStaticLibsImplementationJars.DecodeInterface(ctx, buf); err != nil {
return err
}
if err = r.TransitiveStaticLibsResourceJars.DecodeInterface(ctx, buf); err != nil {
return err
}
var val26 int
err = gobtools.DecodeInt(buf, &val26)
if err != nil {
return err
}
if val26 != -1 {
r.ImplementationAndResourcesJars = make([]android.Path, val26)
for val27 := 0; val27 < int(val26); val27++ {
if val29, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val29 == nil {
r.ImplementationAndResourcesJars[val27] = nil
} else {
r.ImplementationAndResourcesJars[val27] = val29.(android.Path)
}
}
}
var val32 int
err = gobtools.DecodeInt(buf, &val32)
if err != nil {
return err
}
if val32 != -1 {
r.ImplementationJars = make([]android.Path, val32)
for val33 := 0; val33 < int(val32); val33++ {
if val35, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val35 == nil {
r.ImplementationJars[val33] = nil
} else {
r.ImplementationJars[val33] = val35.(android.Path)
}
}
}
var val38 int
err = gobtools.DecodeInt(buf, &val38)
if err != nil {
return err
}
if val38 != -1 {
r.ResourceJars = make([]android.Path, val38)
for val39 := 0; val39 < int(val38); val39++ {
if val41, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val41 == nil {
r.ResourceJars[val39] = nil
} else {
r.ResourceJars[val39] = val41.(android.Path)
}
}
}
var val44 int
err = gobtools.DecodeInt(buf, &val44)
if err != nil {
return err
}
if val44 != -1 {
r.LocalHeaderJars = make([]android.Path, val44)
for val45 := 0; val45 < int(val44); val45++ {
if val47, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val47 == nil {
r.LocalHeaderJars[val45] = nil
} else {
r.LocalHeaderJars[val45] = val47.(android.Path)
}
}
}
var val50 int
err = gobtools.DecodeInt(buf, &val50)
if err != nil {
return err
}
if val50 != -1 {
r.KotlinHeaderJars = make([]android.Path, val50)
for val51 := 0; val51 < int(val50); val51++ {
if val53, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val53 == nil {
r.KotlinHeaderJars[val51] = nil
} else {
r.KotlinHeaderJars[val51] = val53.(android.Path)
}
}
}
var val56 int
err = gobtools.DecodeInt(buf, &val56)
if err != nil {
return err
}
if val56 != -1 {
r.AidlIncludeDirs = make([]android.Path, val56)
for val57 := 0; val57 < int(val56); val57++ {
if val59, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val59 == nil {
r.AidlIncludeDirs[val57] = nil
} else {
r.AidlIncludeDirs[val57] = val59.(android.Path)
}
}
}
var val61 int
err = gobtools.DecodeInt(buf, &val61)
if err != nil {
return err
}
if val61 != -1 {
r.SrcJarArgs = make([]string, val61)
for val62 := 0; val62 < int(val61); val62++ {
err = gobtools.DecodeString(buf, &r.SrcJarArgs[val62])
if err != nil {
return err
}
}
}
var val66 int
err = gobtools.DecodeInt(buf, &val66)
if err != nil {
return err
}
if val66 != -1 {
r.SrcJarDeps = make([]android.Path, val66)
for val67 := 0; val67 < int(val66); val67++ {
if val69, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val69 == nil {
r.SrcJarDeps[val67] = nil
} else {
r.SrcJarDeps[val67] = val69.(android.Path)
}
}
}
var val70 int
err = gobtools.DecodeInt(buf, &val70)
if err != nil {
return err
}
if val70 != -1 {
r.KSnapshotFiles = make(map[string]android.Path, val70)
for val71 := 0; val71 < int(val70); val71++ {
var val72 string
var val73 android.Path
err = gobtools.DecodeString(buf, &val72)
if err != nil {
return err
}
if val76, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val76 == nil {
val73 = nil
} else {
val73 = val76.(android.Path)
}
r.KSnapshotFiles[val72] = val73
}
}
if err = r.TransitiveSrcFiles.DecodeInterface(ctx, buf); err != nil {
return err
}
var val80 int
err = gobtools.DecodeInt(buf, &val80)
if err != nil {
return err
}
if val80 != -1 {
r.ExportedPlugins = make([]android.Path, val80)
for val81 := 0; val81 < int(val80); val81++ {
if val83, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val83 == nil {
r.ExportedPlugins[val81] = nil
} else {
r.ExportedPlugins[val81] = val83.(android.Path)
}
}
}
var val85 int
err = gobtools.DecodeInt(buf, &val85)
if err != nil {
return err
}
if val85 != -1 {
r.ExportedPluginClasses = make([]string, val85)
for val86 := 0; val86 < int(val85); val86++ {
err = gobtools.DecodeString(buf, &r.ExportedPluginClasses[val86])
if err != nil {
return err
}
}
}
err = gobtools.DecodeBool(buf, &r.ExportedPluginDisableTurbine)
if err != nil {
return err
}
if err = r.JacocoInfo.Decode(ctx, buf); err != nil {
return err
}
var val91 int
err = gobtools.DecodeInt(buf, &val91)
if err != nil {
return err
}
r.StubsLinkType = StubsLinkType(val91)
var val95 int
err = gobtools.DecodeInt(buf, &val95)
if err != nil {
return err
}
if val95 != -1 {
r.AconfigIntermediateCacheOutputPaths = make([]android.Path, val95)
for val96 := 0; val96 < int(val95); val96++ {
if val98, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val98 == nil {
r.AconfigIntermediateCacheOutputPaths[val96] = nil
} else {
r.AconfigIntermediateCacheOutputPaths[val96] = val98.(android.Path)
}
}
}
if err = r.SdkVersion.Decode(ctx, buf); err != nil {
return err
}
if val101, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val101 == nil {
r.OutputFile = nil
} else {
r.OutputFile = val101.(android.Path)
}
var val104 int
err = gobtools.DecodeInt(buf, &val104)
if err != nil {
return err
}
if val104 != -1 {
r.ExtraOutputFiles = make([]android.Path, val104)
for val105 := 0; val105 < int(val104); val105++ {
if val107, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val107 == nil {
r.ExtraOutputFiles[val105] = nil
} else {
r.ExtraOutputFiles[val105] = val107.(android.Path)
}
}
}
var val109 bool
if err = gobtools.DecodeBool(buf, &val109); err != nil {
return err
}
if !val109 {
var val108 AndroidLibraryDependencyInfo
if err = val108.Decode(ctx, buf); err != nil {
return err
}
r.AndroidLibraryDependencyInfo = &val108
}
var val112 bool
if err = gobtools.DecodeBool(buf, &val112); err != nil {
return err
}
if !val112 {
var val111 UsesLibraryDependencyInfo
if err = val111.Decode(ctx, buf); err != nil {
return err
}
r.UsesLibraryDependencyInfo = &val111
}
var val115 bool
if err = gobtools.DecodeBool(buf, &val115); err != nil {
return err
}
if !val115 {
var val114 ProvidesUsesLibInfo
if err = val114.Decode(ctx, buf); err != nil {
return err
}
r.ProvidesUsesLibInfo = &val114
}
var val118 int
err = gobtools.DecodeInt(buf, &val118)
if err != nil {
return err
}
if val118 != -1 {
r.MissingOptionalUsesLibs = make([]string, val118)
for val119 := 0; val119 < int(val118); val119++ {
err = gobtools.DecodeString(buf, &r.MissingOptionalUsesLibs[val119])
if err != nil {
return err
}
}
}
var val122 bool
if err = gobtools.DecodeBool(buf, &val122); err != nil {
return err
}
if !val122 {
var val121 ModuleWithSdkDepInfo
if err = val121.Decode(ctx, buf); err != nil {
return err
}
r.ModuleWithSdkDepInfo = &val121
}
if err = r.DexJarFile.Decode(ctx, buf); err != nil {
return err
}
if val126, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val126 == nil {
r.InstallFile = nil
} else {
r.InstallFile = val126.(android.Path)
}
if err = r.BootDexJarPath.Decode(ctx, buf); err != nil {
return err
}
var val130 int
err = gobtools.DecodeInt(buf, &val130)
if err != nil {
return err
}
if val130 != -1 {
r.HiddenapiClassesJarPaths = make([]android.Path, val130)
for val131 := 0; val131 < int(val130); val131++ {
if val133, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val133 == nil {
r.HiddenapiClassesJarPaths[val131] = nil
} else {
r.HiddenapiClassesJarPaths[val131] = val133.(android.Path)
}
}
}
var val135 bool
if err = gobtools.DecodeBool(buf, &val135); err != nil {
return err
}
if !val135 {
var val134 bool
err = gobtools.DecodeBool(buf, &val134)
if err != nil {
return err
}
r.UncompressDexState = &val134
}
err = gobtools.DecodeBool(buf, &r.Active)
if err != nil {
return err
}
err = gobtools.DecodeString(buf, &r.BuiltInstalled)
if err != nil {
return err
}
if val140, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val140 == nil {
r.ConfigPath = nil
} else {
r.ConfigPath = val140.(android.WritablePath)
}
var val143 int
err = gobtools.DecodeInt(buf, &val143)
if err != nil {
return err
}
if val143 != -1 {
r.LogtagsSrcs = make([]android.Path, val143)
for val144 := 0; val144 < int(val143); val144++ {
if val146, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val146 == nil {
r.LogtagsSrcs[val144] = nil
} else {
r.LogtagsSrcs[val144] = val146.(android.Path)
}
}
}
if err = r.ProguardDictionary.Decode(ctx, buf); err != nil {
return err
}
if err = r.ProguardUsageZip.Decode(ctx, buf); err != nil {
return err
}
var val151 int
err = gobtools.DecodeInt(buf, &val151)
if err != nil {
return err
}
if val151 != -1 {
r.LinterReports = make([]android.Path, val151)
for val152 := 0; val152 < int(val151); val152++ {
if val154, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val154 == nil {
r.LinterReports[val152] = nil
} else {
r.LinterReports[val152] = val154.(android.Path)
}
}
}
if err = r.HostdexInstallFile.Decode(ctx, buf); err != nil {
return err
}
var val157 int
err = gobtools.DecodeInt(buf, &val157)
if err != nil {
return err
}
if val157 != -1 {
r.GeneratedSrcjars = make([]android.Path, val157)
for val158 := 0; val158 < int(val157); val158++ {
if val160, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val160 == nil {
r.GeneratedSrcjars[val158] = nil
} else {
r.GeneratedSrcjars[val158] = val160.(android.Path)
}
}
}
err = gobtools.DecodeBool(buf, &r.ProfileGuided)
if err != nil {
return err
}
err = gobtools.DecodeString(buf, &r.Stem)
if err != nil {
return err
}
if err = r.DexJarBuildPath.Decode(ctx, buf); err != nil {
return err
}
var val165 bool
if err = gobtools.DecodeBool(buf, &val165); err != nil {
return err
}
if !val165 {
var val164 DexpreopterInfo
if err = val164.Decode(ctx, buf); err != nil {
return err
}
r.DexpreopterInfo = &val164
}
var val169 int
err = gobtools.DecodeInt(buf, &val169)
if err != nil {
return err
}
if val169 != -1 {
r.XrefJavaFiles = make([]android.Path, val169)
for val170 := 0; val170 < int(val169); val170++ {
if val172, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val172 == nil {
r.XrefJavaFiles[val170] = nil
} else {
r.XrefJavaFiles[val170] = val172.(android.Path)
}
}
}
var val175 int
err = gobtools.DecodeInt(buf, &val175)
if err != nil {
return err
}
if val175 != -1 {
r.XrefKotlinFiles = make([]android.Path, val175)
for val176 := 0; val176 < int(val175); val176++ {
if val178, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val178 == nil {
r.XrefKotlinFiles[val176] = nil
} else {
r.XrefKotlinFiles[val176] = val178.(android.Path)
}
}
}
err = gobtools.DecodeBool(buf, &r.HasOverrideMinSdkVersion)
if err != nil {
return err
}
var val181 bool
if err = gobtools.DecodeBool(buf, &val181); err != nil {
return err
}
if !val181 {
var val180 bool
err = gobtools.DecodeBool(buf, &val180)
if err != nil {
return err
}
r.CompileDex = &val180
}
err = gobtools.DecodeString(buf, &r.SystemModules)
if err != nil {
return err
}
err = gobtools.DecodeBool(buf, &r.Installable)
if err != nil {
return err
}
var val186 bool
if err = gobtools.DecodeBool(buf, &val186); err != nil {
return err
}
if !val186 {
var val185 ApexDependencyInfo
if err = val185.Decode(ctx, buf); err != nil {
return err
}
r.ApexDependencyInfo = &val185
}
if err = r.MaxSdkVersion.Decode(ctx, buf); err != nil {
return err
}
return err
}
var JavaInfoGobRegId int16
func (r JavaInfo) GetTypeId() int16 {
return JavaInfoGobRegId
}
func (r DexpreopterInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.OutputProfilePathOnHost); err != nil {
return err
}
if r.ApexSystemServerDexpreoptInstalls == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ApexSystemServerDexpreoptInstalls)); err != nil {
return err
}
for val1 := 0; val1 < len(r.ApexSystemServerDexpreoptInstalls); val1++ {
if err = r.ApexSystemServerDexpreoptInstalls[val1].Encode(ctx, buf); err != nil {
return err
}
}
}
if r.ApexSystemServerDexJars == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ApexSystemServerDexJars)); err != nil {
return err
}
for val2 := 0; val2 < len(r.ApexSystemServerDexJars); val2++ {
if err = gobtools.EncodeInterface(ctx, buf, r.ApexSystemServerDexJars[val2]); err != nil {
return err
}
}
}
return err
}
func (r DexpreopterInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.DexpreopterInfo")
hasher.WriteInt(3)
hasher.WriteString(":java.android.Path")
val1 := r.OutputProfilePathOnHost == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.OutputProfilePathOnHost); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.OutputProfilePathOnHost == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error {
return r.OutputProfilePathOnHost.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.OutputProfilePathOnHost.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":.[]DexpreopterInstall")
hasher.WriteInt(len(r.ApexSystemServerDexpreoptInstalls))
for val4 := 0; val4 < len(r.ApexSystemServerDexpreoptInstalls); val4++ {
if err := r.ApexSystemServerDexpreoptInstalls[val4].CustomHash(hasher); err != nil {
return err
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.ApexSystemServerDexJars))
for val5 := 0; val5 < len(r.ApexSystemServerDexJars); val5++ {
hasher.WriteString("android/soong/android:android.Path")
val6 := r.ApexSystemServerDexJars[val5] == nil
if val6 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ApexSystemServerDexJars[val5]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val7 := r.ApexSystemServerDexJars[val5] == nil
if val7 {
hasher.WriteByte(0)
} else {
val8 := func(hasher *proptools.Hasher) error {
return r.ApexSystemServerDexJars[val5].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val8); err != nil {
return err
}
}
}
} else {
r.ApexSystemServerDexJars[val5].(proptools.CustomHash).CustomHash(hasher)
}
}
}
return nil
}
func (r *DexpreopterInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.OutputProfilePathOnHost = nil
} else {
r.OutputProfilePathOnHost = val2.(android.Path)
}
var val4 int
err = gobtools.DecodeInt(buf, &val4)
if err != nil {
return err
}
if val4 != -1 {
r.ApexSystemServerDexpreoptInstalls = make([]DexpreopterInstall, val4)
for val5 := 0; val5 < int(val4); val5++ {
if err = r.ApexSystemServerDexpreoptInstalls[val5].Decode(ctx, buf); err != nil {
return err
}
}
}
var val9 int
err = gobtools.DecodeInt(buf, &val9)
if err != nil {
return err
}
if val9 != -1 {
r.ApexSystemServerDexJars = make([]android.Path, val9)
for val10 := 0; val10 < int(val9); val10++ {
if val12, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val12 == nil {
r.ApexSystemServerDexJars[val10] = nil
} else {
r.ApexSystemServerDexJars[val10] = val12.(android.Path)
}
}
}
return err
}
var DexpreopterInfoGobRegId int16
func (r DexpreopterInfo) GetTypeId() int16 {
return DexpreopterInfoGobRegId
}
func (r JavaLibraryInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeBool(buf, r.Prebuilt); err != nil {
return err
}
if r.PermittedPackages == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.PermittedPackages)); err != nil {
return err
}
for val1 := 0; val1 < len(r.PermittedPackages); val1++ {
if err = gobtools.EncodeString(buf, r.PermittedPackages[val1]); err != nil {
return err
}
}
}
return err
}
func (r JavaLibraryInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.JavaLibraryInfo")
hasher.WriteInt(2)
hasher.WriteString(":.bool")
if r.Prebuilt {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.PermittedPackages))
for val1 := 0; val1 < len(r.PermittedPackages); val1++ {
hasher.WriteString(":.string")
hasher.WriteString(r.PermittedPackages[val1])
}
return nil
}
func (r *JavaLibraryInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
err = gobtools.DecodeBool(buf, &r.Prebuilt)
if err != nil {
return err
}
var val3 int
err = gobtools.DecodeInt(buf, &val3)
if err != nil {
return err
}
if val3 != -1 {
r.PermittedPackages = make([]string, val3)
for val4 := 0; val4 < int(val3); val4++ {
err = gobtools.DecodeString(buf, &r.PermittedPackages[val4])
if err != nil {
return err
}
}
}
return err
}
var JavaLibraryInfoGobRegId int16
func (r JavaLibraryInfo) GetTypeId() int16 {
return JavaLibraryInfoGobRegId
}
func (r JavaDexImportInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
return err
}
func (r JavaDexImportInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.JavaDexImportInfo")
hasher.WriteInt(0)
return nil
}
func (r *JavaDexImportInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
return err
}
var JavaDexImportInfoGobRegId int16
func (r JavaDexImportInfo) GetTypeId() int16 {
return JavaDexImportInfoGobRegId
}
func (r SyspropPublicStubInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
val1 := r.JavaInfo == nil
if err = gobtools.EncodeBool(buf, val1); err != nil {
return err
}
if !val1 {
if err = (*r.JavaInfo).Encode(ctx, buf); err != nil {
return err
}
}
return err
}
func (r SyspropPublicStubInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.SyspropPublicStubInfo")
hasher.WriteInt(1)
hasher.WriteString(":.*JavaInfo")
val1 := r.JavaInfo == nil
if val1 {
hasher.WriteByte(0)
} else {
val2 := func(hasher *proptools.Hasher) error {
if err := (*r.JavaInfo).CustomHash(hasher); err != nil {
return err
}
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.JavaInfo)), val2); err != nil {
return err
}
}
return nil
}
func (r *SyspropPublicStubInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 bool
if err = gobtools.DecodeBool(buf, &val2); err != nil {
return err
}
if !val2 {
var val1 JavaInfo
if err = val1.Decode(ctx, buf); err != nil {
return err
}
r.JavaInfo = &val1
}
return err
}
var SyspropPublicStubInfoGobRegId int16
func (r SyspropPublicStubInfo) GetTypeId() int16 {
return SyspropPublicStubInfoGobRegId
}
func (r jniLib) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeString(buf, r.name); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.path); err != nil {
return err
}
if err = r.target.Encode(ctx, buf); err != nil {
return err
}
if err = r.coverageFile.Encode(ctx, buf); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.unstrippedFile); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.partition); err != nil {
return err
}
if r.installPaths == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.installPaths)); err != nil {
return err
}
for val1 := 0; val1 < len(r.installPaths); val1++ {
if err = r.installPaths[val1].Encode(ctx, buf); err != nil {
return err
}
}
}
return err
}
func (r jniLib) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.jniLib")
hasher.WriteInt(7)
hasher.WriteString(":.string")
hasher.WriteString(r.name)
hasher.WriteString(":java.android.Path")
val1 := r.path == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.path); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.path == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.path.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.path.(proptools.CustomHash).CustomHash(hasher)
}
}
if err := r.target.CustomHash(hasher); err != nil {
return err
}
if err := r.coverageFile.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":java.android.Path")
val4 := r.unstrippedFile == nil
if val4 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.unstrippedFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val5 := r.unstrippedFile == nil
if val5 {
hasher.WriteByte(0)
} else {
val6 := func(hasher *proptools.Hasher) error {
return r.unstrippedFile.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
return err
}
}
}
} else {
r.unstrippedFile.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":.string")
hasher.WriteString(r.partition)
hasher.WriteString(":java.android.InstallPaths")
hasher.WriteString(":.[]InstallPath")
hasher.WriteInt(len(r.installPaths))
for val7 := 0; val7 < len(r.installPaths); val7++ {
if err := r.installPaths[val7].CustomHash(hasher); err != nil {
return err
}
}
return nil
}
func (r *jniLib) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
err = gobtools.DecodeString(buf, &r.name)
if err != nil {
return err
}
if val3, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val3 == nil {
r.path = nil
} else {
r.path = val3.(android.Path)
}
if err = r.target.Decode(ctx, buf); err != nil {
return err
}
if err = r.coverageFile.Decode(ctx, buf); err != nil {
return err
}
if val7, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val7 == nil {
r.unstrippedFile = nil
} else {
r.unstrippedFile = val7.(android.Path)
}
err = gobtools.DecodeString(buf, &r.partition)
if err != nil {
return err
}
var val11 int
err = gobtools.DecodeInt(buf, &val11)
if err != nil {
return err
}
if val11 != -1 {
r.installPaths = make([]android.InstallPath, val11)
for val12 := 0; val12 < int(val11); val12++ {
if err = r.installPaths[val12].Decode(ctx, buf); err != nil {
return err
}
}
}
return err
}
var jniLibGobRegId int16
func (r jniLib) GetTypeId() int16 {
return jniLibGobRegId
}
func (r JavaTestInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.TestConfig); err != nil {
return err
}
return err
}
func (r JavaTestInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.JavaTestInfo")
hasher.WriteInt(1)
hasher.WriteString(":java.android.Path")
val1 := r.TestConfig == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.TestConfig); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.TestConfig == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.TestConfig.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.TestConfig.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
func (r *JavaTestInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.TestConfig = nil
} else {
r.TestConfig = val2.(android.Path)
}
return err
}
var JavaTestInfoGobRegId int16
func (r JavaTestInfo) GetTypeId() int16 {
return JavaTestInfoGobRegId
}
func (r JavaApiImportInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.ApiFile); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.ApiSurface); err != nil {
return err
}
return err
}
func (r JavaApiImportInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.JavaApiImportInfo")
hasher.WriteInt(2)
hasher.WriteString(":java.android.Path")
val1 := r.ApiFile == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ApiFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.ApiFile == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.ApiFile.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.ApiFile.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":.string")
hasher.WriteString(r.ApiSurface)
return nil
}
func (r *JavaApiImportInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.ApiFile = nil
} else {
r.ApiFile = val2.(android.Path)
}
err = gobtools.DecodeString(buf, &r.ApiSurface)
if err != nil {
return err
}
return err
}
var JavaApiImportInfoGobRegId int16
func (r JavaApiImportInfo) GetTypeId() int16 {
return JavaApiImportInfoGobRegId
}
func (r JavaImportDepInSameApexChecker) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = r.BaseDepInSameApexChecker.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r JavaImportDepInSameApexChecker) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.JavaImportDepInSameApexChecker")
hasher.WriteInt(1)
if err := r.BaseDepInSameApexChecker.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *JavaImportDepInSameApexChecker) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if err = r.BaseDepInSameApexChecker.Decode(ctx, buf); err != nil {
return err
}
return err
}
var JavaImportDepInSameApexCheckerGobRegId int16
func (r JavaImportDepInSameApexChecker) GetTypeId() int16 {
return JavaImportDepInSameApexCheckerGobRegId
}
// end of java.go
// begin of lint.go
func init() {
LintInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(LintInfo) })
ModuleLintReportZipsInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ModuleLintReportZipsInfo) })
}
func (r LintInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.HTML); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.Text); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.XML); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.ReferenceBaseline); err != nil {
return err
}
if err = r.TransitiveHTML.EncodeInterface(ctx, buf); err != nil {
return err
}
if err = r.TransitiveText.EncodeInterface(ctx, buf); err != nil {
return err
}
if err = r.TransitiveXML.EncodeInterface(ctx, buf); err != nil {
return err
}
if err = r.TransitiveBaseline.EncodeInterface(ctx, buf); err != nil {
return err
}
return err
}
func (r LintInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.LintInfo")
hasher.WriteInt(8)
hasher.WriteString(":java.android.Path")
val1 := r.HTML == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.HTML); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.HTML == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.HTML.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.HTML.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val4 := r.Text == nil
if val4 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.Text); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val5 := r.Text == nil
if val5 {
hasher.WriteByte(0)
} else {
val6 := func(hasher *proptools.Hasher) error { return r.Text.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
return err
}
}
}
} else {
r.Text.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val7 := r.XML == nil
if val7 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.XML); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val8 := r.XML == nil
if val8 {
hasher.WriteByte(0)
} else {
val9 := func(hasher *proptools.Hasher) error { return r.XML.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val9); err != nil {
return err
}
}
}
} else {
r.XML.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val10 := r.ReferenceBaseline == nil
if val10 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.ReferenceBaseline); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val11 := r.ReferenceBaseline == nil
if val11 {
hasher.WriteByte(0)
} else {
val12 := func(hasher *proptools.Hasher) error {
return r.ReferenceBaseline.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val12); err != nil {
return err
}
}
}
} else {
r.ReferenceBaseline.(proptools.CustomHash).CustomHash(hasher)
}
}
val17 := func(hasher *proptools.Hasher, val13 android.Path) error {
hasher.WriteString(":java.android.Path")
val14 := val13 == nil
if val14 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val13); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val15 := val13 == nil
if val15 {
hasher.WriteByte(0)
} else {
val16 := func(hasher *proptools.Hasher) error { return val13.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val16); err != nil {
return err
}
}
}
} else {
val13.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.TransitiveHTML.Hash(hasher, "android.Path", val17); err != nil {
return err
}
val22 := func(hasher *proptools.Hasher, val18 android.Path) error {
hasher.WriteString(":java.android.Path")
val19 := val18 == nil
if val19 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val18); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val20 := val18 == nil
if val20 {
hasher.WriteByte(0)
} else {
val21 := func(hasher *proptools.Hasher) error { return val18.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val21); err != nil {
return err
}
}
}
} else {
val18.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.TransitiveText.Hash(hasher, "android.Path", val22); err != nil {
return err
}
val27 := func(hasher *proptools.Hasher, val23 android.Path) error {
hasher.WriteString(":java.android.Path")
val24 := val23 == nil
if val24 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val23); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val25 := val23 == nil
if val25 {
hasher.WriteByte(0)
} else {
val26 := func(hasher *proptools.Hasher) error { return val23.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val26); err != nil {
return err
}
}
}
} else {
val23.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.TransitiveXML.Hash(hasher, "android.Path", val27); err != nil {
return err
}
val32 := func(hasher *proptools.Hasher, val28 android.Path) error {
hasher.WriteString(":java.android.Path")
val29 := val28 == nil
if val29 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val28); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val30 := val28 == nil
if val30 {
hasher.WriteByte(0)
} else {
val31 := func(hasher *proptools.Hasher) error { return val28.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val31); err != nil {
return err
}
}
}
} else {
val28.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.TransitiveBaseline.Hash(hasher, "android.Path", val32); err != nil {
return err
}
return nil
}
func (r *LintInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.HTML = nil
} else {
r.HTML = val2.(android.Path)
}
if val4, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val4 == nil {
r.Text = nil
} else {
r.Text = val4.(android.Path)
}
if val6, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val6 == nil {
r.XML = nil
} else {
r.XML = val6.(android.Path)
}
if val8, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val8 == nil {
r.ReferenceBaseline = nil
} else {
r.ReferenceBaseline = val8.(android.Path)
}
if err = r.TransitiveHTML.DecodeInterface(ctx, buf); err != nil {
return err
}
if err = r.TransitiveText.DecodeInterface(ctx, buf); err != nil {
return err
}
if err = r.TransitiveXML.DecodeInterface(ctx, buf); err != nil {
return err
}
if err = r.TransitiveBaseline.DecodeInterface(ctx, buf); err != nil {
return err
}
return err
}
var LintInfoGobRegId int16
func (r LintInfo) GetTypeId() int16 {
return LintInfoGobRegId
}
func (r ModuleLintReportZipsInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.HtmlZip); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.TextZip); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.XmlZip); err != nil {
return err
}
return err
}
func (r ModuleLintReportZipsInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ModuleLintReportZipsInfo")
hasher.WriteInt(3)
hasher.WriteString(":java.android.Path")
val1 := r.HtmlZip == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.HtmlZip); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.HtmlZip == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.HtmlZip.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.HtmlZip.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val4 := r.TextZip == nil
if val4 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.TextZip); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val5 := r.TextZip == nil
if val5 {
hasher.WriteByte(0)
} else {
val6 := func(hasher *proptools.Hasher) error { return r.TextZip.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
return err
}
}
}
} else {
r.TextZip.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Path")
val7 := r.XmlZip == nil
if val7 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.XmlZip); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val8 := r.XmlZip == nil
if val8 {
hasher.WriteByte(0)
} else {
val9 := func(hasher *proptools.Hasher) error { return r.XmlZip.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val9); err != nil {
return err
}
}
}
} else {
r.XmlZip.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
func (r *ModuleLintReportZipsInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.HtmlZip = nil
} else {
r.HtmlZip = val2.(android.Path)
}
if val4, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val4 == nil {
r.TextZip = nil
} else {
r.TextZip = val4.(android.Path)
}
if val6, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val6 == nil {
r.XmlZip = nil
} else {
r.XmlZip = val6.(android.Path)
}
return err
}
var ModuleLintReportZipsInfoGobRegId int16
func (r ModuleLintReportZipsInfo) GetTypeId() int16 {
return ModuleLintReportZipsInfoGobRegId
}
// end of lint.go
// begin of platform_compat_config.go
func init() {
PlatformCompatConfigInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(PlatformCompatConfigInfo) })
}
func (r PlatformCompatConfigInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = r.CompatConfig.Encode(ctx, buf); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.SubDir); err != nil {
return err
}
if err = gobtools.EncodeInterface(ctx, buf, r.CompatConfigMetadata); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, r.IncludeInMergedXml); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, r.Prebuilt); err != nil {
return err
}
return err
}
func (r PlatformCompatConfigInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.PlatformCompatConfigInfo")
hasher.WriteInt(5)
if err := r.CompatConfig.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":.string")
hasher.WriteString(r.SubDir)
hasher.WriteString(":java.android.Path")
val1 := r.CompatConfigMetadata == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.CompatConfigMetadata); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.CompatConfigMetadata == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error {
return r.CompatConfigMetadata.(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.CompatConfigMetadata.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":.bool")
if r.IncludeInMergedXml {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":.bool")
if r.Prebuilt {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
return nil
}
func (r *PlatformCompatConfigInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if err = r.CompatConfig.Decode(ctx, buf); err != nil {
return err
}
err = gobtools.DecodeString(buf, &r.SubDir)
if err != nil {
return err
}
if val4, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val4 == nil {
r.CompatConfigMetadata = nil
} else {
r.CompatConfigMetadata = val4.(android.Path)
}
err = gobtools.DecodeBool(buf, &r.IncludeInMergedXml)
if err != nil {
return err
}
err = gobtools.DecodeBool(buf, &r.Prebuilt)
if err != nil {
return err
}
return err
}
var PlatformCompatConfigInfoGobRegId int16
func (r PlatformCompatConfigInfo) GetTypeId() int16 {
return PlatformCompatConfigInfoGobRegId
}
// end of platform_compat_config.go
// begin of plugin.go
func init() {
JavaPluginInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(JavaPluginInfo) })
KotlinPluginInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(KotlinPluginInfo) })
}
func (r JavaPluginInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
val1 := r.ProcessorClass == nil
if err = gobtools.EncodeBool(buf, val1); err != nil {
return err
}
if !val1 {
if err = gobtools.EncodeString(buf, (*r.ProcessorClass)); err != nil {
return err
}
}
if err = gobtools.EncodeBool(buf, r.GeneratesApi); err != nil {
return err
}
return err
}
func (r JavaPluginInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.JavaPluginInfo")
hasher.WriteInt(2)
hasher.WriteString(":.*string")
val1 := r.ProcessorClass == nil
if val1 {
hasher.WriteByte(0)
} else {
val2 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.string")
hasher.WriteString((*r.ProcessorClass))
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.ProcessorClass)), val2); err != nil {
return err
}
}
hasher.WriteString(":.bool")
if r.GeneratesApi {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
return nil
}
func (r *JavaPluginInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 bool
if err = gobtools.DecodeBool(buf, &val2); err != nil {
return err
}
if !val2 {
var val1 string
err = gobtools.DecodeString(buf, &val1)
if err != nil {
return err
}
r.ProcessorClass = &val1
}
err = gobtools.DecodeBool(buf, &r.GeneratesApi)
if err != nil {
return err
}
return err
}
var JavaPluginInfoGobRegId int16
func (r JavaPluginInfo) GetTypeId() int16 {
return JavaPluginInfoGobRegId
}
func (r KotlinPluginInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
return err
}
func (r KotlinPluginInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.KotlinPluginInfo")
hasher.WriteInt(0)
return nil
}
func (r *KotlinPluginInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
return err
}
var KotlinPluginInfoGobRegId int16
func (r KotlinPluginInfo) GetTypeId() int16 {
return KotlinPluginInfoGobRegId
}
// end of plugin.go
// begin of ravenwood.go
func init() {
ravenwoodLibgroupJniDepProviderInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ravenwoodLibgroupJniDepProviderInfo) })
ravenwoodLibgroupInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ravenwoodLibgroupInfo) })
}
func (r ravenwoodLibgroupJniDepProviderInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.names == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.names)); err != nil {
return err
}
for val1, val2 := range r.names {
if err = gobtools.EncodeString(buf, val1); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, val2); err != nil {
return err
}
}
}
return err
}
func (r ravenwoodLibgroupJniDepProviderInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ravenwoodLibgroupJniDepProviderInfo")
hasher.WriteInt(1)
hasher.WriteString(":.map[string]bool")
hasher.WriteInt(len(r.names))
val1 := make([]string, 0, len(r.names))
for val3 := range r.names {
val1 = append(val1, val3)
}
proptools.SortOrdered(val1)
for _, val2 := range val1 {
hasher.WriteString(":.string")
hasher.WriteString(val2)
hasher.WriteString(":.bool")
if r.names[val2] {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
}
return nil
}
func (r *ravenwoodLibgroupJniDepProviderInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val1 int
err = gobtools.DecodeInt(buf, &val1)
if err != nil {
return err
}
if val1 != -1 {
r.names = make(map[string]bool, val1)
for val2 := 0; val2 < int(val1); val2++ {
var val3 string
var val4 bool
err = gobtools.DecodeString(buf, &val3)
if err != nil {
return err
}
err = gobtools.DecodeBool(buf, &val4)
if err != nil {
return err
}
r.names[val3] = val4
}
}
return err
}
var ravenwoodLibgroupJniDepProviderInfoGobRegId int16
func (r ravenwoodLibgroupJniDepProviderInfo) GetTypeId() int16 {
return ravenwoodLibgroupJniDepProviderInfoGobRegId
}
func (r ravenwoodLibgroupInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.libs == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.libs)); err != nil {
return err
}
for val1 := 0; val1 < len(r.libs); val1++ {
if err = gobtools.EncodeString(buf, r.libs[val1]); err != nil {
return err
}
}
}
return err
}
func (r ravenwoodLibgroupInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ravenwoodLibgroupInfo")
hasher.WriteInt(1)
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.libs))
for val1 := 0; val1 < len(r.libs); val1++ {
hasher.WriteString(":.string")
hasher.WriteString(r.libs[val1])
}
return nil
}
func (r *ravenwoodLibgroupInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
if val2 != -1 {
r.libs = make([]string, val2)
for val3 := 0; val3 < int(val2); val3++ {
err = gobtools.DecodeString(buf, &r.libs[val3])
if err != nil {
return err
}
}
}
return err
}
var ravenwoodLibgroupInfoGobRegId int16
func (r ravenwoodLibgroupInfo) GetTypeId() int16 {
return ravenwoodLibgroupInfoGobRegId
}
// end of ravenwood.go
// begin of robolectric.go
func init() {
RobolectricRuntimesInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(RobolectricRuntimesInfo) })
}
func (r RobolectricRuntimesInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.Runtimes == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.Runtimes)); err != nil {
return err
}
for val1 := 0; val1 < len(r.Runtimes); val1++ {
if err = r.Runtimes[val1].Encode(ctx, buf); err != nil {
return err
}
}
}
return err
}
func (r RobolectricRuntimesInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.RobolectricRuntimesInfo")
hasher.WriteInt(1)
hasher.WriteString(":.[]android.InstallPath")
hasher.WriteInt(len(r.Runtimes))
for val1 := 0; val1 < len(r.Runtimes); val1++ {
if err := r.Runtimes[val1].CustomHash(hasher); err != nil {
return err
}
}
return nil
}
func (r *RobolectricRuntimesInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
if val2 != -1 {
r.Runtimes = make([]android.InstallPath, val2)
for val3 := 0; val3 < int(val2); val3++ {
if err = r.Runtimes[val3].Decode(ctx, buf); err != nil {
return err
}
}
}
return err
}
var RobolectricRuntimesInfoGobRegId int16
func (r RobolectricRuntimesInfo) GetTypeId() int16 {
return RobolectricRuntimesInfoGobRegId
}
// end of robolectric.go
// begin of rro.go
func init() {
RuntimeResourceOverlayInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(RuntimeResourceOverlayInfo) })
}
func (r RuntimeResourceOverlayInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = gobtools.EncodeInterface(ctx, buf, r.OutputFile); err != nil {
return err
}
if err = r.Certificate.Encode(ctx, buf); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.Theme); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.OverriddenManifestPackageName); err != nil {
return err
}
return err
}
func (r RuntimeResourceOverlayInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.RuntimeResourceOverlayInfo")
hasher.WriteInt(4)
hasher.WriteString(":java.android.Path")
val1 := r.OutputFile == nil
if val1 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.OutputFile); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val2 := r.OutputFile == nil
if val2 {
hasher.WriteByte(0)
} else {
val3 := func(hasher *proptools.Hasher) error { return r.OutputFile.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val3); err != nil {
return err
}
}
}
} else {
r.OutputFile.(proptools.CustomHash).CustomHash(hasher)
}
}
if err := r.Certificate.CustomHash(hasher); err != nil {
return err
}
hasher.WriteString(":.string")
hasher.WriteString(r.Theme)
hasher.WriteString(":.string")
hasher.WriteString(r.OverriddenManifestPackageName)
return nil
}
func (r *RuntimeResourceOverlayInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if val2, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val2 == nil {
r.OutputFile = nil
} else {
r.OutputFile = val2.(android.Path)
}
if err = r.Certificate.Decode(ctx, buf); err != nil {
return err
}
err = gobtools.DecodeString(buf, &r.Theme)
if err != nil {
return err
}
err = gobtools.DecodeString(buf, &r.OverriddenManifestPackageName)
if err != nil {
return err
}
return err
}
var RuntimeResourceOverlayInfoGobRegId int16
func (r RuntimeResourceOverlayInfo) GetTypeId() int16 {
return RuntimeResourceOverlayInfoGobRegId
}
// end of rro.go
// begin of sdk_library.go
func init() {
SdkLibraryComponentDependencyInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(SdkLibraryComponentDependencyInfo) })
ApiScopePathsInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ApiScopePathsInfo) })
ApiScopePropsInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(ApiScopePropsInfo) })
SdkLibraryInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(SdkLibraryInfo) })
SdkLibraryDepInSameApexCheckerGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(SdkLibraryDepInSameApexChecker) })
SdkLibraryImportDepIsInSameApexCheckerGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(SdkLibraryImportDepIsInSameApexChecker) })
}
func (r SdkLibraryComponentDependencyInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
val1 := r.OptionalSdkLibraryImplementation == nil
if err = gobtools.EncodeBool(buf, val1); err != nil {
return err
}
if !val1 {
if err = gobtools.EncodeString(buf, (*r.OptionalSdkLibraryImplementation)); err != nil {
return err
}
}
val2 := r.SdkLibraryName == nil
if err = gobtools.EncodeBool(buf, val2); err != nil {
return err
}
if !val2 {
if err = gobtools.EncodeString(buf, (*r.SdkLibraryName)); err != nil {
return err
}
}
return err
}
func (r SdkLibraryComponentDependencyInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.SdkLibraryComponentDependencyInfo")
hasher.WriteInt(2)
hasher.WriteString(":.*string")
val1 := r.OptionalSdkLibraryImplementation == nil
if val1 {
hasher.WriteByte(0)
} else {
val2 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.string")
hasher.WriteString((*r.OptionalSdkLibraryImplementation))
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.OptionalSdkLibraryImplementation)), val2); err != nil {
return err
}
}
hasher.WriteString(":.*string")
val3 := r.SdkLibraryName == nil
if val3 {
hasher.WriteByte(0)
} else {
val4 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.string")
hasher.WriteString((*r.SdkLibraryName))
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.SdkLibraryName)), val4); err != nil {
return err
}
}
return nil
}
func (r *SdkLibraryComponentDependencyInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 bool
if err = gobtools.DecodeBool(buf, &val2); err != nil {
return err
}
if !val2 {
var val1 string
err = gobtools.DecodeString(buf, &val1)
if err != nil {
return err
}
r.OptionalSdkLibraryImplementation = &val1
}
var val5 bool
if err = gobtools.DecodeBool(buf, &val5); err != nil {
return err
}
if !val5 {
var val4 string
err = gobtools.DecodeString(buf, &val4)
if err != nil {
return err
}
r.SdkLibraryName = &val4
}
return err
}
var SdkLibraryComponentDependencyInfoGobRegId int16
func (r SdkLibraryComponentDependencyInfo) GetTypeId() int16 {
return SdkLibraryComponentDependencyInfoGobRegId
}
func (r ApiScopePathsInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.StubsImplPath == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.StubsImplPath)); err != nil {
return err
}
for val1 := 0; val1 < len(r.StubsImplPath); val1++ {
if err = gobtools.EncodeInterface(ctx, buf, r.StubsImplPath[val1]); err != nil {
return err
}
}
}
if err = r.CurrentApiFilePath.Encode(ctx, buf); err != nil {
return err
}
if err = r.RemovedApiFilePath.Encode(ctx, buf); err != nil {
return err
}
if err = r.StubsSrcJar.Encode(ctx, buf); err != nil {
return err
}
if err = r.AnnotationsZip.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r ApiScopePathsInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ApiScopePathsInfo")
hasher.WriteInt(5)
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.StubsImplPath))
for val1 := 0; val1 < len(r.StubsImplPath); val1++ {
hasher.WriteString("android/soong/android:android.Path")
val2 := r.StubsImplPath[val1] == nil
if val2 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.StubsImplPath[val1]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val3 := r.StubsImplPath[val1] == nil
if val3 {
hasher.WriteByte(0)
} else {
val4 := func(hasher *proptools.Hasher) error {
return r.StubsImplPath[val1].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val4); err != nil {
return err
}
}
}
} else {
r.StubsImplPath[val1].(proptools.CustomHash).CustomHash(hasher)
}
}
}
if err := r.CurrentApiFilePath.CustomHash(hasher); err != nil {
return err
}
if err := r.RemovedApiFilePath.CustomHash(hasher); err != nil {
return err
}
if err := r.StubsSrcJar.CustomHash(hasher); err != nil {
return err
}
if err := r.AnnotationsZip.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *ApiScopePathsInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val3 int
err = gobtools.DecodeInt(buf, &val3)
if err != nil {
return err
}
if val3 != -1 {
r.StubsImplPath = make([]android.Path, val3)
for val4 := 0; val4 < int(val3); val4++ {
if val6, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val6 == nil {
r.StubsImplPath[val4] = nil
} else {
r.StubsImplPath[val4] = val6.(android.Path)
}
}
}
if err = r.CurrentApiFilePath.Decode(ctx, buf); err != nil {
return err
}
if err = r.RemovedApiFilePath.Decode(ctx, buf); err != nil {
return err
}
if err = r.StubsSrcJar.Decode(ctx, buf); err != nil {
return err
}
if err = r.AnnotationsZip.Decode(ctx, buf); err != nil {
return err
}
return err
}
var ApiScopePathsInfoGobRegId int16
func (r ApiScopePathsInfo) GetTypeId() int16 {
return ApiScopePathsInfoGobRegId
}
func (r ApiScopePropsInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
val1 := r.SdkVersion == nil
if err = gobtools.EncodeBool(buf, val1); err != nil {
return err
}
if !val1 {
if err = gobtools.EncodeString(buf, (*r.SdkVersion)); err != nil {
return err
}
}
return err
}
func (r ApiScopePropsInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.ApiScopePropsInfo")
hasher.WriteInt(1)
hasher.WriteString(":.*string")
val1 := r.SdkVersion == nil
if val1 {
hasher.WriteByte(0)
} else {
val2 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.string")
hasher.WriteString((*r.SdkVersion))
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.SdkVersion)), val2); err != nil {
return err
}
}
return nil
}
func (r *ApiScopePropsInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 bool
if err = gobtools.DecodeBool(buf, &val2); err != nil {
return err
}
if !val2 {
var val1 string
err = gobtools.DecodeString(buf, &val1)
if err != nil {
return err
}
r.SdkVersion = &val1
}
return err
}
var ApiScopePropsInfoGobRegId int16
func (r ApiScopePropsInfo) GetTypeId() int16 {
return ApiScopePropsInfoGobRegId
}
func (r SdkLibraryInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.GeneratingLibs == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.GeneratingLibs)); err != nil {
return err
}
for val1 := 0; val1 < len(r.GeneratingLibs); val1++ {
if err = gobtools.EncodeString(buf, r.GeneratingLibs[val1]); err != nil {
return err
}
}
}
if r.EverythingStubDexJarPaths == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.EverythingStubDexJarPaths)); err != nil {
return err
}
for val2, val3 := range r.EverythingStubDexJarPaths {
if err = gobtools.EncodeInt(buf, int(val2)); err != nil {
return err
}
if err = val3.Encode(ctx, buf); err != nil {
return err
}
}
}
if r.ExportableStubDexJarPaths == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ExportableStubDexJarPaths)); err != nil {
return err
}
for val4, val5 := range r.ExportableStubDexJarPaths {
if err = gobtools.EncodeInt(buf, int(val4)); err != nil {
return err
}
if err = val5.Encode(ctx, buf); err != nil {
return err
}
}
}
if r.RemovedTxtFiles == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.RemovedTxtFiles)); err != nil {
return err
}
for val6, val7 := range r.RemovedTxtFiles {
if err = gobtools.EncodeInt(buf, int(val6)); err != nil {
return err
}
if err = val7.Encode(ctx, buf); err != nil {
return err
}
}
}
if err = gobtools.EncodeBool(buf, r.SharedLibrary); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, r.Prebuilt); err != nil {
return err
}
if err = gobtools.EncodeString(buf, r.DistStem); err != nil {
return err
}
if r.DoctagPaths == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.DoctagPaths)); err != nil {
return err
}
for val8 := 0; val8 < len(r.DoctagPaths); val8++ {
if err = gobtools.EncodeInterface(ctx, buf, r.DoctagPaths[val8]); err != nil {
return err
}
}
}
val9 := r.OnBootclasspathSince == nil
if err = gobtools.EncodeBool(buf, val9); err != nil {
return err
}
if !val9 {
if err = gobtools.EncodeString(buf, (*r.OnBootclasspathSince)); err != nil {
return err
}
}
val10 := r.OnBootclasspathBefore == nil
if err = gobtools.EncodeBool(buf, val10); err != nil {
return err
}
if !val10 {
if err = gobtools.EncodeString(buf, (*r.OnBootclasspathBefore)); err != nil {
return err
}
}
val11 := r.MinDeviceSdk == nil
if err = gobtools.EncodeBool(buf, val11); err != nil {
return err
}
if !val11 {
if err = gobtools.EncodeString(buf, (*r.MinDeviceSdk)); err != nil {
return err
}
}
val12 := r.MaxDeviceSdk == nil
if err = gobtools.EncodeBool(buf, val12); err != nil {
return err
}
if !val12 {
if err = gobtools.EncodeString(buf, (*r.MaxDeviceSdk)); err != nil {
return err
}
}
if err = gobtools.EncodeBool(buf, r.ImplLibProfileGuided); err != nil {
return err
}
if r.ApiScopePaths == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ApiScopePaths)); err != nil {
return err
}
for val13, val14 := range r.ApiScopePaths {
if err = gobtools.EncodeString(buf, val13); err != nil {
return err
}
if err = val14.Encode(ctx, buf); err != nil {
return err
}
}
}
if r.ApiScopeProps == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.ApiScopeProps)); err != nil {
return err
}
for val15, val16 := range r.ApiScopeProps {
if err = gobtools.EncodeString(buf, val15); err != nil {
return err
}
if err = val16.Encode(ctx, buf); err != nil {
return err
}
}
}
return err
}
func (r SdkLibraryInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.SdkLibraryInfo")
hasher.WriteInt(15)
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.GeneratingLibs))
for val1 := 0; val1 < len(r.GeneratingLibs); val1++ {
hasher.WriteString(":.string")
hasher.WriteString(r.GeneratingLibs[val1])
}
hasher.WriteString(":.map[android.SdkKind]OptionalDexJarPath")
hasher.WriteInt(len(r.EverythingStubDexJarPaths))
val2 := make([]android.SdkKind, 0, len(r.EverythingStubDexJarPaths))
for val4 := range r.EverythingStubDexJarPaths {
val2 = append(val2, val4)
}
proptools.SortOrdered(val2)
for _, val3 := range val2 {
hasher.WriteString(":java.android.SdkKind")
hasher.WriteString(":.int")
hasher.WriteUint64(uint64(int(val3)))
if err := r.EverythingStubDexJarPaths[val3].CustomHash(hasher); err != nil {
return err
}
}
hasher.WriteString(":.map[android.SdkKind]OptionalDexJarPath")
hasher.WriteInt(len(r.ExportableStubDexJarPaths))
val5 := make([]android.SdkKind, 0, len(r.ExportableStubDexJarPaths))
for val7 := range r.ExportableStubDexJarPaths {
val5 = append(val5, val7)
}
proptools.SortOrdered(val5)
for _, val6 := range val5 {
hasher.WriteString(":java.android.SdkKind")
hasher.WriteString(":.int")
hasher.WriteUint64(uint64(int(val6)))
if err := r.ExportableStubDexJarPaths[val6].CustomHash(hasher); err != nil {
return err
}
}
hasher.WriteString(":.map[android.SdkKind]android.OptionalPath")
hasher.WriteInt(len(r.RemovedTxtFiles))
val8 := make([]android.SdkKind, 0, len(r.RemovedTxtFiles))
for val10 := range r.RemovedTxtFiles {
val8 = append(val8, val10)
}
proptools.SortOrdered(val8)
for _, val9 := range val8 {
hasher.WriteString(":java.android.SdkKind")
hasher.WriteString(":.int")
hasher.WriteUint64(uint64(int(val9)))
if err := r.RemovedTxtFiles[val9].CustomHash(hasher); err != nil {
return err
}
}
hasher.WriteString(":.bool")
if r.SharedLibrary {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":.bool")
if r.Prebuilt {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":.string")
hasher.WriteString(r.DistStem)
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.DoctagPaths))
for val11 := 0; val11 < len(r.DoctagPaths); val11++ {
hasher.WriteString("android/soong/android:android.Path")
val12 := r.DoctagPaths[val11] == nil
if val12 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.DoctagPaths[val11]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val13 := r.DoctagPaths[val11] == nil
if val13 {
hasher.WriteByte(0)
} else {
val14 := func(hasher *proptools.Hasher) error {
return r.DoctagPaths[val11].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val14); err != nil {
return err
}
}
}
} else {
r.DoctagPaths[val11].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":.*string")
val15 := r.OnBootclasspathSince == nil
if val15 {
hasher.WriteByte(0)
} else {
val16 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.string")
hasher.WriteString((*r.OnBootclasspathSince))
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.OnBootclasspathSince)), val16); err != nil {
return err
}
}
hasher.WriteString(":.*string")
val17 := r.OnBootclasspathBefore == nil
if val17 {
hasher.WriteByte(0)
} else {
val18 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.string")
hasher.WriteString((*r.OnBootclasspathBefore))
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.OnBootclasspathBefore)), val18); err != nil {
return err
}
}
hasher.WriteString(":.*string")
val19 := r.MinDeviceSdk == nil
if val19 {
hasher.WriteByte(0)
} else {
val20 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.string")
hasher.WriteString((*r.MinDeviceSdk))
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.MinDeviceSdk)), val20); err != nil {
return err
}
}
hasher.WriteString(":.*string")
val21 := r.MaxDeviceSdk == nil
if val21 {
hasher.WriteByte(0)
} else {
val22 := func(hasher *proptools.Hasher) error {
hasher.WriteString(":.string")
hasher.WriteString((*r.MaxDeviceSdk))
return nil
}
if err := proptools.HashReference(hasher, uintptr(unsafe.Pointer(r.MaxDeviceSdk)), val22); err != nil {
return err
}
}
hasher.WriteString(":.bool")
if r.ImplLibProfileGuided {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":.map[string]ApiScopePathsInfo")
hasher.WriteInt(len(r.ApiScopePaths))
val23 := make([]string, 0, len(r.ApiScopePaths))
for val25 := range r.ApiScopePaths {
val23 = append(val23, val25)
}
proptools.SortOrdered(val23)
for _, val24 := range val23 {
hasher.WriteString(":.string")
hasher.WriteString(val24)
if err := r.ApiScopePaths[val24].CustomHash(hasher); err != nil {
return err
}
}
hasher.WriteString(":.map[string]ApiScopePropsInfo")
hasher.WriteInt(len(r.ApiScopeProps))
val26 := make([]string, 0, len(r.ApiScopeProps))
for val28 := range r.ApiScopeProps {
val26 = append(val26, val28)
}
proptools.SortOrdered(val26)
for _, val27 := range val26 {
hasher.WriteString(":.string")
hasher.WriteString(val27)
if err := r.ApiScopeProps[val27].CustomHash(hasher); err != nil {
return err
}
}
return nil
}
func (r *SdkLibraryInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
if val2 != -1 {
r.GeneratingLibs = make([]string, val2)
for val3 := 0; val3 < int(val2); val3++ {
err = gobtools.DecodeString(buf, &r.GeneratingLibs[val3])
if err != nil {
return err
}
}
}
var val5 int
err = gobtools.DecodeInt(buf, &val5)
if err != nil {
return err
}
if val5 != -1 {
r.EverythingStubDexJarPaths = make(map[android.SdkKind]OptionalDexJarPath, val5)
for val6 := 0; val6 < int(val5); val6++ {
var val7 android.SdkKind
var val8 OptionalDexJarPath
var val10 int
err = gobtools.DecodeInt(buf, &val10)
if err != nil {
return err
}
val7 = android.SdkKind(val10)
if err = val8.Decode(ctx, buf); err != nil {
return err
}
r.EverythingStubDexJarPaths[val7] = val8
}
}
var val13 int
err = gobtools.DecodeInt(buf, &val13)
if err != nil {
return err
}
if val13 != -1 {
r.ExportableStubDexJarPaths = make(map[android.SdkKind]OptionalDexJarPath, val13)
for val14 := 0; val14 < int(val13); val14++ {
var val15 android.SdkKind
var val16 OptionalDexJarPath
var val18 int
err = gobtools.DecodeInt(buf, &val18)
if err != nil {
return err
}
val15 = android.SdkKind(val18)
if err = val16.Decode(ctx, buf); err != nil {
return err
}
r.ExportableStubDexJarPaths[val15] = val16
}
}
var val21 int
err = gobtools.DecodeInt(buf, &val21)
if err != nil {
return err
}
if val21 != -1 {
r.RemovedTxtFiles = make(map[android.SdkKind]android.OptionalPath, val21)
for val22 := 0; val22 < int(val21); val22++ {
var val23 android.SdkKind
var val24 android.OptionalPath
var val26 int
err = gobtools.DecodeInt(buf, &val26)
if err != nil {
return err
}
val23 = android.SdkKind(val26)
if err = val24.Decode(ctx, buf); err != nil {
return err
}
r.RemovedTxtFiles[val23] = val24
}
}
err = gobtools.DecodeBool(buf, &r.SharedLibrary)
if err != nil {
return err
}
err = gobtools.DecodeBool(buf, &r.Prebuilt)
if err != nil {
return err
}
err = gobtools.DecodeString(buf, &r.DistStem)
if err != nil {
return err
}
var val34 int
err = gobtools.DecodeInt(buf, &val34)
if err != nil {
return err
}
if val34 != -1 {
r.DoctagPaths = make([]android.Path, val34)
for val35 := 0; val35 < int(val34); val35++ {
if val37, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val37 == nil {
r.DoctagPaths[val35] = nil
} else {
r.DoctagPaths[val35] = val37.(android.Path)
}
}
}
var val39 bool
if err = gobtools.DecodeBool(buf, &val39); err != nil {
return err
}
if !val39 {
var val38 string
err = gobtools.DecodeString(buf, &val38)
if err != nil {
return err
}
r.OnBootclasspathSince = &val38
}
var val42 bool
if err = gobtools.DecodeBool(buf, &val42); err != nil {
return err
}
if !val42 {
var val41 string
err = gobtools.DecodeString(buf, &val41)
if err != nil {
return err
}
r.OnBootclasspathBefore = &val41
}
var val45 bool
if err = gobtools.DecodeBool(buf, &val45); err != nil {
return err
}
if !val45 {
var val44 string
err = gobtools.DecodeString(buf, &val44)
if err != nil {
return err
}
r.MinDeviceSdk = &val44
}
var val48 bool
if err = gobtools.DecodeBool(buf, &val48); err != nil {
return err
}
if !val48 {
var val47 string
err = gobtools.DecodeString(buf, &val47)
if err != nil {
return err
}
r.MaxDeviceSdk = &val47
}
err = gobtools.DecodeBool(buf, &r.ImplLibProfileGuided)
if err != nil {
return err
}
var val51 int
err = gobtools.DecodeInt(buf, &val51)
if err != nil {
return err
}
if val51 != -1 {
r.ApiScopePaths = make(map[string]ApiScopePathsInfo, val51)
for val52 := 0; val52 < int(val51); val52++ {
var val53 string
var val54 ApiScopePathsInfo
err = gobtools.DecodeString(buf, &val53)
if err != nil {
return err
}
if err = val54.Decode(ctx, buf); err != nil {
return err
}
r.ApiScopePaths[val53] = val54
}
}
var val57 int
err = gobtools.DecodeInt(buf, &val57)
if err != nil {
return err
}
if val57 != -1 {
r.ApiScopeProps = make(map[string]ApiScopePropsInfo, val57)
for val58 := 0; val58 < int(val57); val58++ {
var val59 string
var val60 ApiScopePropsInfo
err = gobtools.DecodeString(buf, &val59)
if err != nil {
return err
}
if err = val60.Decode(ctx, buf); err != nil {
return err
}
r.ApiScopeProps[val59] = val60
}
}
return err
}
var SdkLibraryInfoGobRegId int16
func (r SdkLibraryInfo) GetTypeId() int16 {
return SdkLibraryInfoGobRegId
}
func (r SdkLibraryDepInSameApexChecker) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = r.BaseDepInSameApexChecker.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r SdkLibraryDepInSameApexChecker) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.SdkLibraryDepInSameApexChecker")
hasher.WriteInt(1)
if err := r.BaseDepInSameApexChecker.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *SdkLibraryDepInSameApexChecker) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if err = r.BaseDepInSameApexChecker.Decode(ctx, buf); err != nil {
return err
}
return err
}
var SdkLibraryDepInSameApexCheckerGobRegId int16
func (r SdkLibraryDepInSameApexChecker) GetTypeId() int16 {
return SdkLibraryDepInSameApexCheckerGobRegId
}
func (r SdkLibraryImportDepIsInSameApexChecker) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if err = r.BaseDepInSameApexChecker.Encode(ctx, buf); err != nil {
return err
}
return err
}
func (r SdkLibraryImportDepIsInSameApexChecker) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.SdkLibraryImportDepIsInSameApexChecker")
hasher.WriteInt(1)
if err := r.BaseDepInSameApexChecker.CustomHash(hasher); err != nil {
return err
}
return nil
}
func (r *SdkLibraryImportDepIsInSameApexChecker) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
if err = r.BaseDepInSameApexChecker.Decode(ctx, buf); err != nil {
return err
}
return err
}
var SdkLibraryImportDepIsInSameApexCheckerGobRegId int16
func (r SdkLibraryImportDepIsInSameApexChecker) GetTypeId() int16 {
return SdkLibraryImportDepIsInSameApexCheckerGobRegId
}
// end of sdk_library.go
// begin of system_modules.go
func init() {
SystemModulesProviderInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(SystemModulesProviderInfo) })
}
func (r SystemModulesProviderInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.HeaderJars == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.HeaderJars)); err != nil {
return err
}
for val1 := 0; val1 < len(r.HeaderJars); val1++ {
if err = gobtools.EncodeInterface(ctx, buf, r.HeaderJars[val1]); err != nil {
return err
}
}
}
if err = gobtools.EncodeInterface(ctx, buf, r.OutputDir); err != nil {
return err
}
if r.OutputDirDeps == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.OutputDirDeps)); err != nil {
return err
}
for val2 := 0; val2 < len(r.OutputDirDeps); val2++ {
if err = gobtools.EncodeInterface(ctx, buf, r.OutputDirDeps[val2]); err != nil {
return err
}
}
}
if err = r.TransitiveStaticLibsHeaderJars.EncodeInterface(ctx, buf); err != nil {
return err
}
if err = gobtools.EncodeBool(buf, r.Prebuilt); err != nil {
return err
}
if r.Libs == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.Libs)); err != nil {
return err
}
for val3 := 0; val3 < len(r.Libs); val3++ {
if err = gobtools.EncodeString(buf, r.Libs[val3]); err != nil {
return err
}
}
}
return err
}
func (r SystemModulesProviderInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.SystemModulesProviderInfo")
hasher.WriteInt(6)
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.HeaderJars))
for val1 := 0; val1 < len(r.HeaderJars); val1++ {
hasher.WriteString("android/soong/android:android.Path")
val2 := r.HeaderJars[val1] == nil
if val2 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.HeaderJars[val1]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val3 := r.HeaderJars[val1] == nil
if val3 {
hasher.WriteByte(0)
} else {
val4 := func(hasher *proptools.Hasher) error {
return r.HeaderJars[val1].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val4); err != nil {
return err
}
}
}
} else {
r.HeaderJars[val1].(proptools.CustomHash).CustomHash(hasher)
}
}
}
hasher.WriteString(":java.android.Path")
val5 := r.OutputDir == nil
if val5 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.OutputDir); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val6 := r.OutputDir == nil
if val6 {
hasher.WriteByte(0)
} else {
val7 := func(hasher *proptools.Hasher) error { return r.OutputDir.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val7); err != nil {
return err
}
}
}
} else {
r.OutputDir.(proptools.CustomHash).CustomHash(hasher)
}
}
hasher.WriteString(":java.android.Paths")
hasher.WriteString(":.[]Path")
hasher.WriteInt(len(r.OutputDirDeps))
for val8 := 0; val8 < len(r.OutputDirDeps); val8++ {
hasher.WriteString("android/soong/android:android.Path")
val9 := r.OutputDirDeps[val8] == nil
if val9 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(r.OutputDirDeps[val8]); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val10 := r.OutputDirDeps[val8] == nil
if val10 {
hasher.WriteByte(0)
} else {
val11 := func(hasher *proptools.Hasher) error {
return r.OutputDirDeps[val8].(proptools.CustomHash).CustomHash(hasher)
}
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val11); err != nil {
return err
}
}
}
} else {
r.OutputDirDeps[val8].(proptools.CustomHash).CustomHash(hasher)
}
}
}
val16 := func(hasher *proptools.Hasher, val12 android.Path) error {
hasher.WriteString(":java.android.Path")
val13 := val12 == nil
if val13 {
hasher.WriteByte(0)
} else {
if v := reflect.ValueOf(val12); v.Kind() == reflect.Ptr {
if v.IsNil() {
panic(fmt.Errorf("nil pointer is not supported in interface"))
} else {
val14 := val12 == nil
if val14 {
hasher.WriteByte(0)
} else {
val15 := func(hasher *proptools.Hasher) error { return val12.(proptools.CustomHash).CustomHash(hasher) }
if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val15); err != nil {
return err
}
}
}
} else {
val12.(proptools.CustomHash).CustomHash(hasher)
}
}
return nil
}
if err := r.TransitiveStaticLibsHeaderJars.Hash(hasher, "android.Path", val16); err != nil {
return err
}
hasher.WriteString(":.bool")
if r.Prebuilt {
hasher.WriteByte(1)
} else {
hasher.WriteByte(0)
}
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.Libs))
for val17 := 0; val17 < len(r.Libs); val17++ {
hasher.WriteString(":.string")
hasher.WriteString(r.Libs[val17])
}
return nil
}
func (r *SystemModulesProviderInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val3 int
err = gobtools.DecodeInt(buf, &val3)
if err != nil {
return err
}
if val3 != -1 {
r.HeaderJars = make([]android.Path, val3)
for val4 := 0; val4 < int(val3); val4++ {
if val6, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val6 == nil {
r.HeaderJars[val4] = nil
} else {
r.HeaderJars[val4] = val6.(android.Path)
}
}
}
if val8, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val8 == nil {
r.OutputDir = nil
} else {
r.OutputDir = val8.(android.Path)
}
var val11 int
err = gobtools.DecodeInt(buf, &val11)
if err != nil {
return err
}
if val11 != -1 {
r.OutputDirDeps = make([]android.Path, val11)
for val12 := 0; val12 < int(val11); val12++ {
if val14, err := gobtools.DecodeInterface(ctx, buf); err != nil {
return err
} else if val14 == nil {
r.OutputDirDeps[val12] = nil
} else {
r.OutputDirDeps[val12] = val14.(android.Path)
}
}
}
if err = r.TransitiveStaticLibsHeaderJars.DecodeInterface(ctx, buf); err != nil {
return err
}
err = gobtools.DecodeBool(buf, &r.Prebuilt)
if err != nil {
return err
}
var val18 int
err = gobtools.DecodeInt(buf, &val18)
if err != nil {
return err
}
if val18 != -1 {
r.Libs = make([]string, val18)
for val19 := 0; val19 < int(val18); val19++ {
err = gobtools.DecodeString(buf, &r.Libs[val19])
if err != nil {
return err
}
}
}
return err
}
var SystemModulesProviderInfoGobRegId int16
func (r SystemModulesProviderInfo) GetTypeId() int16 {
return SystemModulesProviderInfoGobRegId
}
// end of system_modules.go
// begin of systemserver_classpath_fragment.go
func init() {
SystemServerClasspathInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(SystemServerClasspathInfo) })
LibraryNameToPartitionInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(LibraryNameToPartitionInfo) })
}
func (r SystemServerClasspathInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.Contents == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.Contents)); err != nil {
return err
}
for val1 := 0; val1 < len(r.Contents); val1++ {
if err = gobtools.EncodeString(buf, r.Contents[val1]); err != nil {
return err
}
}
}
if r.StandaloneContents == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.StandaloneContents)); err != nil {
return err
}
for val2 := 0; val2 < len(r.StandaloneContents); val2++ {
if err = gobtools.EncodeString(buf, r.StandaloneContents[val2]); err != nil {
return err
}
}
}
return err
}
func (r SystemServerClasspathInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.SystemServerClasspathInfo")
hasher.WriteInt(2)
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.Contents))
for val1 := 0; val1 < len(r.Contents); val1++ {
hasher.WriteString(":.string")
hasher.WriteString(r.Contents[val1])
}
hasher.WriteString(":.[]string")
hasher.WriteInt(len(r.StandaloneContents))
for val2 := 0; val2 < len(r.StandaloneContents); val2++ {
hasher.WriteString(":.string")
hasher.WriteString(r.StandaloneContents[val2])
}
return nil
}
func (r *SystemServerClasspathInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val2 int
err = gobtools.DecodeInt(buf, &val2)
if err != nil {
return err
}
if val2 != -1 {
r.Contents = make([]string, val2)
for val3 := 0; val3 < int(val2); val3++ {
err = gobtools.DecodeString(buf, &r.Contents[val3])
if err != nil {
return err
}
}
}
var val6 int
err = gobtools.DecodeInt(buf, &val6)
if err != nil {
return err
}
if val6 != -1 {
r.StandaloneContents = make([]string, val6)
for val7 := 0; val7 < int(val6); val7++ {
err = gobtools.DecodeString(buf, &r.StandaloneContents[val7])
if err != nil {
return err
}
}
}
return err
}
var SystemServerClasspathInfoGobRegId int16
func (r SystemServerClasspathInfo) GetTypeId() int16 {
return SystemServerClasspathInfoGobRegId
}
func (r LibraryNameToPartitionInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
var err error
if r.LibraryNameToPartition == nil {
if err = gobtools.EncodeInt(buf, -1); err != nil {
return err
}
} else {
if err = gobtools.EncodeInt(buf, len(r.LibraryNameToPartition)); err != nil {
return err
}
for val1, val2 := range r.LibraryNameToPartition {
if err = gobtools.EncodeString(buf, val1); err != nil {
return err
}
if err = gobtools.EncodeString(buf, val2); err != nil {
return err
}
}
}
return err
}
func (r LibraryNameToPartitionInfo) CustomHash(hasher *proptools.Hasher) error {
hasher.WriteString(":java.LibraryNameToPartitionInfo")
hasher.WriteInt(1)
hasher.WriteString(":.map[string]string")
hasher.WriteInt(len(r.LibraryNameToPartition))
val1 := make([]string, 0, len(r.LibraryNameToPartition))
for val3 := range r.LibraryNameToPartition {
val1 = append(val1, val3)
}
proptools.SortOrdered(val1)
for _, val2 := range val1 {
hasher.WriteString(":.string")
hasher.WriteString(val2)
hasher.WriteString(":.string")
hasher.WriteString(r.LibraryNameToPartition[val2])
}
return nil
}
func (r *LibraryNameToPartitionInfo) Decode(ctx gobtools.EncContext, buf *bytes.Reader) error {
var err error
var val1 int
err = gobtools.DecodeInt(buf, &val1)
if err != nil {
return err
}
if val1 != -1 {
r.LibraryNameToPartition = make(map[string]string, val1)
for val2 := 0; val2 < int(val1); val2++ {
var val3 string
var val4 string
err = gobtools.DecodeString(buf, &val3)
if err != nil {
return err
}
err = gobtools.DecodeString(buf, &val4)
if err != nil {
return err
}
r.LibraryNameToPartition[val3] = val4
}
}
return err
}
var LibraryNameToPartitionInfoGobRegId int16
func (r LibraryNameToPartitionInfo) GetTypeId() int16 {
return LibraryNameToPartitionInfoGobRegId
}
// end of systemserver_classpath_fragment.go