Zoltan Varga
f24e572d28
Add the beginnings of a README.
15 years ago
Zoltan Varga
70d7895777
Add auto-generated qt bindings.
15 years ago
Zoltan Varga
97695b95e7
Add test2 and src/generator2 to the build.
15 years ago
Zoltan Varga
27ea615c3d
Add regression tests for the c++ binding.
15 years ago
Zoltan Varga
bbf5789cab
Rewrite pinvoke marshalling to fix support for passing classes by ref/by value, and returning classes by value. Add support for inline methods. Fix some minor bugs.
15 years ago
Zoltan Varga
a3d176071e
Add more method attributes.
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
Zoltan Varga
cc3f705770
Disable a warning.
15 years ago
Zoltan Varga
ff011a4561
Avoid initializing the vtable when creating an object, the c++ constructor already does it, an
...
d the value we were trying to set was incorrect for qt.
15 years ago
Zoltan Varga
c6c8291b41
Convert spaces to tabs.
15 years ago
Zoltan Varga
f69e1e9609
Use proper library/abi for qt on linux.
15 years ago
Zoltan Varga
ff38bacf2e
Add Hello, World example.
15 years ago
Zoltan Varga
61e6a28df5
Fix generator build.
15 years ago
Andreia Gaita
29a609c67d
Filter out some more modifiers for method name duplication checks
15 years ago
Andreia Gaita
b8b046011e
clean up and cosmetic changes
15 years ago
Andreia Gaita
582e1a293d
When generating the Base class, set its name to use the class generic name
...
(with template arguments changed to generic ones) if it exists
15 years ago
Andreia Gaita
eedefbd925
Filter out some very problematic types for now (non-templated inheriting from templates, weird)
15 years ago
Andreia Gaita
958dd1e412
For some reason parts of the generated code don't like MangleAs, so
...
do MangleAsAttribute instead
15 years ago
Andreia Gaita
971737f0ea
If it's a constructor, don't create a return call
15 years ago
Andreia Gaita
a0ee2b75f7
check if a method has the same name as the type and rename
15 years ago
Andreia Gaita
dee7bc63c2
Make empty types inherit from ICppObject and implement minimum code
15 years ago
Andreia Gaita
ff8c9bc877
remove dead code
15 years ago
Andreia Gaita
2ef67cfd0b
Fix tokenization of template modifiers like "const char [N]".
...
(template metaprogramming)
15 years ago
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