def get_procedure(self):

        isEmpty = self.get_isempty_From_non_vector_method()

        argumentList = self.get_argumentList()

        content = self.get_self_args()

        content += self.get_internal_connections()

        members = self.obj.getMember(self.InOut_Filter)
        args = "clk => clk, "
        args += join_str(content + [
            str(x["name"]) + " => " + str(x["name"] + "(i)") for x in members
        ],
                         Delimeter=", ",
                         IgnoreIfEmpty=True)

        ret = ah_func.v_procedure(name=self.procedureName,
                                  argumentList=argumentList,
                                  body='''
        for i in 0 to self'length - 1 loop
        {PushPull}( {args});
        end loop;
            '''.format(PushPull=self.PushPull, args=args),
                                  isFreeFunction=True,
                                  IsEmpty=isEmpty)

        return ret
    def __str__(self):
        if self.obj.__v_classType__ == v_classType_t.Record_t:
            return ""

        pushpull = "pull" if self.Inout == InOut_t.input_t else "push"

        if not hdl.Has_pushpull_function(self.obj, pushpull):
            return ""

        content = self.get_clock_connection()
        content += self.get_selfHandles()
        content += self.getConnections()

        ret = join_str(content,
                       start="    " + pushpull + "( ",
                       end=");\n",
                       Delimeter=", ")

        return ret
    def __str__(self):
        members_args = self.get_Self()

        members = self.obj.getMember(self.InOut_Filter)

        for i in members:
            n_connector = _get_connector(i["symbol"])
            xs = i["symbol"].__hdl_converter__.extract_conversion_types(
                i["symbol"],
                exclude_class_type=v_classType_t.transition_t,
                filter_inout=self.InOut_Filter)

            for x in xs:

                varsig = " "
                if n_connector._varSigConst == varSig.signal_t:
                    varsig = " signal "
                type_name = hdl.get_type_simple(x["symbol"])
                members_args.append(varsig + i["name"] + " : " + self.InOut +
                                    " " + type_name + self.suffix)

        ret = join_str(members_args, Delimeter="; ")
        return ret