Alex Corrado
aefe6e0e2a
Remove some bitrot
14 years ago
Alexander Corrado
abbcad5411
Refactor CppAbi to move fields related to the type being emitted into CppTypeInfo
15 years ago
Alex Corrado
ca23db9c92
Wrappers can now override virtual methods from non-primary bases
15 years ago
Alex Corrado
33416d2b0a
Fix build errors that pop up in VS/ mcs master
15 years ago
Alex Corrado
891d799cbc
Sexy new name, cxxi
15 years ago
Alex Corrado
7ebba74718
Detect managed instances by vtptr and retrieve original wrapper instance instead of rewrapping
15 years ago
Alex Corrado
6a8bec014e
Fixes for virtual dispatch for multiple inheritance.
...
+ Fix Itanium vtable layout: derived type's virtual methods come after primary base's but before the rest of the base classes'
+ Wrapper cleanup: move common init code to methods, cache all casted base wrappers right away in preparation for patching base-in-derived vtptrs
+ CppInstancePtr: read native_vtptr when constructed with native ptr-- will need hash lookup to detect managed instances
+ Clean/refactor LazyGeneratedList
15 years ago
Alex Corrado
0febce15f3
Begin hacking on per-instance vtptr. More failing tests.
15 years ago
Alex Corrado
b8bba69a81
Correctly generate managed override trampolines for native subclass wrappers
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
14e5a64fdb
Refined mechanism for representing C++ inheritance that enables more accurate calculation of native class size. Lazy generation and caching of delegate types.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@95 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
16b1a614f2
Started rough beginnings of QtBindings. Fixes to make this possible: support static C++ class methods, support managed wrapper inheritance to parallel C++ classes, added Base<> marker interface; will help support multiple inheritance, and more. Added small QtTest of QtBindings... currently crashes and burns.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@48 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