Andreia Gaita
c9da14bd4e
preprocess classes to set up template arguments and create all types
...
before processing fields, methods and arguments that might use them
15 years ago
Andreia Gaita
eb3e32d163
indentation and cosmetic fixes, also .gitignore
15 years ago
Alexander Corrado
71ad832ce8
hacked on generator
15 years ago
Andreia Gaita
c993194021
more generator fixes
15 years ago
Andreia Gaita
5fbc2e6f1c
fix bad merge - missing files
15 years ago
Andreia Gaita
de58e65c21
testing qt
15 years ago
Andreia Gaita
a99e617a41
helper links
15 years ago
Andreia Gaita
5b006c766e
reorganize
15 years ago
Andreia Gaita
9051248fef
autotools
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
15 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
15 years ago
shana.ufie@gmail.com
087c65ade8
Fix the name property lookup to have a default, looks like some
...
structs don't have it on the defined
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@120 a470b8cb-0e6f-1642-1b45-71e107334c4b
15 years ago
shana.ufie@gmail.com
276d2cd2bb
Fix null check
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@119 a470b8cb-0e6f-1642-1b45-71e107334c4b
15 years ago
shana.ufie@gmail.com
8e4d95df5f
Fix stack overflow on equality operators
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@118 a470b8cb-0e6f-1642-1b45-71e107334c4b
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
15 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
15 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
15 years ago
alexander.corrado
dc9ef08b29
Merge branch 'master' of github.com:nirvanai/cppinterop
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@114 a470b8cb-0e6f-1642-1b45-71e107334c4b
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
15 years ago
Andreia Gaita
22c04ec901
MD project files
15 years ago
Andreia Gaita
08ce0faeeb
initial commit
15 years ago
alexander.corrado
10a82828b1
MSVC abi now runs QtTest as well as Itanium abi. Lots of refactorings to account for differences between abis.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@79 a470b8cb-0e6f-1642-1b45-71e107334c4b
15 years ago
alexander.corrado
c87676dfe1
Minor touchups. Helped Visual Studio debugging.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@78 a470b8cb-0e6f-1642-1b45-71e107334c4b
15 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
15 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
15 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
15 years ago
alexander.corrado
7fd37ad3d7
QtTest now pops up simple "Hello world!" window. Rudimentary support for
...
multiple inheritance. Automatic marshaling support for ICppObject with custom marshaler.
Improvements to name mangling for ItaniumAbi. Lots more TODOs.
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@50 a470b8cb-0e6f-1642-1b45-71e107334c4b
15 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
15 years ago
alexander.corrado
6b1f46c417
Code cleanup.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@47 a470b8cb-0e6f-1642-1b45-71e107334c4b
15 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
15 years ago
alexander.corrado
4b28e20490
Removed old directories
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@42 a470b8cb-0e6f-1642-1b45-71e107334c4b
15 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
15 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
15 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
15 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
15 years ago
alexander.corrado
66f18ae900
Fixed issue where a DynamicMethod was being collected when it shouldn't have been.
...
Turns out that the Console.WriteLine was just putting off the inevitable.
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@18 a470b8cb-0e6f-1642-1b45-71e107334c4b
15 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
15 years ago
alexander.corrado
566a3bdf0f
Fixed gnarly Git-svn issue
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@12 a470b8cb-0e6f-1642-1b45-71e107334c4b
15 years ago
alexander.corrado
d2706405b4
Fixed issue caused by Type.GetMethods not including inherited interfaces. Still not working right though.
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@9 a470b8cb-0e6f-1642-1b45-71e107334c4b
15 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
15 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
15 years ago
alexander.corrado
389b7dc313
Created project directory in SVN
...
git-svn-id: https://mono-soc-2010.googlecode.com/svn/trunk/cppinterop@6 a470b8cb-0e6f-1642-1b45-71e107334c4b
15 years ago