gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

safe_struct.go (781B)


      1 package reflect2
      2 
      3 type safeStructType struct {
      4 	safeType
      5 }
      6 
      7 func (type2 *safeStructType) FieldByName(name string) StructField {
      8 	field, found := type2.Type.FieldByName(name)
      9 	if !found {
     10 		panic("field " + name + " not found")
     11 	}
     12 	return &safeField{StructField: field}
     13 }
     14 
     15 func (type2 *safeStructType) Field(i int) StructField {
     16 	return &safeField{StructField: type2.Type.Field(i)}
     17 }
     18 
     19 func (type2 *safeStructType) FieldByIndex(index []int) StructField {
     20 	return &safeField{StructField: type2.Type.FieldByIndex(index)}
     21 }
     22 
     23 func (type2 *safeStructType) FieldByNameFunc(match func(string) bool) StructField {
     24 	field, found := type2.Type.FieldByNameFunc(match)
     25 	if !found {
     26 		panic("field match condition not found in " + type2.Type.String())
     27 	}
     28 	return &safeField{StructField: field}
     29 }