aboutsummaryrefslogtreecommitdiff
path: root/runtime/ObjC/Framework/ANTLRRuleMapElement.m
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/ObjC/Framework/ANTLRRuleMapElement.m')
-rw-r--r--runtime/ObjC/Framework/ANTLRRuleMapElement.m111
1 files changed, 111 insertions, 0 deletions
diff --git a/runtime/ObjC/Framework/ANTLRRuleMapElement.m b/runtime/ObjC/Framework/ANTLRRuleMapElement.m
new file mode 100644
index 0000000..0e8c463
--- /dev/null
+++ b/runtime/ObjC/Framework/ANTLRRuleMapElement.m
@@ -0,0 +1,111 @@
+//
+// ANTLRRuleMapElement.m
+// ANTLR
+//
+// Created by Alan Condit on 6/16/10.
+// [The "BSD licence"]
+// Copyright (c) 2010 Alan Condit
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+// 3. The name of the author may not be used to endorse or promote products
+// derived from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#import "ANTLRRuleMapElement.h"
+
+
+@implementation ANTLRRuleMapElement
+
+@synthesize ruleNum;
+
++ (ANTLRRuleMapElement *)newANTLRRuleMapElement
+{
+ return [[ANTLRRuleMapElement alloc] init];
+}
+
++ (ANTLRRuleMapElement *)newANTLRRuleMapElementWithIndex:(NSNumber *)aNumber
+{
+ return [[ANTLRRuleMapElement alloc] initWithAnIndex:(NSNumber *)aNumber];
+}
+
++ (ANTLRRuleMapElement *)newANTLRRuleMapElementWithIndex:(NSNumber *)aNumber RuleNum:(NSNumber *)aRuleNum
+{
+ return [[ANTLRRuleMapElement alloc] initWithAnIndex:aNumber RuleNum:aRuleNum];
+}
+
+- (id) init
+{
+ if ((self = [super init]) != nil ) {
+ index = nil;
+ ruleNum = nil;
+ }
+ return (self);
+}
+
+- (id) initWithAnIndex:(NSNumber *)aNumber
+{
+ if ((self = [super initWithAnIndex:aNumber]) != nil ) {
+ ruleNum = nil;
+ }
+ return (self);
+}
+
+- (id) initWithAnIndex:(NSNumber *)aNumber RuleNum:(NSNumber *)aRuleNum
+{
+ if ((self = [super initWithAnIndex:aNumber]) != nil ) {
+ [aRuleNum retain];
+ ruleNum = aRuleNum;
+ }
+ return (self);
+}
+
+- (id) copyWithZone:(NSZone *)aZone
+{
+ ANTLRRuleMapElement *copy;
+
+ copy = [super copyWithZone:aZone];
+ copy.ruleNum = ruleNum;
+ return( copy );
+}
+
+- (id)getRuleNum
+{
+ return ruleNum;
+}
+
+- (void)setRuleNum:(id)aRuleNum
+{
+ if ( aRuleNum != ruleNum ) {
+ if ( ruleNum ) [ruleNum release];
+ [aRuleNum retain];
+ }
+ ruleNum = aRuleNum;
+}
+
+- (NSInteger)size
+{
+ NSInteger aSize = 0;
+ if (ruleNum != nil) aSize++;
+ if (index != nil) aSize++;
+ return( aSize );
+}
+
+@end