package reflect2

import (
	
	
)

type safeSliceType struct {
	safeType
}

func ( *safeSliceType) ( interface{},  int,  interface{}) {
	 := reflect.ValueOf().Elem()
	 := reflect.ValueOf().Elem()
	.Index().Set()
}

func ( *safeSliceType) ( unsafe.Pointer,  int,  unsafe.Pointer) {
	panic("does not support unsafe operation")
}

func ( *safeSliceType) ( interface{},  int) interface{} {
	 := reflect.ValueOf().Elem()
	 := .Index()
	 := reflect.New(.Type())
	.Elem().Set()
	return .Interface()
}

func ( *safeSliceType) ( unsafe.Pointer,  int) unsafe.Pointer {
	panic("does not support unsafe operation")
}

func ( *safeSliceType) ( int,  int) interface{} {
	 := reflect.MakeSlice(.Type, , )
	 := reflect.New(.Type())
	.Elem().Set()
	return .Interface()
}

func ( *safeSliceType) ( int,  int) unsafe.Pointer {
	panic("does not support unsafe operation")
}

func ( *safeSliceType) ( interface{},  int) {
	 := .Cap()
	 := reflect.ValueOf().Elem()
	 :=  - 
	 := make([]reflect.Value, )
	 := reflect.Append(, ...)
	.Set()
}

func ( *safeSliceType) ( unsafe.Pointer,  int) {
	panic("does not support unsafe operation")
}

func ( *safeSliceType) ( interface{},  interface{}) {
	 := reflect.ValueOf().Elem()
	 := reflect.ValueOf().Elem()
	 := reflect.Append(, )
	.Set()
}

func ( *safeSliceType) ( unsafe.Pointer,  unsafe.Pointer) {
	panic("does not support unsafe operation")
}

func ( *safeSliceType) ( interface{}) {
	 := reflect.ValueOf().Elem()
	.Set(reflect.Zero(.Type()))
}

func ( *safeSliceType) ( unsafe.Pointer) {
	panic("does not support unsafe operation")
}

func ( *safeSliceType) ( interface{}) int {
	return reflect.ValueOf().Elem().Len()
}

func ( *safeSliceType) ( unsafe.Pointer) int {
	panic("does not support unsafe operation")
}

func ( *safeSliceType) ( interface{}) int {
	return reflect.ValueOf().Elem().Cap()
}

func ( *safeSliceType) ( unsafe.Pointer) int {
	panic("does not support unsafe operation")
}