Dimitar Dobrev
62a0857613
Copied all entries to the patched Itanium v-table.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
784a939c66
Ensured generated overridden properties are as simple as possible.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
dcb70b6ad0
Removed the now useless internal declarations for virtual non-operators.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
4e981a80e6
Fixed a bug when wrapping virtual properties overridden in indirect derived types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
dc95c8d8c8
Fixed the bodies of functions overriding indirect virtuals.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
b15735d539
Generated GetHashCode in the C# front-end.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
4584ae7485
Fixed warnings in the generated code by properly using "new".
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
fa0e66687d
Fixed abstract implementations and bodies of overrides to properly handle abstract overrides.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
ae805eca31
Simplified overrides by just calling the base - all goes through the v-table anyway.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
ff76962bf9
Fixed a potential naming conflict.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
1b5de25f8c
Removed implementations for ignored abstract types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
triton
8a510e4ac9
Workaround abstract implementations being generated even if there's no valid base class.
10 years ago
triton
d06c42129f
Fixed GenerateClassFields to only process actual base classes.
...
More specifically, TemplateParameterType was also coming up here.
Rather than checking for specific dependent types just check that we have a base class.
10 years ago
Dimitar Dobrev
f848f62180
Some refactoring to remove redundant members and casts.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
80643e0457
Added support for parameters with type a reference to a fixed-size array.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
5dca339ff2
Forbid the disposal of unowned objects and simplified the generated code.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
d769a81ade
Called virtual destructors through the virtual table.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
cc97558bbe
Replaced the redundant references for v-tables with the native-managed map.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
235c556374
Simplified the generated code for v-tables.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
72f062c56f
Reused the virtual call for calls to abstract impls.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
289720d31b
Only hooked the v-tables of wrapped C++ pointers when they have virtual dtors.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
7f8fa9100c
Removed references for v-tables upon destruction of the object.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
f33ae8b801
Revert "Factor the saving of original vtables pointers to its method."
...
This reverts commit 03f610f528
.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
triton
89cdf8b997
Reworked per-Abi vtable code to correctly handle all platforms.
10 years ago
triton
03f610f528
Factor the saving of original vtables pointers to its method.
10 years ago
triton
e2b74a7697
Implemented virtual function call handling.
...
Closes issues #402 , #496 .
Thanks to Abhinav for his pull which I based this work on.
10 years ago
triton
bc3ace2205
Rework __OriginalVTables to be unique per instance.
...
We need to take into account that the original vtables might differ per object instance.
10 years ago
triton
d4cd37ec11
Rename the VTable field names in the generated code to be more specific.
10 years ago
triton
24eb7cf825
Fixed VTables.GetVTableIndex to work with base/derived overrides.
10 years ago
Dimitar Dobrev
007fb4b57c
Removed parameters wrapped in v-table delegate hooks from the native to managed map.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
triton
0108a5a23e
Invert the if condition to reduce nesting.
10 years ago
Dimitar Dobrev
c4a5cdb893
Fixed the v-table hooks for functions with indirect return params.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
c28b8db3e5
Removed the TODO-s about marshalling char and bool because those are not bugs.
...
See https://msdn.microsoft.com/en-us/library/ef4c3t39.aspx and https://msdn.microsoft.com/en-us/library/75dwhxf7.aspx .
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
91b3a5aef1
Worked around an MS .NET bug which prevents marshalling bools in certain cases.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
cdd6e0eaa8
Restored a deleted piece that helps generate simpler code.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
170e0a5934
Removed char from internal fields because marshalling is broken.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
triton
6623161200
Workaround Mono crasher bug when handling P/Invokes with fixed arrays.
...
https://bugzilla.xamarin.com/show_bug.cgi?id=33571
10 years ago
triton
4db4bfa567
Do not use safeIdentifier id to store the full type name (refactoring).
10 years ago
Abhinav Tripathi
364ea2660f
Fixed code gen for out Parameters.
10 years ago
Abhinav Tripathi
2df3722a14
Fixed getter code for static REf Type arrays.
10 years ago
Dimitar Dobrev
9377845ba7
Decreased the pass for abstract impls in half.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
6432d910fa
Removed the memory leak in the AST converter.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
922c329d78
Fixed uncompilable code when a virtual function has a param called "target".
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
ea8e167e6e
Prevented duplication when a class and its base each have a field with the same name.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
9d9d7b520a
Generated correct code when overriding a property from an indirect secondary base.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
b7187c80c7
Generated valid code when C++ changes method access when overriding.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
a2b8614f54
Improved the support for constructor expressions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
0930360cd5
Ensured conversion operators from primitive pointers pass the correct values.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Abhinav Tripathi
dd941d9191
Added marshalling of primitive ptrs to ref type.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
b6c16051af
Fixed the wrapping of mapped types with operators.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago