当前位置: 首页>>代码示例>>Python>>正文


Python declarations.full_name函数代码示例

本文整理汇总了Python中pygccxml.declarations.full_name函数的典型用法代码示例。如果您正苦于以下问题:Python full_name函数的具体用法?Python full_name怎么用?Python full_name使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了full_name函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_name_based

    def test_name_based( self ):
        cls = self.global_ns.class_( name='class_for_nested_enums_t' )

        cls_demangled_name = cls.name
        self.failUnless( cls.cache.demangled_name == cls_demangled_name )

        cls_full_name = declarations.full_name( cls )
        self.failUnless( cls.cache.full_name == cls_full_name )

        cls_declaration_path = declarations.declaration_path( cls )
        self.failUnless( cls.cache.declaration_path == cls_declaration_path )

        enum = cls.enum( 'ENestedPublic' )

        enum_full_name = declarations.full_name( enum )
        self.failUnless( enum.cache.full_name == enum_full_name )

        enum_declaration_path = declarations.declaration_path( enum )
        self.failUnless( enum.cache.declaration_path == enum_declaration_path )

        #now we change class name, all internal decls cache should be cleared
        cls.name = "new_name"
        self.failUnless( not cls.cache.full_name )
        self.failUnless( not cls.cache.demangled_name )
        self.failUnless( not cls.cache.declaration_path )

        self.failUnless( not enum.cache.full_name )
        self.failUnless( not enum.cache.demangled_name )
        self.failUnless( not enum.cache.declaration_path )
开发者ID:glehmann,项目名称:WrapITK-unstable,代码行数:29,代码来源:algorithms_cache_tester.py

示例2: __fix_constructor_call

    def __fix_constructor_call(self, func, arg):
        call_invocation = declarations.call_invocation
        dv = arg.default_value
        if not call_invocation.is_call_invocation(dv):
            return False
        base_type = declarations.base_type(arg.type)
        decl = base_type.declaration
        name, args = call_invocation.split(dv)
        if decl.name != name:
            # we have some alias to the class
            relevant_typedefs = [
                typedef for typedef in decl.aliases if typedef.name == name]
            if 1 == len(relevant_typedefs):
                f_q_name = self.__join_names(
                    declarations.full_name(
                        relevant_typedefs[0].parent),
                    name)
            else:  # in this case we can not say which typedef user uses:
                f_q_name = self.__join_names(
                    declarations.full_name(
                        decl.parent),
                    decl.name)
        else:
            f_q_name = self.__join_names(
                declarations.full_name(
                    decl.parent),
                name)

        return call_invocation.join(f_q_name, args)
开发者ID:praetorian20,项目名称:pygccxml,代码行数:29,代码来源:patcher.py

示例3: __str__

 def __str__( self ):
     desc = []
     desc.append( 'fget=%s' % declarations.full_name( self.fget ) )
     if self.fset:
         desc.append( ', ' )
         desc.append( 'fset=%s' % declarations.full_name( self.fset ) )
     return 'property "%s"[%s]' % ( self.name, ''.join( desc ) )
开发者ID:alekob,项目名称:tce,代码行数:7,代码来源:properties.py

示例4: test_name_based

    def test_name_based(self):
        cls = self.global_ns.class_(name='class_for_nested_enums_t')

        if "CastXML" in utils.xml_generator:
            self.assertRaises(Exception, lambda: cls.cache.demangled_name)
        elif "GCCXML" in utils.xml_generator:
            self.failUnless(cls.cache.demangled_name == cls.name)

        cls_full_name = declarations.full_name(cls)
        self.failUnless(cls.cache.full_name == cls_full_name)

        cls_declaration_path = declarations.declaration_path(cls)
        self.failUnless(cls.cache.declaration_path == cls_declaration_path)

        enum = cls.enum('ENestedPublic')

        enum_full_name = declarations.full_name(enum)
        self.failUnless(enum.cache.full_name == enum_full_name)

        enum_declaration_path = declarations.declaration_path(enum)
        self.failUnless(enum.cache.declaration_path == enum_declaration_path)

        # now we change class name, all internal decls cache should be cleared
        cls.name = "new_name"
        self.failUnless(not cls.cache.full_name)
        if "GCCXML" in utils.xml_generator:
            self.failUnless(not cls.cache.demangled_name)
        self.failUnless(not cls.cache.declaration_path)

        self.failUnless(not enum.cache.full_name)
        if "GCCXML" in utils.xml_generator:
            self.failUnless(not enum.cache.demangled_name)
        self.failUnless(not enum.cache.declaration_path)
开发者ID:iMichka,项目名称:pygccxml,代码行数:33,代码来源:algorithms_cache_tester.py

示例5: test

    def test(self):
        module_builder.set_logger_level( logging.CRITICAL )
        messages.disable( *messages.all_warning_msgs )

        ogre_file = autoconfig.data_directory.replace( 'pyplusplus_dev', 'pygccxml_dev' )
        ogre_file = parser.create_gccxml_fc( os.path.join( ogre_file, 'ogre.1.7.xml' ) )

        mb = module_builder.module_builder_t(
                [ ogre_file ]
                , gccxml_path=autoconfig.gccxml.executable
                , indexing_suite_version=2
                , compiler=pygccxml.utils.native_compiler.get_gccxml_compiler())

        mb.global_ns.exclude()
        mb.namespace('Ogre').include()

        x = mb.global_ns.decls( lambda d: 'Animation*' in d.name and 'MapIterator' in d.name )
        for y in x:
            print y.name
            print y.partial_name
            print declarations.full_name( y, with_defaults=False )

        target_dir = os.path.join( autoconfig.build_directory, 'ogre' )
        #~ if os.path.exists( target_dir ):
            #~ shutil.rmtree( target_dir )
        #~ os.mkdir( target_dir )

        mb.build_code_creator( 'Ogre3d' )
        mb.split_module( target_dir )
开发者ID:CTrauma,项目名称:pypp11,代码行数:29,代码来源:ogre_generate_tester.py

示例6: test_name_based

    def test_name_based(self):
        cls = self.global_ns.class_(name='class_for_nested_enums_t')

        if self.xml_generator_from_xml_file.is_castxml:
            self.assertIsNone(cls.cache.demangled_name)
        elif self.xml_generator_from_xml_file.is_gccxml:
            self.assertTrue(cls.cache.demangled_name == cls.name)

        cls_full_name = declarations.full_name(cls)
        self.assertTrue(cls.cache.full_name == cls_full_name)

        cls_declaration_path = declarations.declaration_path(cls)
        self.assertTrue(cls.cache.declaration_path == cls_declaration_path)

        enum = cls.enumeration('ENestedPublic')

        enum_full_name = declarations.full_name(enum)
        self.assertTrue(enum.cache.full_name == enum_full_name)

        enum_declaration_path = declarations.declaration_path(enum)
        self.assertTrue(enum.cache.declaration_path == enum_declaration_path)

        # now we change class name, all internal decls cache should be cleared
        cls.name = "new_name"
        self.assertTrue(not cls.cache.full_name)
        if self.xml_generator_from_xml_file.is_gccxml:
            self.assertTrue(not cls.cache.demangled_name)
        self.assertTrue(not cls.cache.declaration_path)

        self.assertTrue(not enum.cache.full_name)
        if self.xml_generator_from_xml_file.is_gccxml:
            self.assertTrue(not enum.cache.demangled_name)
        self.assertTrue(not enum.cache.declaration_path)
开发者ID:gccxml,项目名称:pygccxml,代码行数:33,代码来源:algorithms_cache_tester.py

示例7: print_

 def print_( extmodule ):
     creators = filter( missing_call_policies._selector
                        , code_creators.make_flatten_generator( extmodule.creators ) )
     for creator in creators:
         print creator.declaration.__class__.__name__, ': ', declarations.full_name( creator.declaration )
         print '  *** MISSING CALL POLICY', creator.declaration.function_type().decl_string
         print 
开发者ID:CTrauma,项目名称:pypp11,代码行数:7,代码来源:__init__.py

示例8: _create_function_type_alias_code

def _create_function_type_alias_code( self, exported_class_alias=None  ):
    f_type = self.declaration.function_type()
    falias = self.function_type_alias
    fname = declarations.full_name( self.declaration, with_defaults=False )
    fvalue = re.sub("_type$", "_value", falias )

    return "typedef %s;\n%s %s( &%s );" % (f_type.create_typedef( falias, with_defaults=False ),
                                           falias, fvalue, fname)
开发者ID:chryswoods,项目名称:Sire,代码行数:8,代码来源:create_wrappers.py

示例9: _create_function_ref_code

def _create_function_ref_code(self, use_function_alias=False):
    fname = declarations.full_name( self.declaration, with_defaults=False )
    if use_function_alias:
        falias = self.function_type_alias
        fvalue = re.sub("_type$", "_value", falias)
        return fvalue
    elif self.declaration.create_with_signature:
        return '(%s)( &%s )' % ( self.declaration.function_type().partial_decl_string, fname )
    else:
        return '&%s' % fname
开发者ID:chryswoods,项目名称:Sire,代码行数:10,代码来源:create_wrappers.py

示例10: _create_impl

    def _create_impl(self):
        if self.declaration.already_exposed:
            return ""

        answer = [self._create_namespaces_name()]
        answer.append(self.wrapper_type.decl_string)
        answer.append("".join([self.wrapper_creator_name, "(){"]))
        temp = "".join(
            ["return ", self.wrapper_type.decl_string, "( ", declarations.full_name(self.declaration), " );"]
        )
        answer.append(self.indent(temp))
        answer.append("}")
        answer.append("}" * len(self._create_namespaces()))
        return os.linesep.join(answer)
开发者ID:rhinton,项目名称:tce,代码行数:14,代码来源:global_variable.py

示例11: create_default

    def create_default(self):
        cntrl = self.controller.default_controller

        make_object = algorithm.create_identifier( self, 'pyplusplus::call_policies::make_object' )
        make_tuple = algorithm.create_identifier( self, 'boost::python::make_tuple' )
        
        tmpl_values = dict()

        tmpl_values['unique_function_name'] = self.default_name()
        tmpl_values['return_type'] = cntrl.wrapper_return_type.decl_string
        tmpl_values['arg_declarations'] = self.args_default_declaration()        
        tmpl_values['wrapper_class'] = self.parent.wrapper_alias
        tmpl_values['wrapped_class'] = declarations.full_name( self.declaration.parent )
        tmpl_values['wrapped_inst'] = cntrl.inst_arg.name
        tmpl_values['wrapped_inst_constness'] = ''
        if declarations.is_const( declarations.remove_reference( cntrl.inst_arg.type ) ):
            tmpl_values['wrapped_inst_constness'] = 'const'
            
        decl_vars = cntrl.variables[:]
        if not declarations.is_void( self.declaration.return_type ):
            decl_vars.append( cntrl.result_variable )
        tmpl_values['declare_variables'] \
            = os.linesep + os.linesep.join( map( lambda var: self.indent( var.declare_var_string() )
                                                 , decl_vars ) )
                
        tmpl_values['pre_call'] = os.linesep + self.indent( os.linesep.join( cntrl.pre_call ) )

        tmpl_values['save_result'] = ''
        if not declarations.is_void( self.declaration.return_type ):
            tmpl_tmp = '%(result_var_name)s = '
            if declarations.is_reference( self.declaration.return_type ):
                tmpl_tmp = tmpl_tmp + '&'
            tmpl_values['save_result'] = tmpl_tmp % dict( result_var_name=cntrl.result_variable.name )

        tmpl_values['function_name'] = self.declaration.name
        tmpl_values['arg_expressions'] = self.PARAM_SEPARATOR.join( cntrl.arg_expressions )
        return_stmt_creator = calldef_utils.return_stmt_creator_t( self
                                    , cntrl
                                    , cntrl.result_variable
                                    , cntrl.return_variables )

        tmpl_values['post_call'] = os.linesep + self.indent( os.linesep.join( cntrl.post_call ) )
        if return_stmt_creator.pre_return_code:
            tmpl_values['post_call'] \
                = os.linesep.join([ tmpl_values['post_call']
                                    , self.indent( return_stmt_creator.pre_return_code )])
        tmpl_values['return'] = os.linesep + self.indent( return_stmt_creator.statement )
            
        f_def = cntrl.template.substitute(tmpl_values)
        return remove_duplicate_linesep( f_def )
开发者ID:CTrauma,项目名称:pypp11,代码行数:50,代码来源:calldef_transformed.py

示例12: create_accessor_code

 def create_accessor_code( self, f, ftype_alias ):
     f_ref_code = '%s( &%s )' % ( ftype_alias, declarations.full_name( f ) )
     if f.call_policies and f.call_policies.is_default():
         return f_ref_code
     result = [ self.make_function_identifier ]
     result.append( '( ' )
     result.append( os.linesep )
     result.append( self.indent( '  ', 2 ) )
     result.append( f_ref_code )
     if f.call_policies:
         result.append( os.linesep )
         result.append( self.indent( ', ', 2 ) )
         result.append( f.call_policies.create( self ) )
     else:
         result.append( os.linesep )
         result.append( self.indent( '  ', 2 ) )
         result.append( '/* undefined call policies */' )
     result.append( ' ) ' )
     return ''.join( result )
开发者ID:alekob,项目名称:tce,代码行数:19,代码来源:properties.py

示例13: _generate_code_with_scope

    def _generate_code_with_scope(self):
        result = []
        scope_var_name = self.alias + '_scope'
        base_classes, base_creators = self._exported_base_classes()
        result.append( 'typedef ' + self._generate_class_definition(base_creators) + ' ' + self.typedef_name + ';')
        result.append( self.typedef_name + ' ' + self.class_var_name )
        result[-1] = result[-1] + ' = '
        class_constructor, used_init = self._generate_constructor()
        result[-1] = result[-1] + self.typedef_name + class_constructor
        result[-1] = result[-1] + ';'

        result.append( algorithm.create_identifier( self, '::boost::python::scope' ) )
        result[-1] = result[-1] + ' ' + scope_var_name
        result[-1] = result[-1] + '( %s );' % self.class_var_name

        creators = self.creators
        if self.declaration.redefine_operators:
            creators = self.creators + self._get_base_operators(base_classes, base_creators)

        for x in creators:
            if x is used_init:
                continue
            if isinstance( x, ( calldef.calldef_t, calldef.calldef_overloads_t ) ):
                x.works_on_instance = False
                code = x.create()
                if code:
                    result.append( code )
                continue
            if not x.works_on_instance:
                code = x.create()
                if code:
                    result.append( code )
            else:
                result.append( '%s.%s;' % ( self.class_var_name, x.create() ) )

        code = os.linesep.join( result )

        result = [ '{ //%s' % declarations.full_name( self.declaration, with_defaults=False ) ]
        result.append( self.indent( code ) )
        result.append( '}' )

        return os.linesep.join( result )
开发者ID:CTrauma,项目名称:pypp11,代码行数:42,代码来源:class_declaration.py

示例14: _create_impl

 def _create_impl(self):
     answer = []
     if self.declaration.type_qualifiers.has_static:
         substitutions = {
             'type' : self.declaration.type.decl_string
             , 'name' : self.declaration.name
             , 'cls_type' : declarations.full_name( self.declaration.parent )
         }
         answer.append( self.MV_STATIC_GET_TEMPLATE % substitutions)
         if self.has_setter:
             answer.append( self.MV_STATIC_SET_TEMPLATE % substitutions )
     else:
         answer.append( self.MV_GET_TEMPLATE % {
             'type' : self.declaration.type.decl_string
             , 'name' : self.declaration.name
             , 'cls_type' : self.inst_arg_type( has_const=True ) })
         if self.has_setter:
             answer.append( self.MV_SET_TEMPLATE % {
             'type' : self.declaration.type.decl_string
             , 'name' : self.declaration.name
             , 'cls_type' : self.inst_arg_type( has_const=False ) })
     return os.linesep.join( answer )
开发者ID:CTrauma,项目名称:pypp11,代码行数:22,代码来源:member_variable.py

示例15: add_code

    def add_code(self, mb):
        mb.classes().add_properties(exclude_accessors=True)

        as_number_template = (
            'def( "as_number", &%(class_def)s::operator %(class_def)s::value_type, bp::default_call_policies() )'
        )

        classes = mb.classes()
        classes.always_expose_using_scope = True  # better error reporting from compiler

        classes = mb.classes(lambda decl: decl.alias != "local_date_time")
        classes.redefine_operators = True  # redefine all operators found in base classes

        classes = mb.classes(lambda decl: decl.name.startswith("constrained_value<"))
        for cls in classes:
            cls.add_code(as_number_template % {"class_def": declarations.full_name(cls)})

        classes = mb.classes(lambda decl: decl.alias in ["date_duration", "time_duration"])
        for operator in [">", ">=", "<=", "<", "+", "-"]:
            classes.add_code("def( bp::self %s  bp::self )" % operator)

        ptime = mb.class_(lambda decl: decl.alias == "ptime")
        for operator in [">", ">=", "<=", "<", "-"]:
            ptime.add_code("def( bp::self %s  bp::self )" % operator)
开发者ID:ISoirar,项目名称:pypp11,代码行数:24,代码来源:generate_code.py


注:本文中的pygccxml.declarations.full_name函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。