Home | History | Annotate | Download | only in Framework
      1 // [The "BSD licence"]
      2 // Copyright (c) 2006-2007 Kay Roepke 2010 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 "ANTLRParserRuleReturnScope.h"
     28 
     29 
     30 @implementation ANTLRParserRuleReturnScope
     31 
     32 @synthesize start;
     33 @synthesize stopToken;
     34 
     35 - (void) dealloc
     36 {
     37     [self setStart:nil];
     38     [self setStop:nil];
     39     [super dealloc];
     40 }
     41 
     42 - (id<ANTLRToken>) getStart
     43 {
     44     return start; 
     45 }
     46 
     47 - (void) setStart: (id<ANTLRToken>) aStart
     48 {
     49     if (start != aStart) {
     50         [aStart retain];
     51         if ( start ) [start release];
     52         start = aStart;
     53     }
     54 }
     55 
     56 - (id<ANTLRToken>) getStop
     57 {
     58     return stopToken; 
     59 }
     60 
     61 - (void) setStop: (id<ANTLRToken>) aStop
     62 {
     63     if (stopToken != aStop) {
     64         [aStop retain];
     65         if ( stopToken ) [stopToken release];
     66         stopToken = aStop;
     67     }
     68 }
     69 
     70 // create a copy, including the text if available
     71 // the input stream is *not* copied!
     72 - (id) copyWithZone:(NSZone *)theZone
     73 {
     74     ANTLRParserRuleReturnScope *copy = [super copyWithZone:theZone];
     75     copy.start = start;
     76     copy.stopToken = stopToken;
     77     return copy;
     78 }
     79 
     80 @end
     81