1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#import "Identifier.h"
OF_ASSUME_NONNULL_BEGIN
#define COMMAND(name, nargs, block_) \
OF_CONSTRUCTOR() \
{ \
enqueueInit(^{ \
[Identifier \
addIdentifier:[Command commandWithName:@ #name \
argumentsTypes:nargs \
block:block_]]; \
}); \
}
@interface Command: Identifier
@property (readonly, nonatomic) int argumentsTypes;
+ (instancetype)commandWithName:(OFString *)name
argumentsTypes:(int)argumentsTypes
|
|
|
|
|
|
|
|
|
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#import "Identifier.h"
OF_ASSUME_NONNULL_BEGIN
#define COMMAND(name, nargs, block_) \
OF_CONSTRUCTOR() \
{ \
enqueueInit(^{ \
Identifier.identifiers[@ #name] = \
[Command commandWithName:@ #name \
argumentsTypes:nargs \
block:block_]; \
}); \
}
@interface Command: Identifier
@property (readonly, nonatomic) int argumentsTypes;
+ (instancetype)commandWithName:(OFString *)name
argumentsTypes:(int)argumentsTypes
|