Граф коммитов

128 Коммитов

Автор SHA1 Сообщение Дата
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
Alex Corrado 33416d2b0a Fix build errors that pop up in VS/ mcs master 2011-07-06 01:39:28 -04:00
Alex Corrado 0dca42261f Re-rename the dir to match the updated makefiles 2011-07-06 00:32:23 -04:00
Alex Corrado a3d257464a Add missing TypeComplete check to fix vtable layout bug 2011-07-06 00:20:24 -04:00
Alex Corrado 57d3d80710 Fix wrong directory case in makefile. Fix building from monodevelop. Update gitignore 2011-07-06 00:20:23 -04:00
Alex Corrado 6f371d68f9 Clean up makefiles a bit. Add pkg-config macros needed to build on Mac 2011-07-06 00:20:23 -04:00
Andreia Gaita 3ebfa3206a Fix dir name 2011-07-04 11:30:38 +01:00
Alex Corrado f994b3f338 Initial support for downcasting wrappers from non-primary base to subclass 2011-07-04 03:03:09 -04:00
Alex Corrado 1a404682f0 Update roundtripping test to also test native ptr to non-primary base 2011-07-01 22:27:33 -04:00
Alex Corrado 0210644c4d Give test suites more general names 2011-07-01 21:41:57 -04:00
Alex Corrado 891d799cbc Sexy new name, cxxi 2011-06-28 04:46:25 -04:00
Alex Corrado 7ebba74718 Detect managed instances by vtptr and retrieve original wrapper instance instead of rewrapping 2011-06-28 03:29:48 -04:00
Alex Corrado c4a0bf6b8a Fix incorrect IL emitted in marshaling of ICppObject. 2011-06-26 17:48:37 -04:00
Alex Corrado 6a8bec014e Fixes for virtual dispatch for multiple inheritance.
+ Fix Itanium vtable layout: derived type's virtual methods come after primary base's but before the rest of the base classes'
+ Wrapper cleanup: move common init code to methods, cache all casted base wrappers right away in preparation for patching base-in-derived vtptrs
+ CppInstancePtr: read native_vtptr when constructed with native ptr-- will need hash lookup to detect managed instances
+ Clean/refactor LazyGeneratedList
2011-06-23 03:19:37 -04:00
Alex Corrado 0febce15f3 Begin hacking on per-instance vtptr. More failing tests. 2011-06-21 06:32:49 -04:00
Alex Corrado b8bba69a81 Correctly generate managed override trampolines for native subclass wrappers 2011-06-16 14:27:21 -04:00
Alex Corrado 462175cfc7 Override the specific method named in the OverrideNativeAttribute 2011-06-16 14:22:01 -04:00
Alex Corrado 601ef7f28f Add failing virtual dispatch tests 2011-06-14 00:10:36 -04:00
Alex Corrado 515b3c7295 T4 cleanup and add native fields 2011-06-14 00:07:38 -04:00
Alex Corrado c38e5fbb78 Remove remaining build artifacts related to Mono.VisualC.Code 2011-06-13 05:24:12 -04:00
Alex Corrado 2ade762c7e Generator: rewrite to use T4 templates instead of CodeDom 2011-06-13 05:13:07 -04:00
Alex Corrado 40578e03fa Remove old CodeDom-based Mono.VisualC.Code 2011-06-12 22:49:42 -04:00
Alex Corrado a74d9393e6 Initial support for calling virtual methods of non-primary base classes 2011-06-07 19:48:17 -04:00
Alex Corrado 984639042f Generator: call subclass constructor on non-primary base classes 2011-06-07 19:45:36 -04:00
Alex Corrado 9fb8aee0a9 Minor improvements to virtual dispatch tests 2011-06-07 19:43:38 -04:00
Alex Corrado 6ff42bca4d Add tests for virtual dispatch and inheritance 2011-06-06 18:24:39 -04:00
Alex Corrado 9ba550bc02 Generator: begin to support multiple inheritance.
+ Methods/properties from non-primary base classes will be included in subclass wrapper.
+ Add cast operator from subclass to non-primary base class(es).
2011-06-05 18:48:08 -04:00
Alex Corrado cc5623da09 Stubbed CppTypeInfo.Cast<TBase>(ICppObject subClass) 2011-06-05 18:40:50 -04:00
Alex Corrado 24fc4f8aae Fix Equals and GetHashCode in MethodSignature and friends 2011-06-05 18:38:35 -04:00
Alex Corrado 3ad3fd8923 A little more test reorganization. They all pass now.. HOORAY! 2011-05-27 22:43:57 -04:00
Alex Corrado 179207fb18 Implement better metadata sharing among types whilst they are being emitted.
Implement correct Itanium pass-by-value and return-by-value semantics.
2011-05-27 22:25:22 -04:00
Alex Corrado fcdb41de33 Fix generated wrappers so tests run correctly given current state of runtime component.
+ Tweak access modifiers
+ Add inline method policy option
+ Remove alloc ctor and add native ctor
+ Remove "native_layout" field (now unnecessary with next commit)
+ Correctly add ByVal attribute to return type if applicable
2011-05-27 22:17:57 -04:00
Alex Corrado 5a7127ca6b Some more build tweaks for building from Monodevelop 2011-05-27 22:05:59 -04:00
Alex Corrado fa8dde405d Integrate all tests to use NUnit. Get tests building / running. 2011-05-24 17:17:43 -04:00
Alex Corrado 1f3bee8d81 Fix up build.
+ Rewrite / clean up makefiles.
+ Enable makefile integration in MD to keep everything in sync.
2011-05-23 22:27:40 -04:00
Alex Corrado 19e8cb3d2b Clean up and reorganize source tree.
+ Consolidate tests; remove src/CPPTestLib, src/Tests, tests2 directories.
+ Move MD solution to root dir.
2011-05-23 15:42:00 -04:00
Alex Corrado 4c73c29878 Make certain CppTypeInfo properties read-only 2011-05-18 15:47:56 -04:00
Alex Corrado 58659ff125 Whitespace 2011-04-04 06:53:40 -07:00
Alex Corrado 6d50960ebb Reimplement CppField functionality 2011-04-04 03:43:03 -07:00