libjava/ChangeLog:
[official-gcc.git] / libjava / classpath / tools / gnu / classpath / tools / gjdoc / expr / ConstantChar.java
blob56d32308336ede2634253cc5e3806a4a58f4f16f
1 /* gnu.classpath.tools.gjdoc.expr.ConstantChar
2 Copyright (C) 2004 Free Software Foundation, Inc.
4 This file is part of GNU Classpath.
6 GNU Classpath is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
11 GNU Classpath is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GNU Classpath; see the file COPYING. If not, write to the
18 Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19 02111-1307 USA. */
21 package gnu.classpath.tools.gjdoc.expr;
23 class ConstantChar
24 extends ConstantExpression
26 private char value;
28 public ConstantChar(String stringValue)
30 this.value = stringValue.charAt(1); // FIXME
31 if (value == '\\') {
32 switch (stringValue.charAt(2)) {
33 case 'n': value = '\n'; break;
34 case 't': value = '\t'; break;
35 case 'f': value = '\f'; break;
36 case 'r': value = '\r'; break;
37 case 'b': value = '\b'; break;
38 case 'u':
40 String stringVal = stringValue.substring(3, stringValue.length() - 1);
42 while (stringVal.length() > 1 && stringVal.charAt(0) == '0') {
43 stringVal = stringVal.substring(1);
46 value = (char)Integer.parseInt(stringVal, 16); break;
52 public ConstantChar(char charValue)
54 this.value = charValue;
57 public Type getType()
59 return Type.CHAR;
62 public Number asNumber()
64 return new Integer((int)value);
67 public Object asObject()
69 return new Character(value);
72 public boolean isNumber()
74 return true;
77 public String toString()
79 return Character.toString(value);