aboutsummaryrefslogtreecommitdiffstats
path: root/abstractmetabuilder.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add EnumValueTypeEntry.Hugo Parente Lima2012-03-091-0/+13
| | | | | Enum values are in global namespace, so sometimes you need to get them from TypeDatabase, a use case for this is a template class where the template parameter is a enum value.
* Remove detection of duplicated enum values, this was implemented due to a ↵Hugo Parente Lima2012-03-091-49/+0
| | | | | | bug on boost::python which doesn't exists nowadays.
* Support 'void' argument.Lauro Neto2012-03-091-0/+8
| | | | | Reviewer: Anderson Lizardo <anderson.lizardo@openbossa.org> Reviewer: Renato Filho <renato.filho@openbossa.org>
* Do not generate bindings for global functions when the typesystem was loaded ↵Hugo Parente Lima2012-03-091-2/+2
| | | | | | | with generate=no. Reviewer: Lauro Moura <lauro.neto@openbossa.org> Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
* Add method setTypeEntry to AbstractMetaFunction.Hugo Parente Lima2012-03-091-0/+1
| | | | | Reviewer: Luciano Wolf <luciano.wolf@openbossa.org> Reviewer: Renato Araújo <renato.araujo@openbossa.org>
* Show a warning if a global function defined in typesystem was not found by ↵Hugo Parente Lima2012-03-091-25/+37
| | | | the parser.
* Do not create two AbstractMetaClass for every template class.Hugo Parente Lima2012-03-091-1/+5
|
* Fix class dependence in topological sort.Hugo Parente Lima2012-03-091-27/+4
| | | | | - An inner class depends on their enclosed class. - A class depends on their namespace.
* Do not set the include file on TypeEntries when the include file does not ↵Hugo Parente Lima2012-03-091-18/+23
| | | | | | exists or it's the global header.
* TypeDatabase class moved to its own header/cpp.Hugo Parente Lima2012-03-091-0/+1
|
* Added the "function" tag to ApiExtractor.Hugo Parente Lima2012-03-091-4/+15
| | | | | | | | | | | | | | | This change the behaviour of ApiExtractor regarding to global functions. All global function you want to be exported to python *need* to be especified in the type system with the function tag, otherwise they wont be exported at all. The syntax for this new tag is: <function signature="..." /> This is just the initial work for this tag, it is missign support for: - Function modifications. - Add a function overload with add-function tag.
* Removed methods includeFile and setIncludeFile from AbstractMetaAttribute.Hugo Parente Lima2012-03-091-3/+2
| | | | | | | | | | These methods were moved to AbstractMetaFunction, because they are created to store the include file of global enums and functions, but for enums, we store the include file in TypeEntry, as functions doesn't have TypeEntries, only global functions need this. Also the new version of includeFile returns a instance of Include class instead of a QString.
* Set the include file for enums.Hugo Parente Lima2012-03-091-6/+11
|
* Adds reverse operator functions to the proper classes.Marcelo Lira2012-03-091-0/+13
| | | | | | | | | | | AbstractMetaBuilder::traverseOperatorFunction does additional checks to avoid mistaken a class' reverse operator as a direct operator of another class. An unit test was added to check for this case. Reviewed by Anderson Lizardo <anderson.lizardo@openbossa.org> Reviewed by Hugo Parente <hugo.lima@openbossa.org>
* Do not add an operator function to a class from a referred type system.Marcelo Lira2012-03-091-2/+3
| | | | | | API Extractor does not add operator functions from the module being processed for generation to a class belonging to a referred module, that should not be generated.
* Value type classes now have implicit copy constructors added when needed.Marcelo Lira2012-03-091-4/+40
|
* Marks user added constructors with one argument of a custom type as explicit.Marcelo Lira2012-03-091-2/+5
| | | | This prevents the generation of undesired implicit conversions.
* Remove Boost::graph dependence from ApiExtractor by using our own codeHugo Lima2010-03-031-43/+26
| | | | for graph topological sort.
* Don't add external conversion operators that were removed on type system file.Marcelo Lira2010-03-011-0/+2
| | | | | | With tests, of course. Reviewed by Hugo Parente <hugo.lima@openbossa.org>
* Adds the AbstractMetaBuilder::setupExternalConversions(metaClass) method.Marcelo Lira2010-02-261-3/+13
| | | | | | | | The code to add the external conversion operators for a class found in another class was moved to its own function, setupExternalConversions, that is called after all classes were traversed. Not all classes are ready when fixReturnTypeOfConversionOperator(metaFunc), the method where the moved code dwelt, is called.
* Added method AbstractMetaBuilder::fixReturnTypeOfConversionOperator(func).Marcelo Lira2010-02-261-0/+24
| | | | | | | | | | The new method fixes the return type of conversion operators: they should return the target of the conversion as type and not the type of its owner class. fixReturnTypeOfConversionOperator is used in traverseFunctions. An unit test was added for this case. Note that this behaviour could be fixed in the parser. I dare you!
* Fix add-function tag when adding a global function.Hugo Lima2010-02-091-1/+1
| | | | Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
* Fix AbstractMetaFunction::implicitConversions.Hugo Lima2010-02-081-0/+1
| | | | | | | | | - Public ctors added by the user with 1 value-type parameter are always added to the implicity conversion list. - If the ctor visibility of an function was modified from public to private, the function isn't added to the result. Reviewed by Renato Araújo <renato.filho@openbossa.org>
* Allow a class to multiple inherit from various object-types.Hugo Lima2010-02-011-9/+1
| | | | Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
* Added function can be tagged as static methods.Hugo Lima2010-01-071-1/+2
| | | | Reviewed by Luciano Wolf <luciano.wolf@openbossa.org>
* Adds support for varargs in AbstractMetaArgument, AbstractMetaType and ↵Marcelo Lira2009-12-161-0/+3
| | | | | | VarargsTypeEntry. Reviewed by Hugo Parente <hugo.lima@openbossa.org>
* Adds support for module level 'add-function' tag.Marcelo Lira2009-12-161-2/+10
| | | | | | | | | The TypeDatabase now stores global added functions as well as function modifications. The AbstractMetaFunction::modifications method was improved to check for global modifications. The test suite was updated with the changes.
* Fixed support for modify args in add-function tag.renato2009-12-081-3/+27
| | | | | | Created tests. Reviewed by Hugo Lima <hugo.lima@openbossa.org>
* TypeEntries created for unknown types found in user added functionsHugo Lima2009-12-011-1/+1
| | | | | | are marked as CustomType isntead of TargetLangType. Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
* Modified the AbstractMetaFunction class to have a separated flag toMarcelo Lira2009-11-241-1/+5
| | | | | | | | | | | indicate that it was added by the user or not, instead of using the AbstractMetaFunction::UserAddedFunction enum value. The old way prevented the function to be an UserAddedFunction and a ConstructorFunction at the same time, since this information was stored as an enum of the AbstractMetaFunction::FunctionType type. A test case was also added. Reviewed by Hugo Parente <hugo.lima@openbossa.org>
* Added methods to set and check for protected and virtual destructorMarcelo Lira2009-11-241-2/+4
| | | | on AbstractMetaClass objects. Also added tests for this.
* Fix topological sort for args with default expression 0 and value type.renato araujo oliveira2009-11-231-0/+3
| | | | Reviewed by Lauro Moura <lauro.moura@openbossa.org>
* - All reverse operators are now properly tagged as "reverse operator".Hugo Lima2009-11-091-4/+4
| | | | | | | - Reverse operators aren't tagged as static methods anymore. - Reverse operators now have just one parameter, the one that matters. Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
* Remove the stream argument when modifying <</>>Lauro Neto2009-11-091-3/+7
| | | | | | | | | The global operator function was being added to a class' method list but without modifying the argument list by removing the owner class. It was removed a long time ago when working on boostpythongenerator. Reviewed by Hugo Parente <hugo.lima@openbossa.org>
* Use isStream instead of hardcoding QDataStreamLauro Neto2009-11-091-2/+1
| | | | Also added documentation
* Add m_stream attribute to AbstractMetaClassLauro Neto2009-11-091-0/+2
|
* The AbstractMetaBuilder::traverseFunction method for added functionsMarcelo Lira2009-11-091-0/+1
| | | | | | now decide the usage pattern for the AbstractMetaTypes of the arguments. Reviewed by Hugo Parente <hugo.lima@openbossa.org>
* Added functions aren't marked as virtual anymore.Hugo Lima2009-10-221-0/+1
| | | | Reviewed by Renato Araujo <renato.filho@openbossa.org>
* Added support for add-function tag into typesystem.Hugo Lima2009-10-211-0/+57
|
* Fixed bugs related to the strings returned by defaultValue and ↵Hugo Lima2009-09-181-19/+17
| | | | | | | | | originalDefaultValue. - If there are no typesystem modifications, originalDefaultValue will be equals to defautlvalue, so originalDefaultValue will not be the same string found by the C++ parser, it will be usefull only to check if there are some default values modifications.
* Revert "Fix a bug related to function default values."Hugo Lima2009-09-181-1/+92
| | | | | | This fix bring to much regressions. This reverts commit 752c22056f4ba61961a01819992f9af71a3b0416.
* Fix a bug related to function default values.Hugo Lima2009-09-151-92/+1
| | | | | | | | ApiExtractor tries to modify the defaultValue every time, so then return value of originalDefaultValue() if diferent from the return value of defaultValue() when they dont need to be. Unit test included.
* Add the option to set the directory where all log files will be created.Hugo Lima2009-09-111-5/+13
|
* Create a new method to AbstractType: isValuePointer.Renato Araujo Oliveira Filho2009-08-261-7/+6
| | | | | | Separeted value pointers from native pointer for help generators. Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
* The genesis...Hugo Lima2009-08-171-0/+2556