package reflect2

import (
	
	
)

type UnsafePtrType struct {
	unsafeType
}

func newUnsafePtrType( *frozenConfig,  reflect.Type) *UnsafePtrType {
	return &UnsafePtrType{
		unsafeType: *newUnsafeType(, ),
	}
}

func ( *UnsafePtrType) ( interface{}) bool {
	if  == nil {
		return true
	}
	 := unpackEFace()
	assertType("Type.IsNil argument 1", .ptrRType, .rtype)
	return .UnsafeIsNil(.data)
}

func ( *UnsafePtrType) ( unsafe.Pointer) bool {
	if  == nil {
		return true
	}
	return *(*unsafe.Pointer)() == nil
}

func ( *UnsafePtrType) () bool {
	return true
}

func ( *UnsafePtrType) ( interface{}) interface{} {
	 := unpackEFace()
	assertType("Type.Indirect argument 1", .ptrRType, .rtype)
	return .UnsafeIndirect(.data)
}

func ( *UnsafePtrType) ( unsafe.Pointer) interface{} {
	return packEFace(.rtype, *(*unsafe.Pointer)())
}