Class: RgGen::OutputBase::VerilogUtility::SubroutineDefinition
- Inherits:
-
StructureDefinition
- Object
- StructureDefinition
- RgGen::OutputBase::VerilogUtility::SubroutineDefinition
- Defined in:
- lib/rggen/output_base/verilog_utility/subroutine_definition.rb
Instance Method Summary collapse
-
#initialize(type, name, &body) ⇒ SubroutineDefinition
constructor
A new instance of SubroutineDefinition.
- #return_type(data_type_and_width) ⇒ Object
Methods inherited from StructureDefinition
Constructor Details
#initialize(type, name, &body) ⇒ SubroutineDefinition
Returns a new instance of SubroutineDefinition.
5 6 7 8 |
# File 'lib/rggen/output_base/verilog_utility/subroutine_definition.rb', line 5 def initialize(type, name, &body) @type = type super(name, &body) end |
Instance Method Details
#return_type(data_type_and_width) ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/rggen/output_base/verilog_utility/subroutine_definition.rb', line 10 def return_type(data_type_and_width) if [Symbol, String].any?(&data_type_and_width.method(:is_a?)) @return_type = data_type_and_width else data_type = data_type_and_width[:data_type] width = data_type_and_width[:width ] || 1 @return_type = ((width > 1) && "#{data_type} [#{width - 1}:0]") || data_type end end |