class RgGen::SystemVerilog::Common::Utility::PackageDefinition

Public Instance Methods

include_file(file) click to toggle source
# File lib/rggen/systemverilog/common/utility/package_definition.rb, line 26
def include_file(file)
  include_files([file])
end
include_files(files) click to toggle source
# File lib/rggen/systemverilog/common/utility/package_definition.rb, line 21
def include_files(files)
  @include_files ||= []
  @include_files.concat(Array(files))
end
package_import(package) click to toggle source
# File lib/rggen/systemverilog/common/utility/package_definition.rb, line 17
def package_import(package)
  package_imports([package])
end
package_imports(packages) click to toggle source
# File lib/rggen/systemverilog/common/utility/package_definition.rb, line 12
def package_imports(packages)
  @package_imports ||= []
  @package_imports.concat(Array(packages))
end

Private Instance Methods

file_include_directives(code) click to toggle source
# File lib/rggen/systemverilog/common/utility/package_definition.rb, line 48
def file_include_directives(code)
  Array(@include_files).each do |file|
    code << ['`include', space, string(file), nl]
  end
end
header_code(code) click to toggle source
# File lib/rggen/systemverilog/common/utility/package_definition.rb, line 32
def header_code(code)
  code << ['package', space, name, semicolon]
end
package_import_declaration(code) click to toggle source
# File lib/rggen/systemverilog/common/utility/package_definition.rb, line 41
def package_import_declaration(code)
  declarations =
    Array(@package_imports)
      .map { |package| ['import', space, package, '::*'] }
  add_declarations_to_body(code, declarations)
end
pre_body_code(code) click to toggle source
# File lib/rggen/systemverilog/common/utility/package_definition.rb, line 36
def pre_body_code(code)
  package_import_declaration(code)
  file_include_directives(code)
end