Alex Corrado
fb85e5a3ed
Experimental support for initing the native vtptr ourselves (enable with -define:INIT_NATIVE_VTABLES)
...
Doing this ourselves instead of depending on the C++ ctor to do it will allow us to instantiate classes that have vtables and do not explicitly define any constructors (thus only having the C++ implicitly-defined default constructor, which isn't exported as a symbol in the lib).
14 years ago
Alexander Corrado
abbcad5411
Refactor CppAbi to move fields related to the type being emitted into CppTypeInfo
15 years ago
Alex Corrado
891d799cbc
Sexy new name, cxxi
15 years ago
Alex Corrado
179207fb18
Implement better metadata sharing among types whilst they are being emitted.
...
Implement correct Itanium pass-by-value and return-by-value semantics.
15 years ago
Alex Corrado
94cf0c5afd
Manually merge d28bc89..faa6350
15 years ago
Andreia Gaita
640ca8a181
Add license and license headers
15 years ago
Zoltan Varga
c6c8291b41
Convert spaces to tabs.
15 years ago
Andreia Gaita
a478c3030f
reorganize things
15 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
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
dbaf084f48
Exposed NUnit to C++ code for use in unit tests. Fixed bugs.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@46 a470b8cb-0e6f-1642-1b45-71e107334c4b
16 years ago
alexander.corrado
3a28e42da8
Created new Tests project, code clean up.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@40 a470b8cb-0e6f-1642-1b45-71e107334c4b
16 years ago
alexander.corrado
d3742aa29d
Added the ability to expose any arbitrary managed class to C++ code (CppInstancePtr.ForManagedObject)
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@27 a470b8cb-0e6f-1642-1b45-71e107334c4b
16 years ago
alexander.corrado
feb797a2f2
Refactored and completed managed VTable implementation. Prepared for
...
first commit to mono-gsoc repo.
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@8 a470b8cb-0e6f-1642-1b45-71e107334c4b
16 years ago
alexander.corrado
f7683a594f
Initial commit.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@7 a470b8cb-0e6f-1642-1b45-71e107334c4b
16 years ago