class Steep::TypeInference::SendArgs::PositionalArgs
def next()
def next() case when node && node.type == :forwarded_args # If the node is a `:forwarded_args`, abort nil when !node && param.is_a?(Interface::Function::Params::PositionalParams::Required) [ MissingArg.new(params: positional_params), update(index: index, positional_params: nil) ] when !node && param.is_a?(Interface::Function::Params::PositionalParams::Optional) nil when !node && param.is_a?(Interface::Function::Params::PositionalParams::Rest) nil when !node && !param nil when node && node.type != :splat && param.is_a?(Interface::Function::Params::PositionalParams::Required) [ NodeParamPair.new(node: node, param: param), update(index: index+1, positional_params: positional_params&.tail) ] when node && node.type != :splat && param.is_a?(Interface::Function::Params::PositionalParams::Optional) [ NodeParamPair.new(node: node, param: param), update(index: index+1, positional_params: positional_params&.tail) ] when node && node.type != :splat && param.is_a?(Interface::Function::Params::PositionalParams::Rest) [ NodeParamPair.new(node: node, param: param), update(index: index+1) ] when node && node.type != :splat && !param [ UnexpectedArg.new(node: node), update(index: index + 1) ] when node && node.type == :splat [ SplatArg.new(node: node), self ] end end