Module: CodeMiner::SymbolProcessor
- Included in:
- Parser
- Defined in:
- lib/codeminer/processors/symbol_processor.rb
Instance Method Summary collapse
- #on_dyna_symbol(*body) ⇒ Object
- #on_symbeg(value) ⇒ Object
- #on_symbol(token) ⇒ Object
- #on_symbol_literal(symbol) ⇒ Object
Instance Method Details
#on_dyna_symbol(*body) ⇒ Object
13 14 15 16 |
# File 'lib/codeminer/processors/symbol_processor.rb', line 13 def on_dyna_symbol(*body) body.first.src = extract_src_by_tokens(@string_begin.pop, @string_end.pop) DynamicSymbolExpression.new(*body, extract_src_by_tokens(@symbol_begin.pop, body.last)) end |
#on_symbeg(value) ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/codeminer/processors/symbol_processor.rb', line 18 def on_symbeg(value) super.tap do |token| if value.end_with?('"', "'") @symbol_begin << Token.new(:symbeg, value.chomp('"').chomp("'"), extract_src_by_token(token, token.end_line, token.end_column - 1)) @string_begin << Token.new(:tstring_beg, value.slice(1..-1), extract_src(token.line, token.column + 1, token.end_line, token.end_column - 1)) else @symbol_begin << token end end end |
#on_symbol(token) ⇒ Object
9 10 11 |
# File 'lib/codeminer/processors/symbol_processor.rb', line 9 def on_symbol(token) SymbolExpression.new(token, extract_src_by_token(@symbol_begin.pop)) end |
#on_symbol_literal(symbol) ⇒ Object
5 6 7 |
# File 'lib/codeminer/processors/symbol_processor.rb', line 5 def on_symbol_literal(symbol) SymbolExpression.convert(symbol) end |