metasploit-framework/lib/rkelly/nodes/resolve_node.rb

20 lines
494 B
Ruby

module RKelly
module Nodes
class ResolveNode < Node
def ==(other)
return true if super
if @value =~ /^[A-Z]/
place = [Object, Module, RKelly::Nodes].find { |x|
x.const_defined?(@value.to_sym)
}
return false unless place
klass = place.const_get(@value.to_sym)
return true if klass && other.is_a?(klass) || other.value.is_a?(klass)
end
false
end
alias :=~ :==
end
end
end