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>
42 lines
1.0 KiB
Plaintext
42 lines
1.0 KiB
Plaintext
// Objective-C API for talking to issue10788 Go package.
|
|
// gobind -lang=objc issue10788
|
|
//
|
|
// File is generated by gobind. Do not edit.
|
|
|
|
#ifndef __GoIssue10788_H__
|
|
#define __GoIssue10788_H__
|
|
|
|
#include <Foundation/Foundation.h>
|
|
#include "GoUniverse.h"
|
|
|
|
@class GoIssue10788TestStruct;
|
|
@protocol GoIssue10788TestInterface;
|
|
@class GoIssue10788TestInterface;
|
|
|
|
@interface GoIssue10788TestStruct : NSObject {
|
|
}
|
|
@property(strong, readonly) id _ref;
|
|
|
|
- (id)initWithRef:(id)ref;
|
|
- (NSString*)value;
|
|
- (void)setValue:(NSString*)v;
|
|
@end
|
|
|
|
@protocol GoIssue10788TestInterface
|
|
- (void)doSomeWork:(GoIssue10788TestStruct*)s;
|
|
- (void)multipleUnnamedParams:(long)p0 p1:(NSString*)p1 日本:(int64_t)日本;
|
|
@end
|
|
|
|
@class GoIssue10788TestInterface;
|
|
|
|
@interface GoIssue10788TestInterface : NSObject <GoIssue10788TestInterface> {
|
|
}
|
|
@property(strong, readonly) id _ref;
|
|
|
|
- (instancetype)initWithRef:(id)ref;
|
|
- (void)doSomeWork:(GoIssue10788TestStruct*)s;
|
|
- (void)multipleUnnamedParams:(long)p0 p1:(NSString*)p1 日本:(int64_t)日本;
|
|
@end
|
|
|
|
#endif
|