PageRenderTime 36ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-3-pre5/gnu/regexp/RETokenAny.java

#
Java | 54 lines | 26 code | 8 blank | 20 comment | 8 complexity | e93fd4077010e4ce65d0c696c03fa103 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. /*
  2. * gnu/regexp/RETokenAny.java
  3. * Copyright (C) 1998-2001 Wes Biggs
  4. *
  5. * This library is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU Lesser General Public License as published
  7. * by the Free Software Foundation; either version 2.1 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * This library is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU Lesser General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU Lesser General Public License
  16. * along with this program; if not, write to the Free Software
  17. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18. */
  19. package gnu.regexp;
  20. final class RETokenAny extends REToken {
  21. /** True if '.' can match a newline (RE_DOT_NEWLINE) */
  22. private boolean newline;
  23. /** True if '.' can't match a null (RE_DOT_NOT_NULL) */
  24. private boolean matchNull;
  25. RETokenAny(int subIndex, boolean newline, boolean matchNull) {
  26. super(subIndex);
  27. this.newline = newline;
  28. this.matchNull = matchNull;
  29. }
  30. int getMinimumLength() {
  31. return 1;
  32. }
  33. boolean match(CharIndexed input, REMatch mymatch) {
  34. char ch = input.charAt(mymatch.index);
  35. if ((ch == CharIndexed.OUT_OF_BOUNDS)
  36. || (!newline && (ch == '\n'))
  37. || (matchNull && (ch == 0))) {
  38. return false;
  39. }
  40. ++mymatch.index;
  41. return next(input, mymatch);
  42. }
  43. void dump(StringBuffer os) {
  44. os.append('.');
  45. }
  46. }