xref: /aosp_15_r20/external/antlr/runtime/ObjC/Framework/ACNumber.h (revision 16467b971bd3e2009fad32dd79016f2c7e421deb)
1*16467b97STreehugger Robot //
2*16467b97STreehugger Robot //  ACNumber.h
3*16467b97STreehugger Robot //  ST4
4*16467b97STreehugger Robot //
5*16467b97STreehugger Robot //  Created by Alan Condit on 3/19/12.
6*16467b97STreehugger Robot //  Copyright 2012 Alan Condit. All rights reserved.
7*16467b97STreehugger Robot //
8*16467b97STreehugger Robot 
9*16467b97STreehugger Robot #import <Foundation/Foundation.h>
10*16467b97STreehugger Robot 
11*16467b97STreehugger Robot 
12*16467b97STreehugger Robot @interface ACNumber : NSObject {
13*16467b97STreehugger Robot 
14*16467b97STreehugger Robot     union {
15*16467b97STreehugger Robot         BOOL b;
16*16467b97STreehugger Robot         char c;
17*16467b97STreehugger Robot         double d;
18*16467b97STreehugger Robot         NSInteger i;
19*16467b97STreehugger Robot     } u;
20*16467b97STreehugger Robot 
21*16467b97STreehugger Robot     BOOL fBOOL   :  1;
22*16467b97STreehugger Robot     BOOL fChar   :  1;
23*16467b97STreehugger Robot     BOOL fDouble :  1;
24*16467b97STreehugger Robot     BOOL fNSInt  :  1;
25*16467b97STreehugger Robot }
26*16467b97STreehugger Robot 
27*16467b97STreehugger Robot + (ACNumber *)numberWithBool:(BOOL)aBool;
28*16467b97STreehugger Robot + (ACNumber *)numberWithChar:(char)aChar;
29*16467b97STreehugger Robot + (ACNumber *)numberWithDouble:(double)aDouble;
30*16467b97STreehugger Robot + (ACNumber *)numberWithInt:(NSInteger)anInt;
31*16467b97STreehugger Robot + (ACNumber *)numberWithInteger:(NSInteger)anInt;
32*16467b97STreehugger Robot 
33*16467b97STreehugger Robot - (ACNumber *)initWithBool:(BOOL)aBool;
34*16467b97STreehugger Robot - (ACNumber *)initWithChar:(char)aChar;
35*16467b97STreehugger Robot - (ACNumber *)initWithDouble:(double)aDouble;
36*16467b97STreehugger Robot - (ACNumber *)initWithInteger:(NSInteger)anInt;
37*16467b97STreehugger Robot 
38*16467b97STreehugger Robot - (BOOL)boolValue;
39*16467b97STreehugger Robot - (char)charValue;
40*16467b97STreehugger Robot - (double)doubleValue;
41*16467b97STreehugger Robot - (NSInteger)intValue;
42*16467b97STreehugger Robot - (NSInteger)integerValue;
43*16467b97STreehugger Robot - (NSInteger)inc;
44*16467b97STreehugger Robot - (NSInteger)add:(NSInteger)anInt;
45*16467b97STreehugger Robot - (NSString *)description;
46*16467b97STreehugger Robot 
47*16467b97STreehugger Robot @end
48