Sha256: 2997cbd6c549767da0916d8281636f5f1b9459aef93711769e62fd9d814d4d72
Contents?: true
Size: 1016 Bytes
Versions: 4
Compression:
Stored size: 1016 Bytes
Contents
module Yoda module Typing class Inferencer class Arguments # @param argument_nodes [Array<AST::Node>] # @param tracer [Tracer] def initialize(argument_nodes, tracer) @argument_nodes = argument_nodes @tracer = tracer end # @param signature [Model::FunctionSignatures::Base] # @return [Boolean] def accepted_by?(signature) signature.parameters end # @param nodes [Array<::AST::Node>] # @return [{Symbol => Types::Base}] def infer_argument_nodes(argument_nodes) argument_nodes.each_with_object({}) do |node, obj| case node.type when :splat # TODO infer(node) when :block_pass obj[:block_argument] = infer(node.children.first) else obj[:arguments] ||= [] obj[:arguments].push(infer(node)) end end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems