class ClassHDL::BlockCASEWHEN

Public Instance Methods

cond_to_hdl() click to toggle source
# File lib/tdl/class_hdl/hdl_block_ifelse.rb, line 152
def cond_to_hdl
    if @cond.is_a? Array
        csl = @cond.compact
    else
        csl = [@cond].compact
    end 
    return csl.map{|e| e.to_s }.join(",")
end
instance(as_type= :cond) click to toggle source
# File lib/tdl/class_hdl/hdl_block_ifelse.rb, line 160
def instance(as_type= :cond)
    if cond.is_a? ClassHDL::OpertorChain
        head_str = "#{cond.instance(:cond)}:begin "
    else 
        head_str = "#{cond_to_hdl}:begin "
    end

    sub_str = []
    opertor_chains.each do |oc|
        unless oc.is_a? BlockIF
            unless oc.slaver
                sub_str.push "    #{oc.instance(as_type, belong_to_module)};"
            end
        else 
            sub_str.push( oc.instance(as_type).gsub(/^./){ |m| "    #{m}"} )
        end
    end

    return "#{head_str}\n#{sub_str.join("\n")}\nend"

end