instance method
Prism::Pattern#compile
compile
lib/prism/pattern.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/lib/prism/pattern.rb, line 71
def compile
result = Prism.parse("case nil\nin #{query}\nend")
case_match_node = result.value.statements.body.last
raise CompilationError, case_match_node.inspect unless case_match_node.is_a?(CaseMatchNode)
in_node = case_match_node.conditions.last
raise CompilationError, in_node.inspect unless in_node.is_a?(InNode)
compile_node(in_node.pattern)
end
Compile the query into a callable object that can be used to match against nodes.
See also
#combine_or
#compile_alternation_pattern_node
#combine_and
#compile_array_pattern_node
also in
3.4 · 3.3