Ruby 4.1 リファレンスマニュアル

instance method Method#syntax_tree

syntax_tree -> Prism::Node | RubyVM::AbstractSyntaxTree::Node | nilRuby 4.1 から[permalink][rdoc][edit]

このメソッドのコンパイル元になった抽象構文木(AST)のノードを、コンパイルに使ったのと同じパーサでソースを再度パースし直すことで返します。

Ruby で定義されていないメソッドに対しては nil を返します。ソースが変更されているなど、ノードを確実に取得できない場合に nil を返す他の条件については RubyVM::InstructionSequence#syntax_tree を参照してください。

このメソッドは実験的なもので、予告なく変更される可能性があります。

def proc_ast_test_method = :ok

node = method(:proc_ast_test_method).syntax_tree
p node.type  # => :def_node
p node.slice # => "def proc_ast_test_method = :ok"

[SEE_ALSO] Method#source_range, RubyVM::InstructionSequence#syntax_tree