1
2
3
4
5
6
7
8
9
10
|
#import "Identifier.h"
@implementation Identifier
- (instancetype)initWithName:(OFString *)name
{
self = [super init];
_name = [name copy];
return self;
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#import "Identifier.h"
// contains ALL vars/commands/aliases
static OFMutableDictionary<OFString *, __kindof Identifier *> *identifiers;
@implementation Identifier
+ (void)initialize
{
if (self == Identifier.class)
identifiers = [[OFMutableDictionary alloc] init];
}
+ (void)addIdentifier:(__kindof Identifier *)identifier
{
identifiers[identifier.name] = identifier;
}
+ (__kindof Identifier *)identifierForName:(OFString *)name
{
return identifiers[name];
}
+ (void)enumerateIdentifiersUsingBlock:(void (^)(__kindof Identifier *))block
{
[identifiers enumerateKeysAndObjectsUsingBlock:^(
OFString *name, __kindof Identifier *identifier, bool *stop) {
block(identifier);
}];
}
- (instancetype)initWithName:(OFString *)name
{
self = [super init];
_name = [name copy];
return self;
|