示例#1
0
文件: __init__.py 项目: caron/kludge
 def __init__(
     self,
     jinjenv,
     kl_global_name,
     kl_global_name_for_derivatives,
     cpp_type_expr,
     extends,
     record,
     forbid_copy,
     dont_delete,
     simplifier,
 ):
     TypeInfo.__init__(
         self,
         jinjenv,
         kl_name_base=kl_global_name,
         kl_name_base_for_derivatives=kl_global_name_for_derivatives,
         edk_name="Fabric_EDK_KL_" + kl_global_name,
         lib_expr=cpp_type_expr,
         extends=extends,
         record=record,
         forbid_copy=forbid_copy,
         simplifier=simplifier,
     )
     self.dont_delete = dont_delete
示例#2
0
 def __init__(self, jinjenv, undq_cpp_type_expr, kl_type_name):
     TypeInfo.__init__(
         self,
         jinjenv,
         kl_name_base=kl_type_name,
         lib_expr=undq_cpp_type_expr,
     )
示例#3
0
 def __init__(
   self,
   jinjenv,
   kl_type_name,
   kl_type_name_for_derivatives,
   cpp_type_expr,
   extends,
   record,
   is_simple,
   forbid_copy,
   simplifier,
   ):
   TypeInfo.__init__(
     self,
     jinjenv,
     kl_name_base=kl_type_name,
     kl_name_base_for_derivatives=kl_type_name_for_derivatives,
     edk_name=build_edk_name(kl_type_name),
     lib_expr=cpp_type_expr,
     extends=extends,
     record=record,
     is_simple=is_simple,
     forbid_copy=forbid_copy,
     simplifier=simplifier,
     )
示例#4
0
  def __init__(
    self,
    jinjenv,
    kl_global_name,
    kl_global_name_for_derivatives,
    cpp_global_expr,
    existing_kl_global_name,
    existing_kl_ext_name,
    record,
    ):

    simpleCppName = ''.join(ch for ch in str(cpp_global_expr) if ch.isalnum())

    TypeInfo.__init__(
      self,
      jinjenv,
      kl_name_base=kl_global_name,
      kl_name_base_for_derivatives=kl_global_name_for_derivatives,
      edk_name="Fabric_EDK_KL_" + kl_global_name + '_' + simpleCppName,
      lib_expr=cpp_global_expr,
      record=record,
      is_shallow=True,
      )
    self.existing_kl_global_name = existing_kl_global_name
    self.existing_kl_ext_name = existing_kl_ext_name
示例#5
0
 def __init__(self, jinjenv, kl_type_name, undq_cpp_type_expr):
     TypeInfo.__init__(
         self,
         jinjenv,
         kl_name_base=kl_type_name,
         lib_expr=undq_cpp_type_expr,
         is_simple=True,
     )
示例#6
0
 def __init__(self, jinjenv):
     TypeInfo.__init__(
         self,
         jinjenv,
         kl_name_base='Data',
         edk_name='Fabric::EDK::KL::Data',
         lib_expr=mutable_cpp_type_expr,
     )
示例#7
0
 def __init__(self, jinjenv):
     TypeInfo.__init__(
         self,
         jinjenv,
         lib_expr=Void(),
         kl_name_base='',
         simplifier=VoidTypeSimplifier(),
     )
示例#8
0
 def __init__(self, jinjenv, undq_cpp_type_expr, element_dqti):
   TypeInfo.__init__(
     self,
     jinjenv,
     kl_name_base = element_dqti.type_info.kl.name.base,
     kl_name_suffix = "[%u]%s" % (undq_cpp_type_expr.size, element_dqti.type_info.kl.name.suffix),
     edk_name = "Fabric::EDK::KL::FixedArray< " + element_dqti.type_info.edk.name + ", " + str(undq_cpp_type_expr.size) + " >",
     lib_expr = undq_cpp_type_expr,
     child_dqtis = [element_dqti]
     )
示例#9
0
 def __init__(self, jinjenv, undq_type_info, undq_orig_type_info):
   TypeInfo.__init__(
     self,
     jinjenv,
     kl_name_base=build_kl_name_base(undq_type_info.kl.name.compound, 'ConstPtr'),
     edk_name=build_edk_name(undq_type_info.kl.name.compound, 'ConstPtr'),
     lib_expr=PointerTo(Const(undq_type_info.lib.expr)),
     record=undq_type_info.record,
     is_simple=undq_type_info.is_simple,
     direct_type_info=undq_type_info,
     direct_orig_type_info=undq_orig_type_info,
     )
示例#10
0
 def __init__(self, jinjenv, undq_type_info, undq_orig_type_info):
   TypeInfo.__init__(
     self,
     jinjenv,
     kl_name_base=build_kl_name_base(undq_type_info.kl.name.compound, 'Ref'),
     edk_name=build_edk_name(undq_type_info.kl.name.compound, 'MutableRef'),
     lib_expr=ReferenceTo(undq_type_info.lib.expr),
     record=undq_type_info.record,
     is_simple=undq_type_info.is_simple,
     direct_type_info=undq_type_info,
     direct_orig_type_info=undq_orig_type_info,
     )
示例#11
0
 def __init__(self, jinjenv, undq_type_info, undq_orig_type_info):
     TypeInfo.__init__(
         self,
         jinjenv,
         kl_name_base=build_kl_name_base(undq_type_info.kl.name.compound,
                                         'Ptr'),
         edk_name=build_edk_name(undq_type_info.kl.name.compound,
                                 'MutablePtr'),
         lib_expr=PointerTo(undq_type_info.lib.expr),
         record=undq_type_info.record,
         is_simple=undq_type_info.is_simple,
         direct_type_info=undq_type_info,
         direct_orig_type_info=undq_orig_type_info,
         simplifier=MutablePtrTypeSimplifier(undq_type_info),
     )
示例#12
0
 def __init__(self, jinjenv, undq_type_info, undq_orig_type_info):
     TypeInfo.__init__(
         self,
         jinjenv,
         kl_name_base=build_kl_name_base(undq_type_info.kl.name.compound,
                                         'ConstRef'),
         edk_name=build_edk_name(undq_type_info.kl.name.compound,
                                 'ConstRef'),
         lib_expr=ReferenceTo(Const(undq_type_info.lib.expr)),
         record=undq_type_info.record,
         is_simple=undq_type_info.is_simple,
         direct_type_info=undq_type_info,
         direct_orig_type_info=undq_orig_type_info,
         is_const_ref=True,
         simplifier=ConstRefTypeSimplifier(undq_type_info),
     )
示例#13
0
 def build_codec_lookup_rules(self):
     tds = TypeInfo.build_codec_lookup_rules(self)
     tds["conv"]["*"] = "protocols/conv/builtin/none"
     tds["result"]["*"] = "protocols/result/builtin/direct"
     tds["repr"]["new_begin"] = "types/builtin/void_ptr/repr"
     tds["repr"]["new_end"] = "types/builtin/void_ptr/repr"
     return tds
示例#14
0
 def build_codec_lookup_rules(self):
   rules = TypeInfo.build_codec_lookup_rules(self)
   rules["conv"]["*"] = "types/builtin/fixed_array/conv"
   rules["result"]["decl_and_assign_lib_begin"] = "types/builtin/fixed_array/result"
   rules["result"]["decl_and_assign_lib_end"] = "types/builtin/fixed_array/result"
   rules["repr"]["assign_lib"] = "types/builtin/fixed_array/repr"
   return rules
示例#15
0
 def build_codec_lookup_rules(self):
     tds = TypeInfo.build_codec_lookup_rules(self)
     tds["conv"]["*"] = "types/builtin/ptr_ref/ref/conv"
     tds["result"]["*"] = "protocols/result/builtin/indirect"
     tds["repr"]["new_begin"] = "types/builtin/ptr_ref/ref/repr"
     tds["repr"]["validate_edk"] = "types/builtin/ptr_ref/ref/repr"
     return tds
示例#16
0
 def build_codec_lookup_rules(self):
     rules = TypeInfo.build_codec_lookup_rules(self)
     rules["conv"]["*"] = "types/builtin/wrapped/conv"
     rules["result"]["*"] = "types/builtin/wrapped/result"
     rules["repr"]["*"] = "types/builtin/wrapped/repr"
     rules["repr"]["assign_lib"] = "protocols/repr/builtin/in_place"
     rules["repr"]["assign_edk"] = "protocols/repr/builtin/in_place"
     return rules
示例#17
0
 def build_codec_lookup_rules(self):
     tds = TypeInfo.build_codec_lookup_rules(self)
     tds["conv"]["*"] = "protocols/conv/builtin/none"
     tds["conv"]["edk_to_lib_decl"] = "types/builtin/enum/conv"
     tds["conv"]["lib_to_edk_decl"] = "types/builtin/enum/conv"
     tds["result"]["*"] = "protocols/result/builtin/direct"
     tds["repr"]["new_begin"] = "types/builtin/enum/repr"
     tds["repr"]["new_end"] = "types/builtin/enum/repr"
     return tds
示例#18
0
 def __init__(
     self,
     jinjenv,
     kl_global_name,
     cpp_global_expr,
     existing_kl_global_name,
     existing_kl_ext_name,
     record,
 ):
     TypeInfo.__init__(
         self,
         jinjenv,
         kl_name_base=kl_global_name,
         kl_name_base_for_derivatives=kl_global_name,
         edk_name="Fabric_EDK_KL_" + kl_global_name,
         lib_expr=cpp_global_expr,
         record=record,
     )
     self.existing_kl_global_name = existing_kl_global_name
     self.existing_kl_ext_name = existing_kl_ext_name
示例#19
0
 def build_codec_lookup_rules(self):
     tds = TypeInfo.build_codec_lookup_rules(self)
     tds["conv"]["*"] = "protocols/conv/builtin/none"
     tds["result"][
         "decl_and_assign_lib_begin"] = "types/builtin/kl_ext_type_alias/result"
     tds["result"][
         "decl_and_assign_lib_end"] = "types/builtin/kl_ext_type_alias/result"
     tds["result"][
         "indirect_lib_to_edk"] = "types/builtin/kl_ext_type_alias/result"
     tds["repr"]["defn_kl"] = "types/builtin/kl_ext_type_alias/repr"
     return tds
示例#20
0
 def build_codec_lookup_rules(self):
   tds = TypeInfo.build_codec_lookup_rules(self)
   if self.is_simple:
     tds["conv"]["*"] = "types/builtin/in_place/simple/conv"
     tds["result"]["*"] = "protocols/result/builtin/direct"
     tds["repr"]["*"] = "protocols/repr/builtin/in_place"
     tds["repr"]["new_begin"] = "types/builtin/in_place/simple/repr"
   else:
     tds["conv"]["*"] = "protocols/conv/builtin/none"
     tds["result"]["*"] = "protocols/result/builtin/indirect"
     tds["result"]["decl_and_assign_lib_begin"] = "types/builtin/in_place/complex/result"
     tds["result"]["decl_and_assign_lib_end"] = "types/builtin/in_place/complex/result"
     tds["result"]["indirect_lib_to_edk"] = "types/builtin/in_place/complex/result"
     tds["repr"]["*"] = "protocols/repr/builtin/in_place"
   return tds
示例#21
0
 def build_codec_lookup_rules(self):
   tds = TypeInfo.build_codec_lookup_rules(self)
   tds["conv"]["*"] = "types/builtin/ptr_ref/ref/conv"
   tds["result"]["*"] = "protocols/result/builtin/indirect"
   return tds
示例#22
0
文件: __init__.py 项目: caron/kludge
 def build_codec_lookup_rules(self):
     rules = TypeInfo.build_codec_lookup_rules(self)
     rules["conv"]["*"] = "types/builtin/managed/conv"
     rules["result"]["*"] = "types/builtin/managed/result"
     rules["repr"]["*"] = "types/builtin/managed/repr"
     return rules
示例#23
0
 def build_codec_lookup_rules(self):
     tds = TypeInfo.build_codec_lookup_rules(self)
     tds["result"]["*"] = "types/builtin/void/result"
     return tds
示例#24
0
 def build_codec_lookup_rules(self):
     rules = TypeInfo.build_codec_lookup_rules(self)
     rules["conv"]["*"] = "types/builtin/fixed_array/conv"
     return rules