Revision: 236
Author: roman_yakovenko
Date: 2006-06-19 22:45:54 -0700 (Mon, 19 Jun 2006)
ViewCVS: http://svn.sourceforge.net/pygccxml/?rev=236&view=rev
Log Message:
-----------
adding enum_declaration functionality
Modified Paths:
--------------
pygccxml_dev/pygccxml/declarations/__init__.py
pygccxml_dev/pygccxml/declarations/type_traits.py
Modified: pygccxml_dev/pygccxml/declarations/__init__.py
===================================================================
--- pygccxml_dev/pygccxml/declarations/__init__.py 2006-06-20 05:15:25 UTC (rev 235)
+++ pygccxml_dev/pygccxml/declarations/__init__.py 2006-06-20 05:45:54 UTC (rev 236)
@@ -102,8 +102,11 @@
from type_traits import decompose_type
from type_traits import decompose_class
+
+from type_traits import is_enum
+from type_traits import enum_declaration
+
from type_traits import is_same
-from type_traits import is_enum
from type_traits import is_void
from type_traits import is_void_pointer
from type_traits import is_const
@@ -143,6 +146,7 @@
from type_traits import has_trivial_constructor
from type_traits import find_trivial_constructor
from type_traits import has_any_non_copyconstructor
+
from type_traits import smart_pointer_traits
Modified: pygccxml_dev/pygccxml/declarations/type_traits.py
===================================================================
--- pygccxml_dev/pygccxml/declarations/type_traits.py 2006-06-20 05:15:25 UTC (rev 235)
+++ pygccxml_dev/pygccxml/declarations/type_traits.py 2006-06-20 05:45:54 UTC (rev 236)
@@ -263,12 +263,18 @@
def is_enum(type):
"""returns True if type represents C++ enum type"""
nake_type = remove_alias( type )
- nake_type = remove_reference( nake_type )
nake_type = remove_cv( nake_type )
return isinstance( nake_type, cpptypes.declarated_t ) \
and isinstance( nake_type.declaration, enumeration.enumeration_t )
+def enum_declaration(type):
+ if not is_enum( type ):
+ raise TypeError( 'Type "%s" is not enumeration' % type.decl_string )
+ nake_type = remove_alias( type )
+ nake_type = remove_cv( nake_type )
+ return remove_declarated( nake_type )
+
def is_class(type):
"""returns True if type represents C++ class"""
nake_type = remove_alias( type )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|