2
0
mirror of synced 2025-02-23 23:08:14 +00:00
mobile/bind/testdata/issue10788.objc.h.golden
Russ Cox a4f0a77f2f bind: param name replacement for invalid unicode names
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>
2016-10-12 18:37:41 +00:00

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