View Javadoc
1   package de.fhdw.wtf.common.ast;
2   
3   import de.fhdw.wtf.common.token.Token;
4   
5   /**
6    * This class represents a syntax object. Every part of the abstract syntax tree will have this class. This class has
7    * two {@link Token}. The first and last token of a parsed part. When an object is a synthetic object, both tokens are
8    * the {@link de.fhdw.wtf.common.token.DummyToken}.
9    */
10  public abstract class SyntaxObject implements SyntaxObjectInterface {
11  	
12  	/**
13  	 * generated.
14  	 */
15  	private static final long serialVersionUID = 7689824529366354331L;
16  	
17  	/**
18  	 * First-Token.
19  	 */
20  	private Token firstToken;
21  	
22  	/**
23  	 * Last-Token.
24  	 */
25  	private Token lastToken;
26  	
27  	/**
28  	 * Constructor of {@link SyntaxObject}.
29  	 * 
30  	 * @param firstToken
31  	 *            firstToken
32  	 * @param lastToken
33  	 *            lastToken
34  	 */
35  	protected SyntaxObject(final Token firstToken, final Token lastToken) {
36  		this.setFirstToken(firstToken);
37  		this.setLastToken(lastToken);
38  	}
39  	
40  	// //////////// Projections //////////////////
41  	
42  	@Override
43  	public Token getFirstToken() {
44  		return this.firstToken;
45  	}
46  	
47  	@Override
48  	public void setFirstToken(final Token firstToken) {
49  		this.firstToken = firstToken;
50  	}
51  	
52  	@Override
53  	public Token getLastToken() {
54  		return this.lastToken;
55  	}
56  	
57  	@Override
58  	public void setLastToken(final Token lastToken) {
59  		this.lastToken = lastToken;
60  	}
61  	
62  }