class HDLRuby::Low::RefThis

Describe a this reference.

This is the current system.

Describe a this reference.

This is the current system.

Extends the RefThis class with generation of C text.

Extends the RefThis class with generation of hdr text.

Add the conversion to high.

Extends the RefThis class with generation of HDLRuby::High text.

Extends the RefName class with functionality for converting booleans in assignments to select operators.

Extends the RefThis class with functionality for converting booleans in assignments to select operators.

Extends the RefThis class with fixing of types and constants.

Describe a this reference.

This is the current system.

It could be used for instantiation.

Public Instance Methods

boolean_in_assign2select() click to toggle source

Converts booleans in assignments to select operators.

# File lib/HDLRuby/hruby_low_bool2select.rb, line 327
def boolean_in_assign2select
    # Simply clone.
    return self.clone
end
casts_without_expression() click to toggle source

Extracts the expressions from the casts.

# File lib/HDLRuby/hruby_low_casts_without_expression.rb, line 335
def casts_without_expression
    # Simply clone.
    return self.clone
end
clone() click to toggle source

Clones this.

# File lib/HDLRuby/hruby_low.rb, line 5690
def clone
    return RefThis.new
end
each_deep(&ruby_block) click to toggle source

Iterates over each object deeply.

Returns an enumerator if no ruby block is given.

# File lib/HDLRuby/hruby_low.rb, line 5680
def each_deep(&ruby_block)
    # No ruby block? Return an enumerator.
    return to_enum(:each_deep) unless ruby_block
    # A ruby block? First apply it to current.
    ruby_block.call(self)
    # Then apply on the type.
    self.type.each_deep(&ruby_block)
end
eql?(obj) click to toggle source

Comparison for hash: structural comparison.

# File lib/HDLRuby/hruby_low.rb, line 5695
def eql?(obj)
    return obj.is_a?(RefThis)
end
explicit_types(type = nil) click to toggle source

Explicit the types conversions in the index ref where type is the expected type of the condition if any.

# File lib/HDLRuby/hruby_low_fix_types.rb, line 448
def explicit_types(type = nil)
    # Simply duplicate.
    return self.clone
end
hash() click to toggle source

Hash function.

Calls superclass method
# File lib/HDLRuby/hruby_low.rb, line 5700
def hash
    return super
end
map_nodes!(&ruby_block) click to toggle source

Maps on the children.

# File lib/HDLRuby/hruby_low_mutable.rb, line 1958
def map_nodes!(&ruby_block)
    # Nothing to do.
end
to_another_verilog() click to toggle source
# File lib/HDLRuby/hruby_verilog.rb, line 1621
def to_another_verilog
    return ""
end
to_c(level = 0, left = false) click to toggle source

Generates the C text of the equivalent HDLRuby code. level is the hierachical level of the object and left tells if it is a left value or not.

# File lib/HDLRuby/hruby_low2c.rb, line 2034
def to_c(level = 0, left = false)
    return "this()"
end
to_c_signal(level = 0) click to toggle source

Generates the C text for reference as left value to a signal. level is the hierarchical level of the object.

# File lib/HDLRuby/hruby_low2c.rb, line 2040
def to_c_signal(level = 0)
    return "this()"
end
to_hdr(level = 0) click to toggle source

Generates the text of the equivalent hdr text. level is the hierachical level of the object.

# File lib/HDLRuby/hruby_low2hdr.rb, line 723
def to_hdr(level = 0)
    return ""
end
to_high() click to toggle source

Creates a new high ref this.

# File lib/HDLRuby/hruby_low2high.rb, line 506
def to_high
    return HDLRuby::High::RefThis.new
end