Sha256: db9b66f64fb350145593ad22714544aa404c2ca1745d896208d401254921de5d
Contents?: true
Size: 811 Bytes
Versions: 4
Compression:
Stored size: 811 Bytes
Contents
# frozen_string_literal: true module Phlex::Compiler::Visitors class Statements < Base MUTATING_METHODS = [:raw, :whitespace, :comment, :text, :doctype] include StableScope def mutating? !!@mutating end visit_method def visit_vcall(node) check Phlex::Compiler::Nodes::VCall.new(node) end visit_method def visit_fcall(node) check Phlex::Compiler::Nodes::FCall.new(node) end visit_method def visit_command(node) check Phlex::Compiler::Nodes::Command.new(node) end visit_method def visit_method_add_block(node) check Phlex::Compiler::Nodes::MethodAddBlock.new(node) end private def check(node) @mutating = true if @compiler.tag_method?(node.name) @mutating = true if MUTATING_METHODS.include?(node.name) && !@compiler.redefined?(node.name) end end end
Version data entries
4 entries across 4 versions & 1 rubygems