Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Android/art/art/build/   (Android Betriebssystem Version 17©)  Datei vom 26.5.2026 mit Größe 4 kB image not shown  

Quelle  art_enc.go   Sprache: unbekannt

 
Spracherkennung für: .go vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

// Code generated by go run gob_gen.go; DO NOT EDIT.

package art

import (
 "android/soong/android"
 "bytes"
 "fmt"
 "github.com/google/blueprint/gobtools"
 "github.com/google/blueprint/proptools"
 "reflect"
)

// begin of art.go
func init() {
 testInstallInfoGobRegId = gobtools.RegisterType(func() gobtools.CustomDec { return new(testInstallInfo) })
}

func (r testInstallInfo) Encode(ctx gobtools.EncContext, buf *bytes.Buffer) error {
 var err error

 if r.Testcases == nil {
  if err = gobtools.EncodeInt(buf, -1); err != nil {
   return err
  }
 } else {
  if err = gobtools.EncodeInt(buf, len(r.Testcases)); err != nil {
   return err
  }
  for val1, val2 := range r.Testcases {
   if err = gobtools.EncodeString(buf, val1); err != nil {
    return err
   }
   if err = gobtools.EncodeInterface(ctx, buf, val2); err != nil {
    return err
   }
  }
 }

 if r.TestMap == nil {
  if err = gobtools.EncodeInt(buf, -1); err != nil {
   return err
  }
 } else {
  if err = gobtools.EncodeInt(buf, len(r.TestMap)); err != nil {
   return err
  }
  for val3, val4 := range r.TestMap {
   if err = gobtools.EncodeString(buf, val3); err != nil {
    return err
   }
   if val4 == nil {
    if err = gobtools.EncodeInt(buf, -1); err != nil {
     return err
    }
   } else {
    if err = gobtools.EncodeInt(buf, len(val4)); err != nil {
     return err
    }
    for val5 := 0; val5 < len(val4); val5++ {
     if err = gobtools.EncodeString(buf, val4[val5]); err != nil {
      return err
     }
    }
   }
  }
 }
 return err
}

func (r testInstallInfo) CustomHash(hasher *proptools.Hasher) error {
 hasher.WriteString(":art.testInstallInfo")
 hasher.WriteInt(2)
 hasher.WriteString(":.map[string]android.Path")
 hasher.WriteInt(len(r.Testcases))
 val1 := make([]string, 0, len(r.Testcases))
 for val3 := range r.Testcases {
  val1 = append(val1, val3)
 }
 proptools.SortOrdered(val1)
 for _, val2 := range val1 {
  hasher.WriteString(":.string")
  hasher.WriteString(val2)
  hasher.WriteString(":art.android.Path")
  val4 := r.Testcases[val2] == nil
  if val4 {
   hasher.WriteByte(0)
  } else {
   if v := reflect.ValueOf(r.Testcases[val2]); v.Kind() == reflect.Ptr {
    if v.IsNil() {
     panic(fmt.Errorf("nil pointer is not supported in interface"))
    } else {
     val5 := r.Testcases[val2] == nil
     if val5 {
      hasher.WriteByte(0)
     } else {
      val6 := func(hasher *proptools.Hasher) error {
       return r.Testcases[val2].(proptools.CustomHash).CustomHash(hasher)
      }
      if err := proptools.HashReference(hasher, uintptr(v.Pointer()), val6); err != nil {
       return err
      }
     }
    }
   } else {
    r.Testcases[val2].(proptools.CustomHash).CustomHash(hasher)
   }
  }
 }
 hasher.WriteString(":.map[string][]string")
 hasher.WriteInt(len(r.TestMap))
 val7 := make([]string, 0, len(r.TestMap))
 for val9 := range r.TestMap {
  val7 = append(val7, val9)
 }
 proptools.SortOrdered(val7)
 for _, val8 := range val7 {
  hasher.WriteString(":.string")
  hasher.WriteString(val8)
  hasher.WriteString(":.[]string")
  hasher.WriteInt(len(r.TestMap[val8]))
  for val10 := 0; val10 < len(r.TestMap[val8]); val10++ {
   hasher.WriteString(":.string")
   hasher.WriteString(r.TestMap[val8][val10])
  }
 }
 return nil
}

func (r *testInstallInfo) 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.Testcases = 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.Testcases[val3] = val4
  }
 }

 var val8 int
 err = gobtools.DecodeInt(buf, &val8)
 if err != nil {
  return err
 }
 if val8 != -1 {
  r.TestMap = make(map[string][]string, val8)
  for val9 := 0; val9 < int(val8); val9++ {
   var val10 string
   var val11 []string
   err = gobtools.DecodeString(buf, &val10)
   if err != nil {
    return err
   }
   var val14 int
   err = gobtools.DecodeInt(buf, &val14)
   if err != nil {
    return err
   }
   if val14 != -1 {
    val11 = make([]string, val14)
    for val15 := 0; val15 < int(val14); val15++ {
     err = gobtools.DecodeString(buf, &val11[val15])
     if err != nil {
      return err
     }
    }
   }
   r.TestMap[val10] = val11
  }
 }

 return err
}

var testInstallInfoGobRegId int16

func (r testInstallInfo) GetTypeId() int16 {
 return testInstallInfoGobRegId
}

// end of art.go

[Dauer der Verarbeitung: 0.19 Sekunden, vorverarbeitet 2026-06-29]