Dimitar Dobrev
824d8b5f30
Rewrote the generating of properties to additionaly handle property overrides and read-only properties.
...
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
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
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
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
840e3c93cf
Corrected the access modifier of overridden methods because in C++ overriding may change access.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
3b63a1a2be
Added default constructors triviality information to the AST.
12 years ago
Dimitar Dobrev
bb07a294f4
Ignored private types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
7971d0a33e
Fixed the generation of unions by considering all unions non-reference types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
02f5d0731a
Classes in AST now keep if they have non trivial copy constructors.
12 years ago
triton
7d1bf939f5
Remove unused usings.
12 years ago
Dimitar Dobrev
58b2529df3
A simple prototype for supporting unions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
752cfa4869
Added IsDynamic and IsPolymorphic data to classes.
12 years ago
triton
dbd9fbc9d5
Added v[f]table parsing support.
12 years ago
triton
68ddfbdd6f
Move the AST project to the CppSharp.AST namespace.
12 years ago
triton
c488dcbfde
Prefix all the libraries and project names with CppSharp.
12 years ago
triton
13b225e31e
Fixed the FindHierarchy to walk the declarations top-down instead of bottom-up, which is the expected behavior for the users of this method. This makes sure when searching for methods we find the one from the top classes first, instead of the base ones.
12 years ago
triton
53bce57b19
Added parsing of access specifiers in methods.
...
This lets us keep track of groups of methods in the order they were declared in the native class which is useful to bind some libraries, like Qt which uses non-standard constructs like Q_SIGNALS. Since we now also keep track of macro expansions in declarations this gives us the information needed to deal with those cases correctly.
12 years ago
triton
e57c435426
Fixed some incorrect behavior with nested types in the CheckAmbiguousOverloads pass by fixing GetFunctionOverloads to be dynamically dispatched instead of using some weird manual type checking.
12 years ago
triton
4c45531cc0
Use the new keyword to tell the compiler we are hiding the GetFunctionOverloads overload.
12 years ago
triton
e1ac13601c
Added a new abstract class DeclarationContext that acts as a container for declarations and make Class and Namespace inherit from it.
12 years ago
triton
2127848d47
Added an helper method to find declarations hierarchically.
12 years ago
triton
46d9978401
Class helper methods now return proper lazy IEnumerable<> instead of converting right away to lists.
12 years ago
triton
5e4d263bb6
Added an helper method to find methods in a class by their original name.
12 years ago
triton
cc8f7cd1db
Renamed Cxxi references to CppSharp.
12 years ago
triton
dbf7b7bf28
Added an helper property to get the base class of a class.
12 years ago
triton
a14338a8c9
Added much improved support for operator overloading in the C# backend.
12 years ago
triton
d1915d033c
Actually get the layout information for each class in the parser.
12 years ago
triton
09b5863b5e
Added parsing support for class function templates and added parsing of template parameters.
12 years ago
triton
9f029047ad
Added parsing, AST and visitor stubs support for (class static) variables.
12 years ago
triton
25ae63013b
Added helper property to check if class has a base.
13 years ago
triton
bb4085fc5f
Added support for events in the AST.
13 years ago
triton
f6f5142531
Fixed formatting of property.
13 years ago
triton
d0bfb648b5
Added base class information to classes.
13 years ago
triton
dd8c3ea9c7
Added helper property to get the constructors of a class.
13 years ago
triton
f5fcef50f1
Massive update to the codebase.
...
- Removed reliance on T4 text templates that were proving to be a portability problem.
- Refactored the generator design to make a little more sense.
- Moved the examples to their own projects.
- Improved the build system to only use one unified output folder.
- Added much improved template support.
- Added work-in-progress C++/CLI generator backend.
- Added the concept of type maps.
13 years ago
triton
4c25413588
Reorganized declarations. Added flag to see if type should be treated as opaque. Added flag to see if type is an union.
13 years ago
triton
d474f0a04f
Added a bridge project containing the managed files bridging the native Clang parser.
13 years ago