Граф коммитов

12 Коммитов

Автор SHA1 Сообщение Дата
Yusuke Endoh ed8e265d4b Experimentally expose RubyVM::AST::Node#node_id
Now ISeq#to_a includes the node_id list for each bytecode instruction.
I want a way to retrieve the AST::Node instance corresponding to an
instruction for a research purpose including TypeProf-based LSP server.
2021-06-21 21:15:25 +09:00
Yusuke Endoh acae5f363d ast.rb: RubyVM::AST.parse and .of accepts `save_script_lines: true`
This option makes the parser keep the original source as an array of
the original code lines. This feature exploits the mechanism of
`SCRIPT_LINES__` but records only the specified code that is passed to
RubyVM::AST.of or .parse, instead of recording all parsed program texts.
2021-06-18 02:34:27 +09:00
Nobuyoshi Nakada cf92b3cc97
ast.rb: reduce nesting 2021-06-06 23:02:06 +09:00
Masataka Pocke Kuwabara b71047cca3 Fix RubyVM::AbstractSyntaxTree document
RubyVM::AbstractSyntaxTree is a module actually, but the document says "class".
2020-06-24 15:17:53 +09:00
Nobuyoshi Nakada 63aadc237f [Feature #16254] Use `Primitive.func` style 2020-06-19 18:46:55 +09:00
Nobuyoshi Nakada d863f4bccd [Feature #16254] Use `__builtin.func` style 2020-06-19 18:46:55 +09:00
Kazuhiro NISHIYAMA b884eb59eb
Fix variable name and add more example [ci skip] 2020-01-03 01:27:25 +09:00
Kazuhiro NISHIYAMA bba4916122
Fix example of node.type [ci skip]
```
% docker run -it --rm rubylang/all-ruby env ALL_RUBY_SINCE=ruby-2.6 ./all-ruby -e 'root = RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
p [root, root.type]
call = root.children[2]
p [call, call.type]
'
ruby-2.6.0          [#<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:9>, :SCOPE]
                    [#<RubyVM::AbstractSyntaxTree::Node:LASGN@1:0-1:9>, :LASGN]
...
ruby-2.7.0          [#<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:9>, :SCOPE]
                    [#<RubyVM::AbstractSyntaxTree::Node:LASGN@1:0-1:9>, :LASGN]
```
2020-01-03 00:02:28 +09:00
Benoit Daloze 9e02568363 Improve highlighting in RubyVM::AbstractSyntaxTree docs when using `ri` 2019-12-14 12:26:30 +01:00
Benoit Daloze b4b22b9278 Clarify in the documentation that RubyVM::AbstractSyntaxTree is not stable API
* See [Feature #14844].
2019-12-14 12:21:40 +01:00
Koichi Sasada 08ff9edb53 fix line break code (fix to LF) 2019-11-08 09:30:11 +09:00
Koichi Sasada a47d058ebf use builtin for RubyVM::AbstractSyntaxTree.
Define RubyVM::AbstractSyntaxTree in ast.rb
with __builtin functions.
2019-11-08 09:09:29 +09:00