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>
12 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>
12 years ago
Dimitar Dobrev
813084948f
Fixed the resolution of overloads for conversion operators.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
1c137fa2ae
STL containers wrappers now implement ICppMarshal (stubs).
12 years ago
triton
056d0cb6c7
Added new ICppMarshal interface used to marshal objects.
12 years ago
triton
068627e2f2
Added C# and C++/CLI bindings to the new parser APIs.
12 years ago
triton
ca5d1ed280
Revert "Move all the code in the old parser to the CppSharp::Parser namespace."
...
This reverts commit 6297ec532e
.
12 years ago
triton
7c7ae1595d
Added a bindings generator for the new parser.
12 years ago
triton
6297ec532e
Move all the code in the old parser to the CppSharp::Parser namespace.
12 years ago
triton
62839a3f0a
Added the new C++/CLI free parser.
...
I benchmarked it and it's about the same speed in Release mode (maybe a bit faster) but 3x slower in VS Debug mode due to all the STL usage.
12 years ago
Dimitar Dobrev
88d5192684
Wrapped conversion (cast) operators.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
c0c212928d
Reworked CLI type references to only filter namespaces only filter (effective) namespaces when generating forward references and not includes.
12 years ago
triton
1d0a512b80
Use the shared library name as a last resort if the symbol is not found.
12 years ago
triton
91508c9b0b
Reworked the SharedLibraryName option to return the LibraryName as default value if not set.
12 years ago
Dimitar Dobrev
07beb47048
Converted return types to their complementary interfaces, if any.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
593aac162e
Added a new class type "Interface".
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 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>
12 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>
12 years ago
Dimitar Dobrev
ef53ca17d3
Added a block kind for an interface.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
de9f1056bc
Changed the copy constructor of properties to make a shallow copy.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 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>
12 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>
12 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>
12 years ago
Dimitar Dobrev
6ef578cd6a
Removed the generation of protected members of interfaces.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 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>
12 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>
12 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>
12 years ago
Dimitar Dobrev
5e9de92b78
Fixed a bug in the getting of the root base method: the bases after the first one were ignored.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
068cf51165
Added explicit implementation of interface properties (when necessary).
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 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>
12 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>
12 years ago
triton
79d8528625
Fixed generation of nested declarations in classes (part 2).
12 years ago
triton
18b1515412
Fixed generation of unions.
12 years ago
triton
c7b7e2c703
Fixed generation of nested declarations in classes.
12 years ago
João Matos
7599ebd555
Changed the declaration default access specifier to be public.
...
This fixes some problems with CheckIgnoredDeclsPass that ignores declarations that are not public, which .
12 years ago
triton
62b8207d2d
Reworked the fix for #67 , the previous one was not totally correct and was breaking some tests.
12 years ago
triton
128308a590
Fixed parser to not try to get code gen details of function forward declarations.
12 years ago
triton
d34af322ed
Use the full offset to the vftable pointer when getting its vftable layouts.
12 years ago
triton
95ac9ffde8
Fixed a comparison bug introduced in the previous commit.
12 years ago
triton
ccecf5178a
Fixed parser diagnostic processing.
12 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>
12 years ago
triton
0b77ef7a49
Improved the FieldToPropertyPass to be a bit more robust by checking for existing properties.
12 years ago
Dimitar Dobrev
5d308dc7c3
Fixed the generation of calls to members of nested classes.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
6edc1ac19b
Marshalled pointers to primitive types as such instead of using IntPtr.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
53a1763652
Fixed generation of incomplete types by walking through the complete declarations.
12 years ago
triton
0f8f0a83c4
Fixed generation of non-primitive/reference out/ref types.
12 years ago
Dimitar Dobrev
b82aebab3a
Added support for writing using indexers.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 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>
12 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>
12 years ago
Dimitar Dobrev
54c93f4d91
Added support for read-only [] operators.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago