Class: HDL::Parser::Validator::InputValidator

Inherits:
HDL::Parser::Validator show all
Defined in:
lib/hdl/parser/validator/input_validator.rb

Instance Method Summary collapse

Methods inherited from HDL::Parser::Validator

#initialize, validate!

Constructor Details

This class inherits a constructor from HDL::Parser::Validator

Instance Method Details

#validate!Object



3
4
5
6
7
8
9
10
11
# File 'lib/hdl/parser/validator/input_validator.rb', line 3

def validate!
  intersection = @hash[:inputs] & @hash[:outputs]
  if intersection.size == 1
    raise "`#{intersection.first}' is both an input and an output"
  elsif intersection.size > 1
    pins = intersection.map { |p| "`#{p}'" }.join(", ")
    raise "These pins are both inputs and outputs: #{pins}"
  end
end