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
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
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
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
9a052844b3
Stubbed in MSVC ABI. Started writing test cases.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@41 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
1167ace7ab
Renamed Itanium.cs to ItaniumAbi.cs
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@28 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
162851ea56
Almost got it working with VTableManaged. One odd issue: commenting out Console.WriteLine in VTable.cs constructor causes
...
weird Mono assert fail when Marshal.GetDelegateForFunctionPointer is called later.
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@13 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