Pygccxml

Latest version: v2.5.0

Safety actively analyzes 625726 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 7 of 8

0.8.2

-------------

1. Few small bug fix and unit tests have been introduced on 64 Bit platforms.
Many thanks to Gottfried Ganssauge! He also help me to discover and fix
some important bug in ``type_traits.__remove_alias`` function, by introducing
small example that reproduced the error.

2. Huge speed improvement has been achieved (x10). Allen Bierbaum suggested to
save and reuse results of different pygccxml algorithms:

* ``declarations.remove_alias``
* ``declarations.full_name``
* ``declarations.access_type``
* ``declarations.demangled_name``
* ``declarations.declaration_path``

3. Interface changes:

* ``declarations.class_t``:

+ ``set_members`` method was removed

+ ``adopt_declaration`` method was introduced, instead of ``set_members``

* ``declarations.array_t`` class "set" accessor for size property was added.

* ``declarations.namespace_t.adopt_declaration`` method was added.

* ``declarations.variable_t.access_type`` property was added.

4. New type traits have been added:

* ``is_same_function``

5. Few bug were fixed.

6. Documentation was improved.

0.8.1

-------------

1. pygccxml has been ported to MacOS X. Many thanks to Darren Garnier!

2. New type traits have been added:

* ``enum_traits``

* ``class_traits``

* ``class_declaration_traits``

* ``is_std_string``

* ``is_std_wstring``

* ``remove_declarated``

* ``has_public_less``

* ``has_public_equal``

* ``has_public_binary_operator``

* ``smart_pointer_traits``

* ``list_traits``

* ``deque_traits``

* ``queue_traits``

* ``priority_queue``

* ``vector_traits``

* ``stack_traits``

* ``map_traits``

* ``multimap_traits``

* ``hash_map_traits``

* ``hash_multimap_traits``

* ``set_traits``

* ``hash_set_traits``

* ``multiset_traits``

* ``hash_multiset_traits``

3. ``enumeration_t`` class interface was changed. Enumeration values are kept
in a list, instead of a dictionary. ``get_name2value_dict`` will build for
you dictionary, where key is an enumeration name, and value is an enumeration
value.

This has been done in order to provide stable order of enumeration values.

4. Now you can pass operator symbol, as a name to query functions:

.. code-block:: python

cls = global_namespace.class_( 'my_class' )
op = cls.operator( '<' )
instead of
op = cls.operator( symbol='<' )

5. pygccxml improved a lot functionality related to providing feedback to user:

* every package has its own logger

* only important user messages are written to ``stdout``

* user messages are clear

6. Support to Java native types has been added.

7. It is possible to pass an arbitrary string as a parameter to GCC_XML.

8. Native java types has been added to fundamental types.

9. Cache classes implementation was improved.

10. Few bug were fixed.

11. Documentation was improved.

12. ``mdecl_wrapper_t.decls`` property was renamed to ``declarations``.
The reason is that the current name ( ``decls`` ) conflicts with the method
of the same name in the decl interface from ``declarations.scopedef_t`` class.

So for example:

.. code-block:: python

classes = ns.decls("class")
classes.decls("method")

This will fail because it finds the attribute decls which is not a callable.

0.8

-----------

1. pygccxml now has power "select" interface. Read more about this cool feature
in tutorials.

2. Improved support for template instantiations. pygccxml now take into
account demangled name of declarations. Please refer to documentation for
more explanantion.

3. ``dummy_type_t`` - new type in types hierarchy. This is a very useful class
for code generation projects.

4. New function - ``get_global_namespace``. As you can guess, it will find and
return reference to global namespace.

5. New functionality in ``type_traits`` - ``has_public_assign``. This function
will return True, if class has public assign operator.

6. ``declarations.class_t`` has new property - ``aliases``. This is a list of
all class aliases.

7. Bug fixes.

8. Documentation has been updated/written/improved.

0.7.1

-------------

**Attention - this going to be last version that is tested with Python 2.3**

1. New fundamental types has been added

* complex float

* complex double

* complex long double

2. **Attention - non backward compatible change**

``declarations.filtering.user_defined`` and ``declarations.filtering.by_location``
implementation has been changed. In previous version of those functions,
``decls`` list has been changed in place. This was wrong behavior. Now,
those functions will return new list, which contains all desired declarations.

3. Few new type traits has been added

* *type_traits.has_destructor*

* *type_traits.has_public_destructor*

* *type_traits.has_public_constructor*

* *type_traits.is_noncopyable*

4. ``decl_printer_t`` class and ``print_declarations`` function have been added.
Now you can print in a nice way your declaration tree or part of it.
Thanks to Allen Bierbaum!

5. New class ``declarations.decl_factory_t`` has been added. This is a default
factory for all declarations. From now all relevant parser classes takes as
input instance of this class or ``Null``. In case of ``Null`` instance of
``declarations.decl_factory_t`` will be created. Using this class you can
easily extend functionality provided by built-in declarations.

6. Sometimes, there is a need to find a declaration that match some criteria.
The was such functionality in pygccxml, but it was too limited. This
release fix the situation. pygccxml adds a set of classes that will help
you to deal with this problem.

7. New cache - ``parser.directory_cache_t`` has been implemented.
``parser.directory_cache_t`` uses individual files stored in a dedicated
cache directory to store the cached contents.
Thanks to Matthias Baas!

8. ``parser.file_cache_t`` has been improved a lot.
Thanks to Allen Bierbaum!

9. New file configuration is available: "cached source file".
``parser.project_reader_t`` class will check for existence of GCC_XML
generated file. If it does not exist it will create one. If it do exist,
then the parser will use that file.

10. Few helper functions has been added in order to make construction of
configuration file to be as easy as possible:

* ``parser.create_text_fc`` - creates file configuration, that contains text
* ``parser.create_source_fc`` - creates file configuration, that contains
reference to regular source file
* ``parser.create_gccxml_fc`` - creates file configuration, that contains
reference to GCC_XML generated file
* ``parser.create_cached_source_fc`` - creates file configuration, that
contains reference to 2 files: GCC_XML generated file and regular source
file

11. Small bug fixes.

12. Documentation. Allen Bierbaum and Matthias Baas contributed so much in this
area. Almost every public function/class has now documentation string.

13. Logging functionality has been added. pygccxml creates new logger
"pygccxml". Now it is possible to see what pygccxml is doing right now.

14. I am sure I forgot something.

0.6.9

-------------

1. New functions:

* *type_traits.is_void_pointer*

* *type_traits.array_size*

* *type_traits.array_item_type*

2. Class *declarations.variable_t* has new property - *bit_fields*

3. Now it is possible to specify "undefined" directives using
*parser.config_t* class.

4. *patch* functionality has been introduced. GCC_XML generates wrong
default values for function arguments. *patch* functionality tries to fix
this.

5. Small bug fixes

0.6.8

-------------

1. Small bug has been fixed.

Page 7 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.