class ClassHDL::StructMeta

Attributes

name[R]
sdlm[RW]
struct_slots[R]

Public Class Methods

new(name,sdlm,all_var_collect) click to toggle source
# File lib/tdl/class_hdl/hdl_struct.rb, line 100
def initialize(name,sdlm,all_var_collect)
    @name = name
    @sdlm = sdlm 
    @struct_slots = all_var_collect
    @tmp_dimension = []
end

Public Instance Methods

-(varname) click to toggle source
# File lib/tdl/class_hdl/hdl_struct.rb, line 107
def -(varname)
    rel = StructVar.new(varname,self)
    rel.belong_to_module = @sdlm
    rel.dimension = @tmp_dimension
    @sdlm.Logic_collect << rel
    # rel.belong_to_module = @sdlm

    ## 给 sdlmodule 定义 方法

    @sdlm.define_singleton_method(varname) do
        rel 
    end
    @tmp_dimension = []
    return rel 
end
[](*args) click to toggle source
# File lib/tdl/class_hdl/hdl_struct.rb, line 127
def [](*args)
    @tmp_dimension += args
    return self
end
method_missing(method,*args,&block) click to toggle source
# File lib/tdl/class_hdl/hdl_struct.rb, line 123
def method_missing(method,*args,&block) 
    self - method
end