View Javadoc

1   package org.codehaus.groovy.syntax.lexer;
2   
3   import org.codehaus.groovy.syntax.ReadException;
4   
5   public class StringCharStream extends AbstractCharStream {
6       private int cur;
7       private String text;
8   
9       public StringCharStream(String text) {
10          this.text = text;
11          this.cur = 0;
12      }
13  
14      public StringCharStream(String text, String description) {
15          super(description);
16          this.text = text;
17          this.cur = 0;
18      }
19  
20      public char consume() throws ReadException {
21          if (this.cur >= this.text.length()) {
22              return CharStream.EOS;
23          }
24  
25          char c = this.text.charAt(this.cur);
26  
27          ++this.cur;
28  
29          return c;
30      }
31  
32      public void close() throws ReadException {
33          // do nothing
34      }
35  }