func (self *Environment) RegisterNative(className string, method string, sig types.MethodSignature, fptr interface{}) error { class, err := self.GetClass(types.NewName(className)) if err != nil { return err } cname := C.CString(method) defer C.free(unsafe.Pointer(cname)) csig := C.CString(sig.String()) defer C.free(unsafe.Pointer(csig)) C.envRegisterNative(self.env, class.class, cname, csig, fptr.(unsafe.Pointer)) return nil }