ca22a4c133645bc1ede0fe554a19b9d5c6deb0ad
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / StringLiteral.java
1 /*******************************************************************************
2  * Copyright (c) 2000, 2001, 2002 International Business Machines Corp. and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Common Public License v0.5
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/cpl-v05.html
7  *
8  * Contributors:
9  *     IBM Corporation - initial API and implementation
10  ******************************************************************************/
11 package net.sourceforge.phpdt.internal.compiler.ast;
12
13 import java.util.List;
14 import java.util.ArrayList;
15
16 //import net.sourceforge.phpdt.internal.compiler.IAbstractSyntaxTreeVisitor;
17 //import net.sourceforge.phpdt.internal.compiler.codegen.CodeStream;
18 //import net.sourceforge.phpdt.internal.compiler.impl.Constant;
19 //import net.sourceforge.phpdt.internal.compiler.lookup.BlockScope;
20 //import net.sourceforge.phpdt.internal.compiler.lookup.TypeBinding;
21
22 public class StringLiteral extends Literal {
23   char[] source;
24
25   public StringLiteral(final char[] token, final int s) {
26     super(s, s + token.length);
27     source = token;
28   }
29
30   /**
31    * Create a new StringLiteral
32    * @param token the token
33    * @param s sourcestart
34    * @param e sourceend
35    * @deprecated
36    */
37   public StringLiteral(final char[] token, final int s, final int e) {
38     super(s, e);
39     source = token;
40   }
41
42   public StringLiteral(final int s, final int e) {
43     super(s, e);
44   }
45
46   /**
47    * source method comment.
48    */
49   public char[] source() {
50     return source;
51   }
52
53   /**
54    * Return the expression as String.
55    * @return the expression
56    */
57   /* public String toStringExpression() {
58      // handle some special char.....
59      StringBuffer result = new StringBuffer("\""); //$NON-NLS-1$
60      for (int i = 0; i < source.length; i++) {
61        switch (source[i]) {
62          case '\b':
63            result.append("\\b"); //$NON-NLS-1$
64            break;
65          case '\t':
66            result.append("\\t"); //$NON-NLS-1$
67            break;
68          case '\n':
69            result.append("\\n"); //$NON-NLS-1$
70            break;
71          case '\f':
72            result.append("\\f"); //$NON-NLS-1$
73            break;
74          case '\r':
75            result.append("\\r"); //$NON-NLS-1$
76            break;
77          case '\"':
78            result.append("\\\""); //$NON-NLS-1$
79            break;
80          case '\'':
81            result.append("\\'"); //$NON-NLS-1$
82            break;
83          case '\\': //take care not to display the escape as a potential real char
84            result.append("\\\\"); //$NON-NLS-1$
85            break;
86          default :
87            result.append(source[i]);
88        }
89      }
90      result.append("\""); //$NON-NLS-1$
91      return result.toString();
92    } */
93
94   /**
95    * Return the expression as String.
96    * @return the expression
97    */
98   public String toStringExpression() {
99     return new String(source);
100   }
101
102   /**
103    * @deprecated - use field instead
104    */
105   public int sourceEnd() {
106     return sourceEnd;
107   }
108
109   /**
110    * @deprecated - use field instead
111    */
112   public int sourceStart() {
113     return sourceStart;
114   }
115 }