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>
16 lines
430 B
Plaintext
16 lines
430 B
Plaintext
// Objective-C API for talking to issue10788 Go package.
|
|
// gobind -lang=objc issue10788
|
|
//
|
|
// File is generated by gobind. Do not edit.
|
|
|
|
#ifndef __issue10788_H__
|
|
#define __issue10788_H__
|
|
|
|
#include <stdint.h>
|
|
#include <objc/objc.h>
|
|
void cproxyissue10788_TestInterface_DoSomeWork(int32_t refnum, int32_t s);
|
|
|
|
void cproxyissue10788_TestInterface_MultipleUnnamedParams(int32_t refnum, nint p0, nstring p1, int64_t 日本);
|
|
|
|
#endif
|