1 19 20 package org.netbeans.modules.languages.lexer; 21 22 import org.netbeans.api.languages.CharInput; 23 import org.netbeans.modules.languages.parser.Pattern; 24 import org.netbeans.spi.lexer.LexerInput; 25 26 27 class InputBridge extends CharInput { 28 29 private LexerInput input; 30 private int index = 0; 31 private Pattern start; 32 private Pattern end; 33 34 35 InputBridge (LexerInput input) { 36 this.input = input; 37 } 38 39 public char read () { 40 index++; 41 return (char) input.read (); 42 } 43 44 public void setIndex (int index) { 45 while (this.index < index) 46 read (); 47 input.backup (this.index - index); 48 this.index = index; 49 } 50 51 public int getIndex () { 52 return index; 53 } 54 55 public char next () { 56 char ch = (char) input.read (); 57 input.backup (1); 58 return ch; 59 } 60 61 public boolean eof () { 62 return next () == (char) input.EOF; 63 } 64 65 public String getString (int from, int to) { 66 return input.readText ().toString (); 67 } 68 69 public String toString () { 70 return input.readText ().toString (); 71 } 72 } 73 74 75 | Popular Tags |