001    /*
002     * Cobertura - http://cobertura.sourceforge.net/
003     *
004     * This file was taken from JavaNCSS
005     * http://www.kclee.com/clemens/java/javancss/
006     * Copyright (C) 2000 Chr. Clemens Lee <clemens a.t kclee d.o.t com>
007     *
008     * Cobertura is free software; you can redistribute it and/or modify
009     * it under the terms of the GNU General Public License as published
010     * by the Free Software Foundation; either version 2 of the License,
011     * or (at your option) any later version.
012     *
013     * Cobertura is distributed in the hope that it will be useful, but
014     * WITHOUT ANY WARRANTY; without even the implied warranty of
015     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
016     * General Public License for more details.
017     *
018     * You should have received a copy of the GNU General Public License
019     * along with Cobertura; if not, write to the Free Software
020     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
021     * USA
022     */
023    
024    
025    /*
026     *
027     * WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING  
028     *
029     * WARNING TO COBERTURA DEVELOPERS
030     *
031     * DO NOT MODIFY THIS FILE!
032     *
033     * MODIFY THE FILES UNDER THE JAVANCSS DIRECTORY LOCATED AT THE ROOT OF THE COBERTURA PROJECT.
034     *
035     * FOLLOW THE PROCEDURE FOR MERGING THE LATEST JAVANCSS INTO COBERTURA LOCATED AT
036     * javancss/coberturaREADME.txt
037     *
038     * WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   WARNING   
039     */
040    /* Generated By:JavaCC: Do not edit this line. Token.java Version 4.1 */
041    /* JavaCCOptions:TOKEN_EXTENDS=,KEEP_LINE_COL=null */
042    package net.sourceforge.cobertura.javancss.parser;
043    
044    /**
045     * Describes the input token stream.
046     */
047    
048    public class Token {
049    
050      /**
051       * An integer that describes the kind of this token.  This numbering
052       * system is determined by JavaCCParser, and a table of these numbers is
053       * stored in the file ...Constants.java.
054       */
055      public int kind;
056    
057      /** The line number of the first character of this Token. */
058      public int beginLine;
059      /** The column number of the first character of this Token. */
060      public int beginColumn;
061      /** The line number of the last character of this Token. */
062      public int endLine;
063      /** The column number of the last character of this Token. */
064      public int endColumn;
065    
066      /**
067       * The string image of the token.
068       */
069      public String image;
070    
071      /**
072       * A reference to the next regular (non-special) token from the input
073       * stream.  If this is the last token from the input stream, or if the
074       * token manager has not read tokens beyond this one, this field is
075       * set to null.  This is true only if this token is also a regular
076       * token.  Otherwise, see below for a description of the contents of
077       * this field.
078       */
079      public Token next;
080    
081      /**
082       * This field is used to access special tokens that occur prior to this
083       * token, but after the immediately preceding regular (non-special) token.
084       * If there are no such special tokens, this field is set to null.
085       * When there are more than one such special token, this field refers
086       * to the last of these special tokens, which in turn refers to the next
087       * previous special token through its specialToken field, and so on
088       * until the first special token (whose specialToken field is null).
089       * The next fields of special tokens refer to other special tokens that
090       * immediately follow it (without an intervening regular token).  If there
091       * is no such token, this field is null.
092       */
093      public Token specialToken;
094    
095      /**
096       * An optional attribute value of the Token.
097       * Tokens which are not used as syntactic sugar will often contain
098       * meaningful values that will be used later on by the compiler or
099       * interpreter. This attribute value is often different from the image.
100       * Any subclass of Token that actually wants to return a non-null value can
101       * override this method as appropriate.
102       */
103      public Object getValue() {
104        return null;
105      }
106    
107      /**
108       * No-argument constructor
109       */
110      public Token() {}
111    
112      /**
113       * Constructs a new token for the specified Image.
114       */
115      public Token(int kind)
116      {
117         this(kind, null);
118      }
119    
120      /**
121       * Constructs a new token for the specified Image and Kind.
122       */
123      public Token(int kind, String image)
124      {
125         this.kind = kind;
126         this.image = image;
127      }
128    
129      /**
130       * Returns the image.
131       */
132      public String toString()
133      {
134         return image;
135      }
136    
137      /**
138       * Returns a new Token object, by default. However, if you want, you
139       * can create and return subclass objects based on the value of ofKind.
140       * Simply add the cases to the switch for all those special cases.
141       * For example, if you have a subclass of Token called IDToken that
142       * you want to create if ofKind is ID, simply add something like :
143       *
144       *    case MyParserConstants.ID : return new IDToken(ofKind, image);
145       *
146       * to the following switch statement. Then you can cast matchedToken
147       * variable to the appropriate type and use sit in your lexical actions.
148       */
149      public static Token newToken(int ofKind, String image)
150      {
151         switch(ofKind)
152         {
153           default : return new Token(ofKind, image);
154         }
155      }
156    
157      public static Token newToken(int ofKind)
158      {
159         return newToken(ofKind, null);
160      }
161    
162    }
163    /* JavaCC - OriginalChecksum=48c8965b1d2c7366d2b53a19209a1660 (do not edit this line) */