Alex Corrado
4561c6182c
Move qt into examples directory and don't build examples by default. Fix tests build
2011-12-15 02:57:12 -05:00
Alex Corrado
9f574493c1
[generator] Get correct native layout size when a field is typed as a class by value
2011-12-15 02:56:53 -05:00
Alex Corrado
7662dd4430
[generator] Correctly handle fields that are fixed-length arrays
2011-12-15 02:49:09 -05:00
Alex Corrado
8f2dbdc3ae
Remove more bitrot to fix the build
2011-12-05 02:28:27 -05:00
Alex Corrado
ce9d2e262b
[CppField] Add support for IntPtr fields
2011-12-05 02:24:15 -05:00
Alex Corrado
eb59e306c2
[ItaniumAbi] Flesh out mangling type codes a bit
2011-12-05 01:59:24 -05:00
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).
2011-12-05 01:10:21 -05:00
Alex Corrado
aefe6e0e2a
Remove some bitrot
2011-12-04 21:36:02 -05:00
Alex Corrado
6825982069
Minor CppTypeInfo clean up. Add HasVTable property
2011-12-03 18:11:40 -05:00
Alex Corrado
58566ee37c
[ItaniumAbi] Improve compression in name mangling
2011-11-30 12:03:57 -05:00
Alex Corrado
1317b0e9cf
[generator] Fix nested classes in C# template
2011-11-28 01:54:14 -08:00
Alex Corrado
f008291cbe
Fix issue with value types that don't implement ICppObject
2011-11-16 18:53:57 -05:00
Alex Corrado
5d096f616b
Commit last qt bindings work from the summer
2011-11-15 15:21:25 -05:00
Alexander Corrado
73fb2eb2a1
Fix ICppObject native-to-managed marshaling when there is no vtable
2011-08-22 02:22:08 -04:00
Alexander Corrado
bf12d1cd84
Mangling support for namespaces; generate MangleAs attribute on interfaces
2011-08-22 01:10:54 -04:00
Alexander Corrado
d1231ca335
Stub in mangling tests with a failing Itanium compression test case.
2011-08-21 18:29:39 -04:00
Alexander Corrado
588165294d
Generator: add support for enums and namespaces
2011-08-21 04:32:10 -04:00
Alexander Corrado
ade252db80
CppType: value types and IEnumerable<CppModifiers>
2011-08-21 04:29:24 -04:00
Alex Corrado
a69511b6e6
Account for alignment when calculating NativeSize, and fix bug with cloning base CppTypeInfos.
2011-08-16 00:46:01 -04:00
Alex Corrado
6b01512bee
If InlinePolicy is "NotPresent," do not add those methods to the generated wrapper (unless they are virtual). Make things prettier :)
2011-08-16 00:43:43 -04:00
Alexander Corrado
961a351592
Remove auto-generated warning from handwritten file
2011-08-15 03:47:10 -04:00
Alexander Corrado
6a2a76216a
Generator: make interfaces partial, make filter files more expressive. Update qt bindings to build correctly out of the box
2011-08-15 03:39:12 -04:00
Alexander Corrado
cb888f8440
Hack up the build
2011-08-15 03:19:44 -04:00
Alexander Corrado
bdd77ead03
Reorganize Qt bindings
2011-08-15 03:17:35 -04:00
Alexander Corrado
a7770c3ab4
Oops that was only a mem leak for value types!
2011-08-14 20:54:56 -04:00
Alexander Corrado
c4a9e3a940
Fix invalid IL and memory leak returning by value (Itanium) and/or as value type
2011-08-14 17:45:50 -04:00
Alex Corrado
ee88d0caed
Add partial methods BeforeDestruct and AfterDestruct as hooks to help customize generated wrappers
2011-08-11 20:55:42 -04:00
Alexander Corrado
3d6f6f214c
Correctly adjust vtable indexes to account for removed duplicates
...
(see commit ec4699b
for explanation of problem)
2011-08-11 02:51:33 -04:00
Alexander Corrado
ec4699bed2
Test when an inherited virtual member is overridden and listed in a derived class's interface definition
...
This was causing problems because the method is not repeated in the primary vtable (it shows up in the position expected by the base class), but CppAbi does not know that it is inherited until after the impl has been emitted, so it emits the index that it is listed in the derived class.
Note that the generator only does this with virtual destructors (since we never call these virtually).
2011-08-11 02:02:25 -04:00
Alexander Corrado
14a7c4782b
Implement MethodSignature.ToString
2011-08-11 01:58:14 -04:00
Alexander Corrado
9b4206c960
Fix vtable layout for classes derived from classes with non-primary bases
2011-07-24 12:23:42 -04:00
Alexander Corrado
6cdba21cf6
Base derived type's initial gchandle delta off primary base's
2011-07-24 06:08:13 -04:00
Alexander Corrado
b9b2232c95
Call __cxxi_InitBases in derived types
2011-07-24 04:25:45 -04:00
Alexander Corrado
29aa72f872
FIXME: Managed override tramps need to support Itanium's return byval hidden argument
2011-07-24 04:23:52 -04:00
Alexander Corrado
da3a8dbea4
Generator: correctly deal with arbitrarily long inheritance chains
2011-07-23 17:13:12 -04:00
Alexander Corrado
1f6d968a12
Fix stack overflow
2011-07-23 15:00:10 -04:00
Alexander Corrado
adfd69958f
Misc fixes. Always generate all virtual methods in iface
2011-07-22 14:26:18 -04:00
Alexander Corrado
0d5dd66117
qt: add handwritten QString because generated version had problems
2011-07-22 03:04:03 -04:00
Alexander Corrado
474409c625
Do not always assume ICppObject; support structs too
2011-07-22 02:54:16 -04:00
Alexander Corrado
abbcad5411
Refactor CppAbi to move fields related to the type being emitted into CppTypeInfo
2011-07-22 02:52:05 -04:00
db12e4ecc4
Generator: do not try to init bases in the subclass ctor
2011-07-22 02:40:34 -04:00
Alexander Corrado
815a07e155
CppType: better primitive mapping and support generic System.Types
2011-07-21 01:24:32 -04:00
Alexander Corrado
f43eb3e050
Generator: fix property detection heuristics, fix ref arguments
2011-07-21 01:23:35 -04:00
f919eef6f9
Generator: support typedefs
2011-07-19 02:47:12 -04:00
0e070412a9
Refine Context a bit
2011-07-19 02:11:38 -04:00
b236465941
Add ByRef attribute for value types returned by ref and failing test
2011-07-19 01:20:54 -04:00
Alex Corrado
997f43cd73
Add failing CppField test
2011-07-18 21:38:53 -04:00
Alex Corrado
ee3d4917e8
Generator cleanup: escape C# keywords when used as identifiers in
...
wrappers
2011-07-18 03:07:13 -04:00
Alex Corrado
9b137abc10
Forgot to offset derived type's gchandle offset
2011-07-17 18:28:20 -04:00
Alex Corrado
ca23db9c92
Wrappers can now override virtual methods from non-primary bases
2011-07-17 17:59:42 -04:00