Class: RgGen::OutputBase::VerilogUtility::Identifier

Inherits:
Object
  • Object
show all
Defined in:
lib/rggen/output_base/verilog_utility/identifier.rb

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Identifier

Returns a new instance of Identifier.



5
6
7
# File 'lib/rggen/output_base/verilog_utility/identifier.rb', line 5

def initialize(name)
  @name = name
end

Instance Method Details

#[](indexes_or_msb, lsb = indexes_or_msb) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/rggen/output_base/verilog_utility/identifier.rb', line 13

def [](indexes_or_msb, lsb = indexes_or_msb)
  if indexes_or_msb.nil?
    self
  elsif indexes_or_msb.is_a?(Array)
    indexes_or_msb.inject(self) do |identifer, index|
      identifer[index]
    end
  elsif indexes_or_msb == lsb
    Identifier.new("#{@name}[#{indexes_or_msb}]")
  else
    Identifier.new("#{@name}[#{indexes_or_msb}:#{lsb}]")
  end
end

#to_sObject



9
10
11
# File 'lib/rggen/output_base/verilog_utility/identifier.rb', line 9

def to_s
  @name.to_s
end