func (s *MojomFileGraph) Encode(encoder *bindings.Encoder) error { encoder.StartStruct(24, 0) if err := encoder.WritePointer(); err != nil { return err } encoder.StartMap() { var keys0 []string var values0 []MojomFile for key0, value0 := range s.Files { keys0 = append(keys0, key0) values0 = append(values0, value0) } if err := encoder.WritePointer(); err != nil { return err } encoder.StartArray(uint32(len(keys0)), 64) for _, elem1 := range keys0 { if err := encoder.WritePointer(); err != nil { return err } if err := encoder.WriteString(elem1); err != nil { return err } } if err := encoder.Finish(); err != nil { return err } if err := encoder.WritePointer(); err != nil { return err } encoder.StartArray(uint32(len(values0)), 64) for _, elem1 := range values0 { if err := encoder.WritePointer(); err != nil { return err } if err := elem1.Encode(encoder); err != nil { return err } } if err := encoder.Finish(); err != nil { return err } } if err := encoder.Finish(); err != nil { return err } if err := encoder.WritePointer(); err != nil { return err } encoder.StartMap() { var keys0 []string var values0 []mojom_types.UserDefinedType for key0, value0 := range s.ResolvedTypes { keys0 = append(keys0, key0) values0 = append(values0, value0) } if err := encoder.WritePointer(); err != nil { return err } encoder.StartArray(uint32(len(keys0)), 64) for _, elem1 := range keys0 { if err := encoder.WritePointer(); err != nil { return err } if err := encoder.WriteString(elem1); err != nil { return err } } if err := encoder.Finish(); err != nil { return err } if err := encoder.WritePointer(); err != nil { return err } encoder.StartArray(uint32(len(values0)), 128) for _, elem1 := range values0 { if elem1 == nil { return &bindings.ValidationError{bindings.UnexpectedNullUnion, "unexpected null union"} } if err := elem1.Encode(encoder); err != nil { return err } } if err := encoder.Finish(); err != nil { return err } } if err := encoder.Finish(); err != nil { return err } if err := encoder.WritePointer(); err != nil { return err } encoder.StartMap() { var keys0 []string var values0 []mojom_types.DeclaredConstant for key0, value0 := range s.ResolvedConstants { keys0 = append(keys0, key0) values0 = append(values0, value0) } if err := encoder.WritePointer(); err != nil { return err } encoder.StartArray(uint32(len(keys0)), 64) for _, elem1 := range keys0 { if err := encoder.WritePointer(); err != nil { return err } if err := encoder.WriteString(elem1); err != nil { return err } } if err := encoder.Finish(); err != nil { return err } if err := encoder.WritePointer(); err != nil { return err } encoder.StartArray(uint32(len(values0)), 64) for _, elem1 := range values0 { if err := encoder.WritePointer(); err != nil { return err } if err := elem1.Encode(encoder); err != nil { return err } } if err := encoder.Finish(); err != nil { return err } } if err := encoder.Finish(); err != nil { return err } if err := encoder.Finish(); err != nil { return err } return nil }