Class: Ripper::SexpBuilder
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
|
Subclasses:
|
|
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
::Ripper
|
|
|
Instance Chain:
self,
::Ripper
|
|
| Inherits: | Ripper |
| Defined in: | ext/ripper/lib/ripper/sexp.rb |
Constant Summary
::Ripper - Inherited
Class Method Summary
::Ripper - Inherited
| .dedent_string | USE OF RIPPER LIBRARY ONLY. |
| .lex | Tokenizes the Ruby program and returns an array of an array, which is formatted like |
| .lex_state_name | Returns a string representation of lex_state. |
| .new | Create a new |
| .parse | Parses the given Ruby program read from |
| .sexp |
|
| .sexp_raw |
|
| .slice |
|
| .tokenize | Tokenizes the Ruby program and returns an array of strings. |
| .token_match | |
Instance Attribute Summary
::Ripper - Inherited
| #debug_output | Get debug output. |
| #debug_output= | Set debug output. |
| #end_seen? | Return true if parsed source ended by _END_. |
| #error? | Return true if parsed source has errors. |
| #yydebug | Get yydebug. |
| #yydebug= | Set yydebug. |
Instance Method Summary
- #dedent_element(e, width) private
- #on_heredoc_dedent(val, width) private
::Ripper - Inherited
| #column | Return column number of current parsing line. |
| #encoding | Return encoding of the source. |
| #filename | Return current parsing filename. |
| #lineno | Return line number of current parsing line. |
| #parse | Start parsing and returns the value of the root action. |
| #state | Return scanner state of current token. |
| #token | Return the current token string. |
| #compile_error | This method is called when the parser found syntax error. |
| #dedent_string | Alias for dedent_string. |
| #warn | This method is called when weak warning is produced by the parser. |
| #warning | This method is called when strong warning is produced by the parser. |
| #assert_Qundef, #rawVALUE, #validate_object, #_dispatch_0, #_dispatch_1, #_dispatch_2, #_dispatch_3, #_dispatch_4, #_dispatch_5, #_dispatch_6, #_dispatch_7 | |
Constructor Details
This class inherits a constructor from Ripper
Instance Method Details
#dedent_element(e, width) (private)
[ GitHub ]# File 'ext/ripper/lib/ripper/sexp.rb', line 66
def dedent_element(e, width) if (n = dedent_string(e[1], width)) > 0 e[2][1] += n end e end
#on_heredoc_dedent(val, width) (private)
[ GitHub ]# File 'ext/ripper/lib/ripper/sexp.rb', line 73
def on_heredoc_dedent(val, width) sub = proc do |cont| cont.map! do |e| if Array === e case e[0] when :@tstring_content e = dedent_element(e, width) when /_add\z/ e[1] = sub[e[1]] end elsif String === e dedent_string(e, width) end e end end sub[val] val end