| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Reviewed by Anderson Lizardo <anderson.lizardo@openbossa.org>
Reviewed by Hugo Parente <hugo.lima@openbossa.org>
|
| |
|
|
|
|
|
|
| |
No code is generated for return value conversion on virtual method
callers if code is provided to handle said conversion via code injection
or custom conversion rule.
|
|
|
|
|
| |
Type modifications done to the value expected to be returned by a Python
override of a virtual method are now handled properly.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Solves #119
Reviewer: Bruno Araujo <bruno.araujo@openbossa.org>
Reviewer: Anderson Lizardo <anderson.lizardo@openbossa.org>
|
|/
|
|
|
|
|
|
|
| |
non-primitive
types with default values.
Reviewer: Bruno Araújo <bruno.araujo@openbossa.org>
Reviewer: Anderson Lizardo <anderson.lizardo@openbossa.org>
|
|
|
|
|
| |
Reviewer: Bruno Araújo <bruno.araujo@openbossa.org>
Reviewer: Anderson Lizardo <anderson.lizardo@openbossa.org>
|
|
|
|
| |
decisor.
|
|
|
|
|
| |
Reviewer: Hugo Parente <hugo.limra@openbossa.org>
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org>
|
|
|
|
| |
Shiboken::cppObjectIsInvalid function.
|
|
|
|
|
|
|
|
|
| |
The new semantic is:
Returns true when the type can be converted to T OR the type is T.
The old semantic was:
Returns true when the type can be converted to T and false if the
type is T, however int and float converters did not follow this
rule, because they used PyNumber_Check on their isConvertible implementation.
|
|
|
|
|
|
|
| |
the return statements now have correct values for pure virtual methods
returning void pointers. also added a dummy test for this (can't really
test it properly until the semantics of casting the python return value
into a void pointer is properly defined -- if ever).
|
|
|
|
|
|
| |
the return statement within the error block was only written if there
was something to return. now an empty statement is written if no return
value is expected.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
cppgenerator.cpp
libshiboken/basewrapper.cpp
Reviewed by Hugo Parente <hugo.lima@openbossa.org>
Reviewed by Lauro Moura <lauro.neto@openbossa.org>
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Value type classes without implicit conversions use the default
implementation provided by ValueTypeConverter. This commit updates
ValueTypeConverter to check for extended conversions, since even a
class without implicit conversions in one module could get some
conversion operators in another.
CppGenerator now writes 'isConvertible' calls to all object and
value types checks leaving the door open to extended conversions.
|
| |
| |
| |
| | |
Removed "new_ctor_operator" test from black list.
|
| |
| |
| |
| |
| | |
Adds the functions responsible for writing code for functions that
supports extensible conversions.
|
|/
|
|
|
|
|
| |
The SbkBaseWrapperType structure now stores pointers to functions
that extend the type Converter methods 'isConvertible' and 'toCpp'.
This is used when a module is extended by another module that defines
a conversion operator for a class in the first module.
|
|
|
|
|
|
| |
Previously all implicit conversions were constructors, now they could be
conversion operators, with no explicit arguments except for the owner
class where they where defined.
|
|
|
|
| |
field in SbkBaseWrapper_Type.
|
| |
|
|
|
|
| |
Reviewed by Marcelo Lira <marcelo.lira@openbossa.org> and Luciano Wolf <luciano.wolf@openbossa.org>
|
|
|
|
| |
Reviewed by Lauro Moura <lauro.neto@openbossa.org>
|
|
|
|
|
|
| |
It also stopped using specific "cptr" cast macros, for these are to be
abandoned since they're considered harmful to multiple inheritance
casting.
|
|
|
|
| |
Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enums and flags are now treated as immutable types, so
using a inplace operator will create a new flag object
and attribute it to the name which the operator is called.
flags = Qt.Window
flags |= Qt.Dialog # This will create a new object and attribute
# to flags
This was done in order to prevent changing the original objects as
the the inplace operator in line2 would modify the object pointed by
Qt.Window.
Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
|
| |
|
|
|
|
| |
Was being registered as __neg__ instead of __invert__
|
|
|
|
| |
Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
|
|
|
|
|
|
|
|
| |
PyNumber_Check or a more specific type check function.
- Promote bool type as a specialization of int, as we do with float.
Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Originally the values of an enum were registered in the scope that
enclosed the enum declaration, just like C++ does, now in addition
to this the values are registered inside the enum type.
To exemplify, the following C++ enum:
Scope {
enum Foo {
Value
};
};
can be accessed in Python as this:
Scope.Value
as well as this:
Scope.Foo.Value
The enum unit tests were expanded to check for this new behaviour.
Reviewed by Luciano Wolf <luciano.wolf@openbossa.org>
|
|
|
|
|
|
|
| |
It checks if an AbstractMetaType represents a C++ pair container.
Also updated code to make use of the new method.
Reviewed by Lauro Moura <lauro.neto@openbossa.org>
|
|
|
|
|
| |
It checks if an AbstractMetaType represents a C string.
Also updated code to make use of the new method.
|
|
|
|
|
| |
C++ '0' (or 'NULL') default value is translated as Python 'None'
in error message for wrong method calls.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now the user can build new values of a particular enum type passing
an integer to its constructor. Thus, the following C++ code:
MyEnum val = (MyEnum) 1;
is the equivalent of this Python code:
val = MyEnum(1)
The enum unit tests were also updated.
Reviewed by Lauro Moura <lauro.neto@openbossa.org>
|
|
|
|
|
|
|
| |
it can expect the argument to be any number type or an explicty type,
e.g. float.
Reviewed by Luciano Wolf <luciano.wolf@openbossa.org>
|
|
|
|
| |
symbols.
|
|
|
|
| |
Reviewed by Luciano Wolf <luciano.wolf@openbossa.org>
|
|
|
|
|
|
|
| |
This will increase the binding size, so there's an option to disable
verbose error messages. "--disable-verbose-error-messages"
Reviewed by Renato Araújo <renato.filho@openbossa.org> and Marcelo Lira <marcelo.lira@openbossa.org>
|
|
|
|
|
|
|
| |
The default ownership does nothing. This is useful to avoid automatic
heuristically based generation of code defining parenting.
Reviewed by Hugo Parente <hugo.lima@openbossa.org>
|
|
|
|
|
|
| |
To access Sbk*Type variables from other modules, you need to use the array provided via CObjects.
Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
|
| |
|
|
|
|
|
|
| |
The classes that kept references to other objects now make
use of the new SbkBaseWrapper_keepReference helper function
from libshiboken.
|
|
|
|
| |
Reviewed by Renato Araújo <renato.filho@openbossa.org>
|
|
|
|
| |
Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
|
|
|
|
| |
Reviewed by Renato Araújo <renato.filho@openbossa.org>
|
|
|
|
|
|
|
| |
Every method marked to increment the reference count of any argument
must decrement the reference count of previously held objects. A
dictionary is used to associate the method overload and Python wrapper
instance with the previously set object.
|