triton
80938b7937
Attempt to fix the tests by using a less broad fix for the unique names problem.
12 years ago
triton
c842d73243
Fixed invalid declaration name cleaning.
...
It could happen that by visiting the types of declarations, we'd wrongly reset the unique names counter. In this specific case, this was happening while visiting an event and its parameters.
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
Joao Matos
5016b485fe
Fixed FieldToPropertyPass to always visit complete class declaration.
12 years ago
Joao Matos
03f5998256
Fixed CopyClassFields helper to prefer complete declarations.
12 years ago
Joao Matos
db8c2cc99e
Fixed CheckMacroPass pass to work correctly for declaration contexts.
...
This has been broken since we started parsing preprocessed entities for all declarations. In the specific cases of declaration contexts (translation units and namespaces) we would be processing child declaration preprocessed entities and ignoring the whole contexts by mistake.
12 years ago
Joao Matos
3c27e0fad6
Improved generation of enumerations from macros.
...
We now keep track if a certain macro has already been generated in an enum and skip it in future calls to GenerateEnumFromMacros.
12 years ago
triton
8c0adad5f1
Fixed parsing bug and subsequent failing test in GenerateEnumFromMacros.
...
It now uses preprocessed entities instead of the soon-to-be-removed macros.
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
triton
22b6a3c11f
Use GenerateInternalFunctionCall when generating class constructors.
...
Fixes #149 .
12 years ago
triton
1b7947538a
Move all the testing infrastructure to CppSharp.Generator.Tests.
12 years ago
Joao Matos
b19cd1042e
Updated build scripts with OS X fixes and added some building documentation.
12 years ago
triton
c41d195b88
Improved the exception message for marshaling failures.
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
triton
b58a99ebf3
Some fixes to the codebase to work correctly with the new parser bindings.
12 years ago
triton
8a54d30917
Fixed a bug in ASTRecord that made us infinitely recurse in some code.
...
Basically we should not visit a declaration if we are visiting from a type.
12 years ago
Dimitar Dobrev
227e592c1a
Improved the marshalling of arrays.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
c853db5d34
Ignored operators which cannot be moved to a class because C# requires operators to be in their containing type.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
52cf3702a6
Minor formatting fixes.
12 years ago
triton
df4fdeace8
Fixed access check logic for declarations to allow non-public declarations in C#.
...
Checking for the GenerateAbstractImpls option is flawed since they are not entirely related.
12 years ago
triton
d7f776cbba
Removed property accessors ignored checking code.
...
The logic here is just wrong... first even if one of the accessors is ignored that does not mean we should ignore the whole property. Additionally, the code logic to check if an accessor is ignored is faulty, we can not rely on the return value of the Visit functions, but check if the declaration itself was ignored.
12 years ago
triton
e5c85179d2
Ignore note diagnostics.
12 years ago
triton
067b2e841a
Added a new pass to check for special macros known to CppSharp that can control binding behavior.
12 years ago
triton
7037c3dd4b
Whitespace cleanups.
12 years ago
triton
6e0a243322
Cleaned up some diagnostics to debug severity.
12 years ago
triton
0c12ef9bd5
Cleaned up some unused usings.
12 years ago
triton
4d70b60700
Renamed ASTContext parameter from "lib" to "ctx".
12 years ago
triton
a7f9e0bd9f
Check for and ignore decayed types since we cannot handle some cases.
12 years ago
triton
d09d2e9cf6
Simplified the property generation code.
12 years ago
triton
61dc4960f8
Added explicit constraint support to the experimental function templates generation.
12 years ago
triton
da2c6b0602
Added indentation support to the logging.
12 years ago
triton
a8c6e1f140
Fixed a problem with class operators not being correctly promoted to class operators.
...
We need to check all the parameters for a possible class to promote the operators.
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
0e38a74c13
Removed dependent types checking from type maps.
...
This fixes a regression, more work might still be needed in this area.
12 years ago
triton
c5d1d5d37b
Improved the formatting and diagnostic in ResolveIncompleteDecls pass.
12 years ago
triton
3a74428f94
Fixed delegate generation regression and added some tests.
12 years ago
triton
24fcf02978
Formatting fixes.
12 years ago