Dimitar Dobrev
49d3c85b7c
Copied the signature and the line number when cloning functions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
triton
1e0db93c5e
Added support for handling non-virtual methods inherited from MI bases.
11 years ago
triton
169a3fa610
Added support for keeping ABI-specific function 'this' return information.
11 years ago
Dimitar Dobrev
319b9691d2
Marked the __Instance property in interfaces as synthetised.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
0499556bfe
Added support for default values of parameters.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
36bdfb6c07
Simplified the getting of a function type now that the more complex (native) type is no longer used for abstract impls.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Conflicts:
src/AST/Method.cs
11 years ago
Dimitar Dobrev
ca2b3a312e
Moved IsSynthetized from Method to Function.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Conflicts:
src/AST/Method.cs
11 years ago
Dimitar Dobrev
f88c20aa94
Some refactoring in preparation for the default values of parameters.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Elias Holzer
933df5e65a
Improved support in parser for template classes and functions.
...
* Use clangIndex to identify declarations across translation units.
* Added new Find*ByUSR methods and removed unused Find*(IntPtr) methods.
* Added Depth/Index and IsParameterPack fields to TemplateParameterType.
* Fixed member initialization issues in C++ Method class.
* Added AST tests for function and class templates.
* All tests pass with new and old parser.
11 years ago
Elias Holzer
61a5ceb5c3
Added copy constructors to Class, Parameter and DeclarationContext.
11 years ago
Elias Holzer
749e5a399e
Added new property Parameter.Index.
...
Also added test which checks whether both parsers assign the AST parameter properties properly.
11 years ago
triton
7faa50d945
Fixed native symbol naming.
...
We now properly name the internal ctor declarations by constructor type.
We also now keep an index for each function that is used to unique their native name.
11 years ago
triton
f2e831ebe2
Minor formatting fixes.
12 years ago
Dimitar Dobrev
f6e0453744
Revert "Fixed function types to provide qualified argument types in the AST."
...
This reverts commit 70122b0568
.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
70122b0568
Fixed function types to provide qualified argument types in the AST.
...
We just parsed the function type "parameters" which does not even make sense from a type system point of view but it's useful in some instances in the generator when function types are "mappable" to function declarations.
12 years ago
Dimitar Dobrev
0e37a62726
Changed the check whether to invoke a property in the v-tables to work around the non-shared methods in v-tables. Set the function signature to an empty string rather that null by default.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
8afb0acd19
Added Signature property to functions that provide the original function signature as accurately as possible from the original source.
12 years ago
triton
bc33de5ddd
Added parser support for deleted functions.
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
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
9ef6fdc740
Separated the logic for abstracts impls into small functions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
871a05511c
Added a new pass that checks for ambiguous overloads.
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
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
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
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
5077adb8c9
Added better support for pure virtual functions.
12 years ago
triton
cfc4783420
Added an IMangledDecl interface to mangle-able declarations.
12 years ago
triton
d37cca5ca1
Changed the return type of functions to be a qualified type.
12 years ago
triton
cc8f7cd1db
Renamed Cxxi references to CppSharp.
12 years ago
triton
8a9fd2f0e2
Added a new parameter kind "OperatorParameter" to represent synthesized overloaded operator parameters.
12 years ago
triton
0fb8bc17ea
Added a new kind of parameter, HiddenStructureReturn, that is used to model ABI-specific parameters that are needed when returning structures/classes by value.
12 years ago
triton
51079a3a13
Added support for different parameter kinds.
12 years ago
triton
dbf45a1f97
Removed unused TypeConversionKind enum.
12 years ago
triton
deeb0b0452
Added helper functions to check for particular calling conventions.
12 years ago
triton
6e9c58697e
Remove unused property.
13 years ago
triton
2564730771
Big rework of the type system to preserve the qualifiers on types.
13 years ago
triton
26189991fa
Remove C# backend specific code from the bridge.
13 years ago
triton
b0cc4e6c2f
Cleanup unused usings.
13 years ago
triton
05dec960ff
Introduce the ITypedDecl interface.
13 years ago
triton
816d90c99c
Parameters can now store what type of conversion they need.
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
d474f0a04f
Added a bridge project containing the managed files bridging the native Clang parser.
13 years ago