1//go:build go1.15
2// +build go1.15
3
4package jsoncolor
5
6import (
7 "reflect"
8 "unsafe"
9)
10
11func extendSlice(t reflect.Type, s *slice, n int) slice {
12 arrayType := reflect.ArrayOf(n, t.Elem())
13 arrayData := reflect.New(arrayType)
14 reflect.Copy(arrayData.Elem(), reflect.NewAt(t, unsafe.Pointer(s)).Elem())
15 return slice{
16 data: unsafe.Pointer(arrayData.Pointer()),
17 len: s.len,
18 cap: n,
19 }
20}