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
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
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
Dimitar Dobrev
b82aebab3a
Added support for writing using indexers.
...
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
triton
8a1cb28cd0
Fixed resolving of incomplete enum declarations.
12 years ago
Dimitar Dobrev
2848ee7453
Fixed a regression causing a run-time crash with moved operators.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
a15c5b8f99
Fixed the check for ignoring to verify the access at the declaration level.
...
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
Dimitar Dobrev
b9f1ecb715
Changed the parameter type comparer to work with qualified types because overriding cannot change the qualification of types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
1c793ef589
Commented the pass about internal impls of abstract classes. Cosmetic fixes.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
7d3ee70a73
Renamed AbstractImplementationsPass to GeenrateAbstractImplementationsPass.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
9ef6fdc740
Separated the logic for abstracts impls into small functions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
9752096a4c
Fixed a bug in MS mode and added a test.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
3b63a1a2be
Added default constructors triviality information to the AST.
12 years ago
triton
871a05511c
Added a new pass that checks for ambiguous overloads.
12 years ago
triton
2ae4f02edd
Check for typedefs in HasDeclarations.
12 years ago
Dimitar Dobrev
1a293f8965
Added copy constructors to some of the AST classes.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
bb07a294f4
Ignored private types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
02559ed193
Added better support for unary operators.
12 years ago
triton
a4f1606956
Added better support for unary operators.
12 years ago
Dimitar Dobrev
1fc9880be9
Generated the correct calling convention in the UnmanagedFunctionPointerAttribute of delegates.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
5ada754d72
Reworked MoveOperatorToClassPass to be simpler and correct.
12 years ago
triton
f7be1cb5e7
Added original function property to keep the original function where this one was synthetized from.
12 years ago
triton
d56c50ad5e
Added FunctionSynthKind property to function to keep what kind of synthesis occurred.
12 years ago
triton
a964df9069
Renamed HiddenStructureReturn to IndirectReturnType as it is a lot more clear.
12 years ago
triton
5586acdbaf
Added accurate return and argument type ABI information by querying Clang's code gen layer for the correct information. This does add a lot of extra dependencies on LLVM and Clang libraries.
12 years ago
triton
d7541960c4
Moved operators parsing from methods to functions since functions can also be operators.
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
triton
523e8d7989
Fixed issue with signed enum constants with tests.
12 years ago
Dimitar Dobrev
2063aa2216
Fixed the filling of missing operators to account for operator overloads.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
c490d25e74
Reworked property handling to check if each property getter/setter can be generated.
...
Fixes a bug where we tried to generate a setter for a const field.
12 years ago
Dimitar Dobrev
58b2529df3
A simple prototype for supporting unions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
ae0b136c73
Added helper properties to functions AST node to check the usage of the function.
12 years ago
triton
3e505737d7
Rework the handling for functions that need hidden structure parameters.
...
The main changes are:
- The original return type is now kept as the type of the generated parameter
- The return type of the function is set to void to represent what is actually happening.
This also fixes a bunch of bugs related due to using the wrong return type in some places.
12 years ago
Dimitar Dobrev
31fe7760ad
Added 3 hacks so that QtCore reaches the end of code generation:
...
1. If an expression of an enum item is null, count it as non-hex;
2. Do not throw a NotSupported exception when a fixed array of an non-primitive type is encountered;
3. Provide some seemingly correct implementation for CppTypePrinter.VisitTemplateParameterSubstitutionType.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
7f8494ca94
Added generation of function pointers.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
2b3a8f79e4
Fixed the documentation comments support in the generators to use the new comment APIs.
12 years ago
triton
751e0da4e3
Keep the original pointer that originated the AST declaration node and check if we have already processed the method in WalkMethodCXX (if so, just return the already existing declaration).
...
We depend on this to get the right method instance when walking through the vtable methods.
12 years ago
triton
752cfa4869
Added IsDynamic and IsPolymorphic data to classes.
12 years ago
triton
8ee674697d
Add dummy GetHashCode implementations.
12 years ago
marcos henrich
9ba1707616
Added Equality operator to AST Types. This was needed because GetterSetterToPropertyPass has to match a getter return type with a setter parameter type.
12 years ago
marcos henrich
c02b7bf3a8
Added Field to Property Declaration so now we can generate the property from a field instead of get or set methods.
12 years ago
marcos henrich
fcb93169a2
Added OriginalNamespace to Declaration and now QualifiedOriginalName uses it.
12 years ago
triton
d9a52a030d
Added missing source location type.
12 years ago