class Ikra::Symbolic::SingleInput
A single input value produced by one command.
Public Class Methods
new(command:, pattern:)
click to toggle source
Calls superclass method
Ikra::Symbolic::Input::new
# File lib/symbolic/input.rb, line 34 def initialize(command:, pattern:) super(pattern: pattern) @command = command end
Public Instance Methods
accept(visitor)
click to toggle source
# File lib/symbolic/input_visitor.rb, line 13 def accept(visitor) visitor.visit_single_input(self, pattern: pattern) end
get_parameters(parent_command:, start_eat_params_offset: 0)
click to toggle source
# File lib/types/inference/input_inference.rb, line 10 def get_parameters(parent_command:, start_eat_params_offset: 0) return [Translator::Variable.new( name: parent_command.block_parameter_names[start_eat_params_offset], type: command.result_type)] end
translate_input(parent_command:, command_translator:, start_eat_params_offset: 0)
click to toggle source
# File lib/translator/input_translator.rb, line 10 def translate_input(parent_command:, command_translator:, start_eat_params_offset: 0) # Translate input using visitor input_command_translation_result = command_translator.translate_input(self) parameters = [Translator::Variable.new( name: parent_command.block_parameter_names[start_eat_params_offset], type: input_command_translation_result.result_type)] return Translator::InputTranslationResult.new( parameters: parameters, command_translation_result: input_command_translation_result) end