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