Alexander Corrado
bf12d1cd84
Mangling support for namespaces; generate MangleAs attribute on interfaces
15 years ago
Alexander Corrado
ade252db80
CppType: value types and IEnumerable<CppModifiers>
15 years ago
Alexander Corrado
1f6d968a12
Fix stack overflow
15 years ago
Alexander Corrado
adfd69958f
Misc fixes. Always generate all virtual methods in iface
15 years ago
Alexander Corrado
815a07e155
CppType: better primitive mapping and support generic System.Types
15 years ago
Alex Corrado
891d799cbc
Sexy new name, cxxi
15 years ago
Andreia Gaita
640ca8a181
Add license and license headers
15 years ago
Zoltan Varga
2de301cfb5
Fix the parsing of c++ type names so classes named 'Class' are not confused with the c++ keyword 'class'.
15 years ago
Andreia Gaita
a478c3030f
reorganize things
15 years ago
alexander.corrado
1a27eb3119
Generator bug fixes. Now fully compiles bindings from qapplication.xml and will start testing mangled names against GCC-XML output before crashing. Preliminary support for C++ namespaces.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@132 a470b8cb-0e6f-1642-1b45-71e107334c4b
16 years ago
alexander.corrado
3b0a3f418b
Added validation mode to generator that will confirm that bindings compile and that names are correctly mangled. Fixes to generator to fix compile errors with generated bindings, however they do not compile out of the box as yet.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@123 a470b8cb-0e6f-1642-1b45-71e107334c4b
16 years ago
alexander.corrado
8525dd03c6
Many changes to support generator. Factored CppType creating new CppModifiers class instead of enum with support for template parameters. Generator now almost produces usable code out of the box, including automatic property generation and preliminary support for wrapping templated C++ types in generic managed classes.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@117 a470b8cb-0e6f-1642-1b45-71e107334c4b
16 years ago
alexander.corrado
fa95953dfd
Hacked on generator. Improvements to CppType to support generator, including round-trippable (I think) ToString.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@116 a470b8cb-0e6f-1642-1b45-71e107334c4b
16 years ago
alexander.corrado
8d424fc29a
Merged Andreia's cppinterop/generator. Added start of new code generation backend based on CodeDom. Implemented CppType -> System.Type map.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@115 a470b8cb-0e6f-1642-1b45-71e107334c4b
16 years ago
alexander.corrado
b306fa8963
Many fixes for MSVC abi. Fixed vtable slot calculation bug (destructors can be virtual too!) MSVC abi almost at level of Itanium.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@77 a470b8cb-0e6f-1642-1b45-71e107334c4b
16 years ago
alexander.corrado
49769f8f54
Bug fixes. Started implementing MSVC ABI. Small refactorings to support this.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@71 a470b8cb-0e6f-1642-1b45-71e107334c4b
16 years ago
alexander.corrado
5d599a4494
New C++ type abstraction, CppType. Will parse C++ type declaration strings,
...
map managed -> C++ type, and canonicalize different declarations that equate
to the same type. Reworked ItaniumAbi to use new CppType for name mangling.
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@68 a470b8cb-0e6f-1642-1b45-71e107334c4b
16 years ago