The are three generators that currently call this method: A -> B (1) go -> java (2) go -> objective-c (3) go -> go As discussed below, we only substitute for invalid unicode characters in case (1). **Case 1** Go: From golang.org/ref/spec: Identifiers name program entities such as variables and types. An identifier is a sequence of one or more letters and digits(unicode_digit). The first character in an identifier must be a letter(unicode_letter | "_" ). Java: From https://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.8 `The "Java letters" include uppercase and lowercase ASCII Latin letters A-Z (\u0041-\u005a), and a-z (\u0061-\u007a), and, for historical reasons, the ASCII underscore (_, or \u005f) and dollar sign ($, or \u0024). The $ character should be used only in mechanically generated source code or, rarely, to access pre-existing names on legacy systems.` Therefore, Go's identifiers are checked in case they break these Java rules. **Case 2** There is no objective-c standard specification for valid identifiers. From some testing it seems that Go and objective-c have identical valid identifier rules. **Case 3** Requires no checking. Change-Id: I881810eb9355af6a418727ace32cb6ce4266b2a0 Reviewed-on: https://go-review.googlesource.com/14044 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
84 lines
2.6 KiB
Plaintext
84 lines
2.6 KiB
Plaintext
// Package gomobile_bind is an autogenerated binder stub for package issue10788.
|
|
// gobind -lang=go issue10788
|
|
//
|
|
// File is generated by gobind. Do not edit.
|
|
package gomobile_bind
|
|
|
|
/*
|
|
#include <stdlib.h>
|
|
#include <stdint.h>
|
|
#include "seq.h"
|
|
#include "issue10788.h"
|
|
|
|
*/
|
|
import "C"
|
|
|
|
import (
|
|
_seq "golang.org/x/mobile/bind/seq"
|
|
"issue10788"
|
|
)
|
|
|
|
// suppress the error if seq ends up unused
|
|
var _ = _seq.FromRefNum
|
|
|
|
//export proxyissue10788_TestStruct_Value_Set
|
|
func proxyissue10788_TestStruct_Value_Set(refnum C.int32_t, v C.nstring) {
|
|
ref := _seq.FromRefNum(int32(refnum))
|
|
_v := decodeString(v)
|
|
ref.Get().(*issue10788.TestStruct).Value = _v
|
|
}
|
|
|
|
//export proxyissue10788_TestStruct_Value_Get
|
|
func proxyissue10788_TestStruct_Value_Get(refnum C.int32_t) C.nstring {
|
|
ref := _seq.FromRefNum(int32(refnum))
|
|
v := ref.Get().(*issue10788.TestStruct).Value
|
|
_v := encodeString(v)
|
|
return _v
|
|
}
|
|
|
|
//export new_issue10788_TestStruct
|
|
func new_issue10788_TestStruct() C.int32_t {
|
|
return C.int32_t(_seq.ToRefNum(new(issue10788.TestStruct)))
|
|
}
|
|
|
|
//export proxyissue10788_TestInterface_DoSomeWork
|
|
func proxyissue10788_TestInterface_DoSomeWork(refnum C.int32_t, param_s C.int32_t) {
|
|
ref := _seq.FromRefNum(int32(refnum))
|
|
v := ref.Get().(issue10788.TestInterface)
|
|
// Must be a Go object
|
|
_param_s_ref := _seq.FromRefNum(int32(param_s))
|
|
_param_s := _param_s_ref.Get().(*issue10788.TestStruct)
|
|
v.DoSomeWork(_param_s)
|
|
}
|
|
|
|
//export proxyissue10788_TestInterface_MultipleUnnamedParams
|
|
func proxyissue10788_TestInterface_MultipleUnnamedParams(refnum C.int32_t, param_p0 C.nint, param_p1 C.nstring, param_日本 C.int64_t) {
|
|
ref := _seq.FromRefNum(int32(refnum))
|
|
v := ref.Get().(issue10788.TestInterface)
|
|
_param_p0 := int(param_p0)
|
|
_param_p1 := decodeString(param_p1)
|
|
_param_日本 := int64(param_日本)
|
|
v.MultipleUnnamedParams(_param_p0, _param_p1, _param_日本)
|
|
}
|
|
|
|
type proxyissue10788_TestInterface _seq.Ref
|
|
|
|
func (p *proxyissue10788_TestInterface) Bind_proxy_refnum__() int32 {
|
|
return (*_seq.Ref)(p).Bind_IncNum()
|
|
}
|
|
|
|
func (p *proxyissue10788_TestInterface) DoSomeWork(param_s *issue10788.TestStruct) {
|
|
var _param_s C.int32_t = _seq.NullRefNum
|
|
if param_s != nil {
|
|
_param_s = C.int32_t(_seq.ToRefNum(param_s))
|
|
}
|
|
C.cproxyissue10788_TestInterface_DoSomeWork(C.int32_t(p.Bind_proxy_refnum__()), _param_s)
|
|
}
|
|
|
|
func (p *proxyissue10788_TestInterface) MultipleUnnamedParams(param_p0 int, param_p1 string, param_日本 int64) {
|
|
_param_p0 := C.nint(param_p0)
|
|
_param_p1 := encodeString(param_p1)
|
|
_param_日本 := C.int64_t(param_日本)
|
|
C.cproxyissue10788_TestInterface_MultipleUnnamedParams(C.int32_t(p.Bind_proxy_refnum__()), _param_p0, _param_p1, _param_日本)
|
|
}
|