View Javadoc

1   /* Generated By:JavaCC: Do not edit this line. Token.java Version 3.0 */
2   
3   /***************************************************************************************
4    * Copyright (c) Jonas Bonér, Alexandre Vasseur. All rights reserved.                 *
5    * http://aspectwerkz.codehaus.org                                                    *
6    * ---------------------------------------------------------------------------------- *
7    * The software in this package is published under the terms of the LGPL license      *
8    * a copy of which has been included with this distribution in the license.txt file.  *
9    **************************************************************************************/
10  package org.codehaus.aspectwerkz.annotation.expression.ast;
11  
12  /***
13   * Describes the input token stream.
14   */
15  public class Token {
16      /***
17       * An integer that describes the kind of this token. This numbering system is determined by JavaCCParser, and a
18       * table of these numbers is stored in the file ...Constants.java.
19       */
20      public int kind;
21  
22      /***
23       * beginLine and beginColumn describe the position of the first character of this token; endLine and endColumn
24       * describe the position of the last character of this token.
25       */
26      public int beginLine;
27  
28      /***
29       * beginLine and beginColumn describe the position of the first character of this token; endLine and endColumn
30       * describe the position of the last character of this token.
31       */
32      public int beginColumn;
33  
34      /***
35       * beginLine and beginColumn describe the position of the first character of this token; endLine and endColumn
36       * describe the position of the last character of this token.
37       */
38      public int endLine;
39  
40      /***
41       * beginLine and beginColumn describe the position of the first character of this token; endLine and endColumn
42       * describe the position of the last character of this token.
43       */
44      public int endColumn;
45  
46      /***
47       * The string image of the token.
48       */
49      public String image;
50  
51      /***
52       * A reference to the next regular (non-special) token from the input stream. If this is the last token from the
53       * input stream, or if the token manager has not read tokens beyond this one, this field is set to null. This is
54       * true only if this token is also a regular token. Otherwise, see below for a description of the contents of this
55       * field.
56       */
57      public Token next;
58  
59      /***
60       * This field is used to access special tokens that occur prior to this token, but after the immediately preceding
61       * regular (non-special) token. If there are no such special tokens, this field is set to null. When there are more
62       * than one such special token, this field refers to the last of these special tokens, which in turn refers to the
63       * next previous special token through its specialToken field, and so on until the first special token (whose
64       * specialToken field is null). The next fields of special tokens refer to other special tokens that immediately
65       * follow it (without an intervening regular token). If there is no such token, this field is null.
66       */
67      public Token specialToken;
68  
69      /***
70       * Returns the image.
71       */
72      public String toString() {
73          return image;
74      }
75  
76      /***
77       * Returns a new Token object, by default. However, if you want, you can create and return subclass objects based on
78       * the value of ofKind. Simply add the cases to the switch for all those special cases. For example, if you have a
79       * subclass of Token called IDToken that you want to create if ofKind is ID, simlpy add something like : <p/>case
80       * MyParserConstants.ID : return new IDToken(); <p/>to the following switch statement. Then you can cast
81       * matchedToken variable to the appropriate type and use it in your lexical actions.
82       */
83      public static final Token newToken(int ofKind) {
84          switch (ofKind) {
85              default:
86                  return new Token();
87          }
88      }
89  }