Class: Mutant::AST::Pattern::Lexer Private

Inherits:
Object
  • Object
show all
Defined in:
lib/mutant/ast/pattern/lexer.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

rubocop:disable Metrics/ClassLength

Defined Under Namespace

Classes: Error

Constant Summary collapse

WHITESPACE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

[' ', "\t", "\n"].to_set.freeze
STRUCTURAL =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

{
  '(' => :group_start,
  ')' => :group_end,
  ',' => :delimiter,
  '{' => :properties_start,
  '}' => :properties_end
}.freeze
EQ_OPERATORS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

%w[=== == =~].freeze
OPERATORS_BY_START =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

{
  '!' => %w[!= !~ !].freeze,
  '<' => %w[<=> << <= <].freeze,
  '>' => %w[>> >= >].freeze,
  '+' => %w[+@ +].freeze,
  '-' => %w[-@ -].freeze,
  '*' => %w[** *].freeze,
  '[' => ['[]=', '[]'].freeze,
  '/' => ['/'].freeze,
  '%' => ['%'].freeze,
  '&' => ['&'].freeze,
  '|' => ['|'].freeze,
  '^' => ['^'].freeze,
  '~' => ['~'].freeze
}.freeze
IDENTIFIER_START =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

/[a-zA-Z]/
IDENTIFIER_CONTINUE =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

/[a-zA-Z0-9_]/
SETTER_TERMINATORS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

(WHITESPACE + [',', ')', '}']).freeze

Class Method Summary collapse

Class Method Details

.call(string) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



43
44
45
# File 'lib/mutant/ast/pattern/lexer.rb', line 43

def self.call(string)
  new(string).__send__(:run)
end