Exemple #1
0
    def _gen_inject_code(self):
        """
        获取注入代码。
        目前实现二种代码,后面可以加入多种。
        :return:
        """
        p = random.randrange(0, 10)
        # now use two code type
        if p > 4:
            num = []
            for _ in range(0, 3):
                num.append(RandomGenerater.generate_int())

            tpl_data = {
                "num": num,
                "var_name": RandomGenerater.generate_string()
            }
            code_declare = TemplateManager.get_data(
                os.path.join(self.tpl_folder_path, "one_int_declare.cpp"),
                [tpl_data])

            code = TemplateManager.get_data(
                os.path.join(self.tpl_folder_path, "one_int.cpp"), [tpl_data])

            return code_declare, code
        else:
            num = []
            for _ in range(0, 6):
                num.append(RandomGenerater.generate_float())

            num.sort()
            tpl_data = {
                "num": num,
                "var_name": RandomGenerater.generate_string()
            }
            code_declare = TemplateManager.get_data(
                os.path.join(self.tpl_folder_path, "one_float_declare.cpp"),
                [tpl_data])

            code = TemplateManager.get_data(
                os.path.join(self.tpl_folder_path, "one_float.cpp"),
                [tpl_data])

            return code_declare, code
Exemple #2
0
 def get_call_string(self, inst_name=None):
     return TemplateManager.get_data(self.call_template_file, [self, {"class_inst": inst_name}])
Exemple #3
0
 def get_code_string(self):
     return TemplateManager.get_data(self.code_template_file, [self])
Exemple #4
0
 def to_string(self):
     return TemplateManager.get_data(self.def_template_file, [self])
Exemple #5
0
 def get_need_includes(self):
     return TemplateManager.get_data(self.need_includes_template_file, [self])
Exemple #6
0
 def get_stack_instance_def(self, inst_name):
     return TemplateManager.get_data(self.stack_instance_def_template_file, [self, {"inst_name": inst_name}])
Exemple #7
0
 def get_code_string(self, contain_methods=True):
     return TemplateManager.get_data(self.code_template_file, [self, {"contain_methods": contain_methods}])
Exemple #8
0
 def get_def_string(self,implement_construct_destruct=False):
     return TemplateManager.get_data(self.def_template_file, [self,{"implement_construct_destruct":implement_construct_destruct}])