Dimitar Dobrev
d2e7e99bc3
Fixed the issue about member pointers not pointing to a function. Turns out this is some "pointer to a data member" (?!) that is of little use so just ignore it.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
5b6beaaf33
Added a test about operators in nested classes.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
2091d71242
Added a test about the type def - to a function pointer - incorrectly resolved to void*.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
95687a22b6
Added two hacks: one for operators in general, one for a parser issue.
...
1. Visit the class as a declaration context when checking operator overloads - otherwise operators in nested types are not checked; this is, however, not the proper solution because all visiting of classes should be refactored so that this and any other methods are always called as necessary;
2. A single conversion operator in Qt misleads the parser into resolving a function pointer while it is (most probably) not; this caused a subsequent crash.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
813084948f
Fixed the resolution of overloads for conversion operators.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
88d5192684
Wrapped conversion (cast) operators.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
triton
c0c212928d
Reworked CLI type references to only filter namespaces only filter (effective) namespaces when generating forward references and not includes.
13 years ago
triton
1d0a512b80
Use the shared library name as a last resort if the symbol is not found.
13 years ago
triton
91508c9b0b
Reworked the SharedLibraryName option to return the LibraryName as default value if not set.
13 years ago
Dimitar Dobrev
07beb47048
Converted return types to their complementary interfaces, if any.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
593aac162e
Added a new class type "Interface".
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
1962751cb8
Stored the original class in its interface replacement used with multiple inheritance.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
c45c015a75
Reused the method for generating a string representation of an access qualifier.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
ef53ca17d3
Added a block kind for an interface.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
c5382ee666
Changed a bit the method for a class definition to be able to reuse it for interfaces.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
3a9eef1e80
Added a new pass converting all parameter types to their respective interfaces, if any.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
d7a91d1719
Added a fake option for multiple inheritance so that the build stays healthy.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
6ef578cd6a
Removed the generation of protected members of interfaces.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
ffbc5fbf15
Fixed the check for duplicates to account for explicit impls. Fixed the getting of a root base method and property to consider the parameter for all bases.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
f07ddf79fc
Replaced the vague checks for explicit interface impls with a specific property.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
c9e5c0d505
Completed the parallel hierarchy of interfaces so that a derived class can access the members of all of its bases.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
068cf51165
Added explicit implementation of interface properties (when necessary).
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
f5304e69bb
Completed the support for multiple inheritance with the exception of base interfaces and the cast operator in the derived class to the second or later base.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
37f09c04ef
Added a pass to generate interfaces with the purpose of simulating multiple inheritance.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
triton
79d8528625
Fixed generation of nested declarations in classes (part 2).
13 years ago
triton
18b1515412
Fixed generation of unions.
13 years ago
triton
c7b7e2c703
Fixed generation of nested declarations in classes.
13 years ago
Dimitar Dobrev
6f3224ca60
Changed writable indexers of primitive types to use the types themselves instead of pointers.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
triton
0b77ef7a49
Improved the FieldToPropertyPass to be a bit more robust by checking for existing properties.
13 years ago
Dimitar Dobrev
5d308dc7c3
Fixed the generation of calls to members of nested classes.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
6edc1ac19b
Marshalled pointers to primitive types as such instead of using IntPtr.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
triton
53a1763652
Fixed generation of incomplete types by walking through the complete declarations.
13 years ago
triton
0f8f0a83c4
Fixed generation of non-primitive/reference out/ref types.
13 years ago
Dimitar Dobrev
b82aebab3a
Added support for writing using indexers.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
7dde8df3e1
Generated the inlines only when using the C# back-end because the CLI one does not need them.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
083dc3a9f8
Improved the generation of indexers by removing const overloads of []. NOTE: did that by removing the method type check in the pass for ambiguous overloads.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
54c93f4d91
Added support for read-only [] operators.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
triton
36226268a6
Fixed checking of virtual overrides to also check if the base override is ignored.
13 years ago
triton
287dd7bf7c
Fixed getter/setter properties to inherit the access from their methods.
...
This is not ideal though, this won't deal properly with a getter and setter with different access specifiers.
13 years ago
triton
8a1cb28cd0
Fixed resolving of incomplete enum declarations.
13 years ago
triton
bed92373ec
Fixed out reference parameters in CLI backend (with test).
13 years ago
triton
a7def2de27
Fixed type map finding not setting the type in the type map in one exit of the method.
13 years ago
triton
66ef3c55ff
Reworked support for out parameters in both backends and added a test.
13 years ago
triton
ac7321d91c
Implement std::vector type map ignores by checking the inner template type.
13 years ago
triton
5abfbeca39
Ignore unresolved declarations.
13 years ago
triton
741f22d51e
Reworked type map handling to not do recursive type map finding by default.
13 years ago
triton
86b6588951
Check for invalid virtual method overrides due to ignored base classes.
13 years ago
Dimitar Dobrev
f38fa134e4
Added an option for an encoding.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
de4879f108
Added support for Unicode when marshalling strings.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
348c3db122
Fixed the v-table interop to be compilable.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago