Class: RubyLexer::State
Defined Under Namespace
Modules: Values
Constant Summary
Constants included from Values
Values::EXPR_ARG, Values::EXPR_ARG_ANY, Values::EXPR_BEG, Values::EXPR_BEG_ANY, Values::EXPR_CLASS, Values::EXPR_CMDARG, Values::EXPR_DOT, Values::EXPR_END, Values::EXPR_ENDARG, Values::EXPR_ENDFN, Values::EXPR_END_ANY, Values::EXPR_FITEM, Values::EXPR_FNAME, Values::EXPR_LAB, Values::EXPR_LABEL, Values::EXPR_LABELED, Values::EXPR_LIT, Values::EXPR_MID, Values::EXPR_NONE, Values::EXPR_NUM, Values::EXPR_PAD, Values::EXPR_PAR, Values::STR_DQUOTE, Values::STR_DSYM, Values::STR_DWORD, Values::STR_FUNC_BORING, Values::STR_FUNC_ESCAPE, Values::STR_FUNC_EXPAND, Values::STR_FUNC_ICNTNT, Values::STR_FUNC_INDENT, Values::STR_FUNC_LABEL, Values::STR_FUNC_LIST, Values::STR_FUNC_QWORDS, Values::STR_FUNC_REGEXP, Values::STR_FUNC_SYMBOL, Values::STR_FUNC_TERM, Values::STR_REGEXP, Values::STR_SQUOTE, Values::STR_SSYM, Values::STR_SWORD, Values::STR_XQUOTE
Instance Attribute Summary collapse
-
#n ⇒ Object
Returns the value of attribute n.
-
#names ⇒ Object
Returns the value of attribute names.
Instance Method Summary collapse
- #==(o) ⇒ Object
- #=~(v) ⇒ Object
-
#initialize(o, names) ⇒ State
constructor
TODO: take a shared hash of strings for inspect/to_s.
- #inspect ⇒ Object (also: #to_s)
- #|(v) ⇒ Object
Constructor Details
#initialize(o, names) ⇒ State
TODO: take a shared hash of strings for inspect/to_s
1301 1302 1303 1304 1305 1306 |
# File 'lib/ruby_lexer.rb', line 1301 def initialize o, names raise ArgumentError, "bad state: %p" % [o] unless Integer === o # TODO: remove self.n = o self.names = names end |
Instance Attribute Details
#n ⇒ Object
Returns the value of attribute n.
1297 1298 1299 |
# File 'lib/ruby_lexer.rb', line 1297 def n @n end |
#names ⇒ Object
Returns the value of attribute names.
1298 1299 1300 |
# File 'lib/ruby_lexer.rb', line 1298 def names @names end |
Instance Method Details
#==(o) ⇒ Object
1308 1309 1310 |
# File 'lib/ruby_lexer.rb', line 1308 def == o self.equal?(o) || (o.class == self.class && o.n == self.n) end |
#=~(v) ⇒ Object
1312 1313 1314 |
# File 'lib/ruby_lexer.rb', line 1312 def =~ v (self.n & v.n) != 0 end |
#inspect ⇒ Object Also known as: to_s
1322 1323 1324 1325 1326 1327 1328 1329 |
# File 'lib/ruby_lexer.rb', line 1322 def inspect return "Value(0)" if n.zero? # HACK? names.map { |v, k| k if self =~ v }. compact. join("|"). gsub(/(?:EXPR_|STR_(?:FUNC_)?)/, "") end |
#|(v) ⇒ Object
1316 1317 1318 1319 1320 |
# File 'lib/ruby_lexer.rb', line 1316 def | v raise ArgumentError, "Incompatible State: %p vs %p" % [self, v] unless self.names == v.names self.class.new(self.n | v.n, self.names) end |