View Javadoc

1   /********************************************************************************
2    *
3    *	Copyright (c) 2008 Fujitsu Services Ltd.
4    *
5    *	Author: Nick Battle
6    *
7    *	This file is part of VDMJ.
8    *
9    *	VDMJ is free software: you can redistribute it and/or modify
10   *	it under the terms of the GNU General Public License as published by
11   *	the Free Software Foundation, either version 3 of the License, or
12   *	(at your option) any later version.
13   *
14   *	VDMJ is distributed in the hope that it will be useful,
15   *	but WITHOUT ANY WARRANTY; without even the implied warranty of
16   *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17   *	GNU General Public License for more details.
18   *
19   *	You should have received a copy of the GNU General Public License
20   *	along with VDMJ.  If not, see <http://www.gnu.org/licenses/>.
21   *
22   ******************************************************************************/
23  
24  package org.overturetool.vdmj.types;
25  
26  import org.overturetool.vdmj.lex.LexQuoteToken;
27  
28  public class QuoteType extends Type
29  {
30  	private static final long serialVersionUID = 1L;
31  	public final String value;
32  
33  	public QuoteType(LexQuoteToken token)
34  	{
35  		super(token.location);
36  		value = token.value;
37  	}
38  
39  	@Override
40  	public String toDisplay()
41  	{
42  		return "<" + value + ">";
43  	}
44  
45  	@Override
46  	public boolean equals(Object other)
47  	{
48  		while (other instanceof BracketType)
49  		{
50  			other = ((BracketType)other).type;
51  		}
52  
53  		if (other instanceof QuoteType)
54  		{
55  			QuoteType qother = (QuoteType)other;
56  			return this.value.equals(qother.value);
57  		}
58  
59  		return false;
60  	}
61  
62  	@Override
63  	public int hashCode()
64  	{
65  		return value.hashCode();
66  	}
67  }