xref: /aosp_15_r20/external/antlr/runtime/ObjC/Framework/Entry.h (revision 16467b971bd3e2009fad32dd79016f2c7e421deb)
1*16467b97STreehugger Robot 
2*16467b97STreehugger Robot @class HashTable;
3*16467b97STreehugger Robot 
4*16467b97STreehugger Robot /**
5*16467b97STreehugger Robot  * HashTable entry.
6*16467b97STreehugger Robot  */
7*16467b97STreehugger Robot 
8*16467b97STreehugger Robot @interface HTEntry : NSObject {
9*16467b97STreehugger Robot     HTEntry *next;
10*16467b97STreehugger Robot     NSInteger hash;
11*16467b97STreehugger Robot     NSString *key;
12*16467b97STreehugger Robot     id value;
13*16467b97STreehugger Robot }
14*16467b97STreehugger Robot 
15*16467b97STreehugger Robot @property(nonatomic, retain) HTEntry  *next;
16*16467b97STreehugger Robot @property(assign)           NSInteger  hash;
17*16467b97STreehugger Robot @property(nonatomic, retain) NSString *key;
18*16467b97STreehugger Robot @property(nonatomic, retain)        id value;
19*16467b97STreehugger Robot 
20*16467b97STreehugger Robot + (HTEntry *)newEntry:(NSInteger)h key:(NSString *)k value:(id)v next:(HTEntry *) n;
21*16467b97STreehugger Robot - (id) init:(NSInteger)h key:(NSString *)k value:(id)v next:(HTEntry *)n;
22*16467b97STreehugger Robot - (id) copyWithZone:(NSZone *)zone;
23*16467b97STreehugger Robot - (void) setValue:(id)newValue;
24*16467b97STreehugger Robot - (BOOL) isEqualTo:(id)o;
25*16467b97STreehugger Robot - (NSInteger) hash;
26*16467b97STreehugger Robot - (NSString *) description;
27*16467b97STreehugger Robot @end
28*16467b97STreehugger Robot 
29*16467b97STreehugger Robot /**
30*16467b97STreehugger Robot  * LinkedMap entry.
31*16467b97STreehugger Robot  */
32*16467b97STreehugger Robot 
33*16467b97STreehugger Robot @interface LMNode : NSObject {
34*16467b97STreehugger Robot     LMNode *next;
35*16467b97STreehugger Robot     LMNode *prev;
36*16467b97STreehugger Robot     id item;
37*16467b97STreehugger Robot }
38*16467b97STreehugger Robot 
39*16467b97STreehugger Robot @property(nonatomic, retain) LMNode *next;
40*16467b97STreehugger Robot @property(nonatomic, retain) LMNode *prev;
41*16467b97STreehugger Robot @property(nonatomic, retain)      id item;
42*16467b97STreehugger Robot 
43*16467b97STreehugger Robot + (LMNode *) newNode:(LMNode *)aPrev element:(id)anElement next:(LMNode *)aNext;
44*16467b97STreehugger Robot - (id) init:(LMNode *)aPrev element:(id)anElement next:(LMNode *)aNext;
45*16467b97STreehugger Robot @end
46*16467b97STreehugger Robot 
47