Class: RgGen::VerilogUtility::SubroutineDefinition
- Inherits:
-
StructureDefinition
- Object
- StructureDefinition
- RgGen::VerilogUtility::SubroutineDefinition
- Defined in:
- lib/rggen/core_components/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
Methods included from CodeUtility
Constructor Details
#initialize(type, name, &body) ⇒ SubroutineDefinition
Returns a new instance of SubroutineDefinition.
4 5 6 7 |
# File 'lib/rggen/core_components/verilog_utility/subroutine_definition.rb', line 4 def initialize(type, name, &body) @type = type super(name, &body) end |
Instance Method Details
#return_type(data_type_and_width) ⇒ Object
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/rggen/core_components/verilog_utility/subroutine_definition.rb', line 9 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 |