Øystein Krog
d3e963ff19
Move helper methods in Type out from class and into extension class TypeExtensions
12 years ago
Dimitar Dobrev
72089a499e
Marshalled C++ char as Mono/.NET char instead of sbyte for a more friendly API.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
556e91554f
Ignored protected members of value types. Used a constant for the instance identifier to improve performance.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
fee1809ca5
Wrapped copy constructors.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
24a8db6a32
Fixed the generation of internal implementations of abstract classes to actually work.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
2e2f277b30
Ensured the internals of mapped classes are generated.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
8d9ff9515e
Generated dependent fields if they are of a union type.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
648e47570d
Checked for symbols before calling destructors.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
99849da1d1
Added preliminary support for char16 to avoid crashes because of null parameter types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
66363787b4
Stubbed support for pack expansions to avoid crashes in certain cases such as variadic templates.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
11ef53df10
Generated all internals of all (including ignored) classes and all of their fields in order to properly store objects in managed code.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
85e56de487
Applied Helpers.SafeIdentifier in the name-cleaning pass in order to get correct names in type maps.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
d92bc31a71
Replaced a call to == with ReferenceEquals when checking for null to avoid cycles in == operators.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
fe6378a88a
Added an additional property to type maps indicating if they actually provide marshalling (useful if only copy constructors are replaced).
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Øystein Krog
663c91e443
Add support for fields with expressions (values) in CSharpTextTemplate
12 years ago
Øystein Krog
df7c1371a6
Pass in an CSharpExpressionPrinter instance to CSharpTextTemplate
12 years ago
Øystein Krog
240d2db53d
Add new IExpressionPrinter interface, with CSharpExpressionPrinter implementation
12 years ago
Dimitar Dobrev
59e0fb9ede
Generated correct v-tables when using the Itanium ABI.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
gpetrou
1ec9686111
Added default option to avoid generating ICppMarshal interface in the output files.
12 years ago
Dimitar Dobrev
cfeed2619a
Extended type maps with the ability to insert custom code instead of a copy ctor invocation.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
4c5d933cd2
Added support for marshalling arrays of pointers to primitives.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
478d475661
Wrapped pointers to primitives as such.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
76cf4e68d8
Simplify declaration ignores by removing IsProcessed and fixing ExplicitlyIgnored to be recursive like the others ignore properties.
12 years ago
Øystein Krog
c191d0b337
Add new option (DependentNameSpaces) that allows for specifying custom using statements/namespaces in generated units
12 years ago
Dimitar Dobrev
e1a12027ec
Wrapped value typed fields with properties in order to have changes reflected to the native pointer.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
3c7709e5cd
Fixed the C# generator to wrap void* as IntPtr.
12 years ago
triton
a58bf5b81b
Changed the visibility of native constructor to public (to match the CLI backend).
12 years ago
triton
0f76dc0090
Added experimental destructors/finalizers support.
...
This has exposed some underlying bugs on some pieces of generated code, so I've put it under an option temporarily.
Fixes #148 .
12 years ago
Dimitar Dobrev
9686187eb1
Wrapped properties of non-primitive value types as fields.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
b47fa98c94
Fixed a regression when marshalling arrays. Migrated the C++/CLI back-end to property usage.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
aa5b66a4ab
Wrapped fields of structures with properties.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
0954ad0c7e
Fixed destructors by keeping track when they are non-trivial.
12 years ago
triton
22b6a3c11f
Use GenerateInternalFunctionCall when generating class constructors.
...
Fixes #149 .
12 years ago
triton
51bff527e3
Fixed native function mangling scheme.
12 years ago
triton
3fd94bf482
Added better support for destructors.
...
Also changed the native identifier mangling scheme to add some shorthand for the type of special method. This makes it simpler to read through the generated binding code.
Hopefully fixes #142 .
12 years ago
triton
3a3f405fa9
Fixed wrong property setter type for some declarations.
...
Some operators, like operator[], actually need the getter return type.
12 years ago
triton
72aa09009d
Fixed a C# generation crash with set-only properties.
...
We cannot use the getter return type because it might not exist (setter-only property). Use the setter's first (and only) parameter return type instead.
12 years ago
Dimitar Dobrev
227e592c1a
Improved the marshalling of arrays.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
52cf3702a6
Minor formatting fixes.
12 years ago
triton
7037c3dd4b
Whitespace cleanups.
12 years ago
triton
a5ebd151cf
Reworked the way we generate constructors and destructors to always use the actual class name.
...
Fixes some problems that might happen with method declarations with names that don't match the their containing class.
12 years ago
triton
e835d5086a
Remove useless code.
12 years ago
triton
62f81e16f1
Reworked pointer marshaling in C# and CLI.
...
We are now more consistent between backends, specifically we need to make sure
to avoid directly visiting the desugared type since we might lose type maps when
handling typedefs.
12 years ago
triton
b5e947881b
Fixed the generation of 'ToInternal' to check for null only fields of a ref type.
...
Part of the patch by @ddobrev .
12 years ago
Dimitar Dobrev
d583b489a3
Fixed the returning of empty values when the returned type is a structure.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
c5f2acacc6
Fixed the wrapping of instance operators to account for fixed instances.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
06b83ee3fc
Changed the generation of method bodies to avoid duplication of local variables when a fixed instance is required.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
b808117566
Cleaned up the default diagnostics output to be more concise.
12 years ago
triton
6402c3ca55
Added support for C++ attributed types to the parser, AST ,generators and tests.
12 years ago
Dimitar Dobrev
6dcb8fa593
Added the option to have attributes generated.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago