class JRuby::Lint::Checkers::ForkExec

Public Instance Methods

add_finding(node) click to toggle source
# File lib/jruby/lint/checkers/fork_exec.rb, line 27
def add_finding(node)
  collector.add_finding('Kernel#fork is not implemented on JRuby.', [:fork, :error], node.line+1)
end
fork?(node) click to toggle source
# File lib/jruby/lint/checkers/fork_exec.rb, line 23
def fork?(node)
  node.name == :fork
end
visitCallNode(node) click to toggle source
# File lib/jruby/lint/checkers/fork_exec.rb, line 4
def visitCallNode(node)
  if fork?(node)
    @call_node = node
    child = node.child_nodes.first
    if child && %w(COLON3NODE CONSTNODE).include?(child.node_type.to_s) && child.name == :Kernel
      add_finding(node)
    end
    proc { @call_node = nil }
  end
end
visitFCallNode(node) click to toggle source
# File lib/jruby/lint/checkers/fork_exec.rb, line 15
def visitFCallNode(node)
  add_finding node if fork?(node)
end
visitVCallNode(node) click to toggle source
# File lib/jruby/lint/checkers/fork_exec.rb, line 19
def visitVCallNode(node)
  add_finding node if fork?(node) && !@call_node
end