marcos henrich
3237a7b421
Template method PopBlock now returns the active block.
12 years ago
marcos henrich
c061cf5be4
Added property IsEmpty to Block.
12 years ago
triton
e95a2929a8
Fixed handling of property indexers in the CLI generator.
12 years ago
triton
5b15b27312
Fixed CLI marshaling to take typedefs into account when handling pointer to primitive types.
12 years ago
Elias Holzer
ba03f64f65
Do not write the fixed keyword multiple times for nested array types.
12 years ago
triton
21efb8fc83
Fixed a bug by removing this weird looking code from the C# marshaller.
...
The test suite still passes too.
12 years ago
triton
08255907de
Fixed C# and CLI backends to check for null values when marshaling classes.
12 years ago
triton
7faa50d945
Fixed native symbol naming.
...
We now properly name the internal ctor declarations by constructor type.
We also now keep an index for each function that is used to unique their native name.
12 years ago
Øystein Krog
065b8054b2
Add PrimitiveType.UIntPtr in AST and code generators
12 years ago
Ø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
triton
8e9d4f9c31
Fixed generation of copy constructors for CLI value types.
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
triton
0a102d8fbc
Added better wrapping for static classes.
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
74007bedd1
Fixed wrong indenting in output by using the block API for fields.
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
triton
3849c0e0c0
Fixed type maps processing bugs.
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
37bccb446d
Removed type map matching from VisitDeclaration.
...
We should only try to find type maps for types, else we can match type maps wrongly if the declaration name happens to have the same name as the one the type map tries to match on.
12 years ago
triton
819df6a2a2
Fixed CLI generation with references to pointers types (added a test).
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
d49a1eedb1
Use the existing instance identifier constant in the CLI backend to match the C# generator.
12 years ago
triton
6edfe6599e
Fixed generation regression leading to unnecessary access specifiers in some cases.
...
This was introduced in PR151 (Field properties).
12 years ago
triton
86c651625c
Added a new block policy to only generate a block if the following is not empty.
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