Class: Antlr4ruby::SetTransition

Inherits:
Transition show all
Defined in:
lib/antlr4ruby/atn/transition/set_transition.rb

Direct Known Subclasses

NotSetTransition

Constant Summary

Constants inherited from Transition

Transition::ACTION, Transition::ATOM, Transition::EPSILON, Transition::NOT_SET, Transition::PRECEDENCE, Transition::PREDICATE, Transition::RANGE, Transition::RULE, Transition::SET, Transition::WILDCARD

Instance Attribute Summary collapse

Attributes inherited from Transition

#target

Instance Method Summary collapse

Methods inherited from Transition

#is_epsilon?, serialization_names, serialization_types

Constructor Details

#initialize(target, range_set) ⇒ SetTransition

Returns a new instance of SetTransition.



5
6
7
8
9
# File 'lib/antlr4ruby/atn/transition/set_transition.rb', line 5

def initialize(target, range_set)
  super(target)
  range_set = RangeSet.new([0..0]) unless range_set
  @range_set = range_set
end

Instance Attribute Details

#range_setObject (readonly)

Returns the value of attribute range_set.



11
12
13
# File 'lib/antlr4ruby/atn/transition/set_transition.rb', line 11

def range_set
  @range_set
end

Instance Method Details

#get_serialization_typeObject



13
14
15
# File 'lib/antlr4ruby/atn/transition/set_transition.rb', line 13

def get_serialization_type
  SET
end

#labelObject



17
18
19
# File 'lib/antlr4ruby/atn/transition/set_transition.rb', line 17

def label
  @range_set
end

#matches?(symbol, min_vocab_symbol, max_vocab_symbol) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/antlr4ruby/atn/transition/set_transition.rb', line 21

def matches?(symbol, min_vocab_symbol, max_vocab_symbol)
  range_set.include?(symbol)
end

#to_sObject



25
26
27
# File 'lib/antlr4ruby/atn/transition/set_transition.rb', line 25

def to_s
  range_set.to_s
end