syntax_tree -> Prism::Node | RubyVM::AbstractSyntaxTree::Node | nilRuby 4.1 から[permalink][rdoc][edit]-
selfのコンパイル元になった抽象構文木(AST)のノードを、コンパイルに使ったのと同じパーサでソースを再度パースし直すことで返します。ブロックから作られた
Procでは、ブロック自身のノードではなく、そのブロックを持つ外側のノード(ブロック付きのメソッド呼び出しなど)を返します。ノードを確実に取得できない場合に nil を返す条件については RubyVM::InstructionSequence#syntax_tree を参照してください。
このメソッドは実験的なもので、予告なく変更される可能性があります。
例node = -> { 42 }.syntax_tree p node.is_a?(Prism::LambdaNode) # => true node = proc { 42 }.syntax_tree p node.is_a?(Prism::CallNode) # => true[SEE_ALSO] Proc#source_range, RubyVM::InstructionSequence#syntax_tree