Home | History | Annotate | Download | only in Framework
      1 // [The "BSD licence"]
      2 // Copyright (c) 2006-2007 Kay Roepke 20110 Alan Condit
      3 // All rights reserved.
      4 //
      5 // Redistribution and use in source and binary forms, with or without
      6 // modification, are permitted provided that the following conditions
      7 // are met:
      8 // 1. Redistributions of source code must retain the above copyright
      9 //    notice, this list of conditions and the following disclaimer.
     10 // 2. Redistributions in binary form must reproduce the above copyright
     11 //    notice, this list of conditions and the following disclaimer in the
     12 //    documentation and/or other materials provided with the distribution.
     13 // 3. The name of the author may not be used to endorse or promote products
     14 //    derived from this software without specific prior written permission.
     15 //
     16 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     17 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     18 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     19 // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     20 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     21 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     22 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     23 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     24 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     25 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     26 
     27 #import "ANTLRFailedPredicateException.h"
     28 
     29 
     30 @implementation ANTLRFailedPredicateException
     31 
     32 @synthesize predicate;
     33 @synthesize ruleName;
     34 
     35 + (ANTLRFailedPredicateException *) newException:(NSString *)theRuleName predicate:(NSString *)thePredicate stream:(id<ANTLRIntStream>)theStream
     36 {
     37 	return [[ANTLRFailedPredicateException alloc] initWithRuleName:theRuleName predicate:thePredicate stream:theStream];
     38 }
     39 
     40 - (ANTLRFailedPredicateException *) initWithRuleName:(NSString *)theRuleName predicate:(NSString *)thePredicate stream:(id<ANTLRIntStream>)theStream
     41 {
     42 	if ((self = [super initWithStream:theStream])) {
     43 		[self setPredicate:thePredicate];
     44 		[self setRuleName:theRuleName];
     45 	}
     46 	return self;
     47 }
     48 
     49 - (void) dealloc
     50 {
     51 #ifdef DEBUG_DEALLOC
     52     NSLog( @"called dealloc in ANTLRFailedPredicateException" );
     53 #endif
     54 	[self setPredicate:nil];
     55 	[self setRuleName:nil];
     56 	[super dealloc];
     57 }
     58 
     59 - (NSString *) description
     60 {
     61 	NSMutableString *desc = (NSMutableString *)[super description];
     62 	[desc appendFormat:@" rule: %@ predicate failed: %@", ruleName, predicate];
     63 	return desc;
     64 }
     65 
     66 #ifdef DONTUSEYET
     67 - (NSString *) getPredicate
     68 {
     69 	return predicate;
     70 }
     71 
     72 - (void) setPredicate:(NSString *)thePredicate
     73 {
     74 	if (thePredicate != predicate) {
     75 		[thePredicate retain];
     76 		if ( predicate ) [predicate release];
     77 		predicate = thePredicate;
     78 	}
     79 }
     80 
     81 - (NSString *) getRuleName
     82 {
     83 	return ruleName;
     84 }
     85 
     86 - (void) setRuleName:(NSString *)theRuleName
     87 {
     88 	if (theRuleName != ruleName) {
     89 		[theRuleName retain];
     90 		if ( ruleName ) [ruleName release];
     91 		ruleName = theRuleName;
     92 	}
     93 }
     94 #endif
     95 
     96 @end
     97