Class: HDLRuby::High::RefConcat

Inherits:
Low::RefConcat show all
Includes:
HRef
Defined in:
lib/HDLRuby/hruby_high.rb

Overview

Describes a high-level concat reference.

Constant Summary

Constants included from Low::Low2Symbol

Low::Low2Symbol::Low2SymbolPrefix, Low::Low2Symbol::Low2SymbolTable, Low::Low2Symbol::Symbol2LowTable

Instance Attribute Summary

Attributes inherited from Low::Expression

#type

Attributes included from Low::Hparent

#parent

Instance Method Summary collapse

Methods included from HRef

#each, included, #to_event

Methods inherited from Low::RefConcat

#add_ref, #boolean_in_assign2select, #casts_without_expression!, #clone, #delete_ref!, #each_deep, #each_node_deep, #each_ref, #eql?, #explicit_types, #hash, #immutable?, #initialize, #map_refs!, #to_c, #to_c_signal, #to_hdr, #to_high, #to_verilog, #to_vhdl, #use_name?

Methods included from Low::MutableConcat

#replace_expressions!

Methods inherited from Low::Ref

#each_node, #each_node_deep, #eql?, #explicit_types, #hash, #map_nodes!, #path_each, #resolve, #to_c, #to_hdr, #to_vhdl

Methods inherited from Low::Expression

#boolean?, #break_types!, #clone, #each_node, #each_node_deep, #each_ref_deep, #eql?, #explicit_types, #extract_selects_to!, #hash, #immutable?, #initialize, #leftvalue?, #map_nodes!, #replace_expressions!, #replace_names!, #rightvalue?, #set_type!, #statement, #to_c, #to_c_expr, #to_hdr, #to_high, #to_vhdl, #use_name?

Methods included from Low::Low2Symbol

#to_sym

Methods included from Low::Hparent

#hierarchy, #scope

Constructor Details

This class inherits a constructor from HDLRuby::Low::RefConcat

Instance Method Details

#to_lowObject

Converts the concat reference to HDLRuby::Low.



3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
# File 'lib/HDLRuby/hruby_high.rb', line 3107

def to_low
    # return HDLRuby::Low::RefConcat.new(self.type.to_low,
    #     self.each_ref.map do |ref|
    #         ref.to_low
    #     end
    # )
    refConcatL = HDLRuby::Low::RefConcat.new(self.type.to_low,
        self.each_ref.map do |ref|
            ref.to_low
        end
    )
    # # For debugging: set the source high object 
    # refConcatL.properties[:low2high] = self.hdr_id
    # self.properties[:high2low] = refConcatL
    return refConcatL
end

#to_refObject

Converts to a new reference.



3098
3099
3100
3101
3102
3103
3104
# File 'lib/HDLRuby/hruby_high.rb', line 3098

def to_ref
    return RefConcat.new(self.type,
        self.each_ref.map do |ref|
            ref.to_ref
        end
    )
end