Class BlackHoleChannel

java.lang.Object
org.sonar.sslr.channel.Channel<Lexer>
com.sonar.sslr.impl.channel.BlackHoleChannel

public class BlackHoleChannel extends Channel<Lexer>
Allows to skip characters, which match given regular expression.

Mostly this channel is used with regular expression "\s++" to remove all whitespace characters. And in such case this channel should be the first one in a sequence of channels for performance reasons, because generally whitespace characters are encountered more often than all other and especially between others.

  • Constructor Details

  • Method Details

    • consume

      public boolean consume(CodeReader code, Lexer lexer)
      Description copied from class: Channel
      Tries to consume the character stream at the current reading cursor position (provided by the CodeReader). If the character stream is consumed the method must return true and the OUTPUT object can be fed.
      Specified by:
      consume in class Channel<Lexer>
      Parameters:
      code - the handle on the input character stream
      lexer - the OUTPUT that can be optionally fed by the Channel
      Returns:
      false if the Channel doesn't want to consume the character stream, true otherwise.