74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/tdl/class_hdl/hdl_function.rb', line 74
def instance
str = []
if @return_type
if @return_type.is_a? EnumStruct
str.push "function #{@return_type.typedef_name} #{@name}(#{inst_port}); "
elsif @return_type.is_a? StructMeta
str.push "function #{@return_type.name} #{@name}(#{inst_port}); "
else
str.push "function #{@return_type.to_s} #{@name}(#{inst_port}); "
end
else
str.push "function #{@name}(#{inst_port}); "
end
opertor_chains.each do |op|
unless op.is_a? OpertorChain
str.push op.instance(:assign).gsub(/^./){ |m| " #{m}"}
else
unless op.slaver
rel_str = ClassHDL.compact_op_ch(op.instance(:assign,belong_to_module))
str.push " #{rel_str};"
end
end
end
str.push "endfunction:#{@name}\n"
str.join("\n")
end
|