triton
df01104ab7
Fixed GetFunctionNativeIdentifier to work with function operators.
12 years ago
triton
a964df9069
Renamed HiddenStructureReturn to IndirectReturnType as it is a lot more clear.
12 years ago
Dimitar Dobrev
5208fafef7
Moved GeneratedIdentifier to the base Generator so that the former is available to all back-ends.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
cd65094792
Fixed the generation of virtual tables to use the new format of internal generated identifiers.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
8312ff0a20
Removed the hard-coded "ret" variable.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
01d3779e2b
Corrected the generation of the native constructor when in a structure.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
64fb8ecbc0
Used the qualified identifier when allocating return values, to handle nested types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
712a3904a6
Removed the "protected" modifier of setters when in a structure. Changed a generated local variable to a non-conflicting name.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
cd8d893601
Fixed the class containing context functions to be unsafe.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
9dfb30265e
Simplified GetFunctionIdentifier and GetFunctionNativeIdentifier.
12 years ago
triton
62078d449e
Simplified generated code dealing with hidden structure parameters.
12 years ago
triton
d8adef816b
Copy constructor P/Invokes are now generated in C# backend.
12 years ago
Dimitar Dobrev
978a400251
Removed the "protected" and "virtual" modifiers of "Dispose(bool)" when the containing type is a structure.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
db1c413f87
Ensure safe property and variable names.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
66ea1cd62c
Ignore any mangled declaration not found in library symbols.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
9161e58cf8
Ignored functions not found in library symbols.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
c490d25e74
Reworked property handling to check if each property getter/setter can be generated.
...
Fixes a bug where we tried to generate a setter for a const field.
12 years ago
Dimitar Dobrev
652c6e1011
Stripped "lib" from the beginning of a library name for compatibility with the .NET (that is, on Windows) way of importing DLL-s.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
58b2529df3
A simple prototype for supporting unions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
d59e46bbc3
Removed useless code.
12 years ago
triton
6130c896fc
Extracted internal parameter gathering in its own method.
12 years ago
triton
eb909c6fba
Added an "argument prefix" generator to the C# context so typemaps can add prefixes before arguments are generated.
12 years ago
triton
beead40dec
Fixed handling of field properties in C# backend.
12 years ago
triton
d4b4ec6793
Minor code cleanups.
12 years ago
triton
e5ba3ac401
Reworked C# type printing and marshaling to keep the root full type in the respective contexts.
...
This allows us to access the root type in the type maps to do proper handling of pointers. It's a bit of an hacky approach and it will be improved once there is a better more general type matching framework.
12 years ago
triton
ee3641338c
Rework class fields generation in the C# backend to be simpler and behave correctly under more situations.
12 years ago
triton
3e505737d7
Rework the handling for functions that need hidden structure parameters.
...
The main changes are:
- The original return type is now kept as the type of the generated parameter
- The return type of the function is set to void to represent what is actually happening.
This also fixes a bunch of bugs related due to using the wrong return type in some places.
12 years ago
triton
6814684072
Added virtual function overriding support to the C# backend.
12 years ago
triton
f2999bafd0
Add the 'virtual' keyword in the C# generated method signatures.
12 years ago
triton
2b3a8f79e4
Fixed the documentation comments support in the generators to use the new comment APIs.
12 years ago
triton
7dacbce44d
Check if all overloads actually exist before gathering them for internal function processing.
12 years ago
marcos henrich
90efc99083
CheckIgnoreField has only one parameter now
12 years ago
marcos henrich
57ce9d449d
Removed class parameter from CheckIgnoreFunction, CheckIgnoreMethod and CheckIgnoreField.
12 years ago
triton
f1f5723157
Use a constant displacement for block ids so they do not conflict with CLI ones.
12 years ago
triton
cca70acea5
Skip implementation generation for proxy methods.
12 years ago
triton
5f4edce340
Extract field generation into its own method.
12 years ago
triton
80c987a1e6
Use an explicit cast instead of "as" since there should always be a namespace.
12 years ago
Bright Twin
7c19f5f7db
Added global:: prefix to all System.IntPtr references in the C# code generator.
...
Without this qualification it is possible for the generated code to have namespace clashes with nested System namespaces in the code being wrapped.
12 years ago
marcos henrich
e168e84d6a
Resolved ambiguity of System.Type and CppSharp.AST.Type
12 years ago
triton
ef7cd8ea47
Added support for IsOverride in the generators.
12 years ago
triton
acac3fc00d
Re-work handling of enum constants fixing signedness and formatting issues.
12 years ago
triton
f47dc5bb07
Convert the C# backend to the new blocks system.
12 years ago
triton
0307acadab
Simplify library/symbols handling in the C# backend.
12 years ago
triton
b9e57dba78
Re-write the blocks generator again (thanks to esdrubal for helping me with the new design).
...
Now the whitespace/new line handling is done by the output generator per block, instead of having to be managed manually which could lead to all sorts of messy output without being extra careful.
Also the new system limits the usage of generics since C# was too limited to design it properly, and it ended up being more trouble than it was worth. The blocks kinds were also changed to be const int, since enums are very hard to extend and made it hard to provide a common interface for dealing with blocks.
12 years ago
triton
68ddfbdd6f
Move the AST project to the CppSharp.AST namespace.
12 years ago
triton
02be3857ed
Re-write code dealing with library symbol checking to respect the new symbol checking options.
12 years ago
triton
0a7656e257
Fix the build.
12 years ago
triton
6308cf4c3c
Added a new templating system based on typed "text blocks", allowing a lot more customization after the initial text is generated.
...
The design might still change a bit in the future, but this is a good first step in getting things in the final direction without having to change too much the current generators.
12 years ago
triton
300b8508a0
Use the AST utils methods to check for ignored declarations.
12 years ago
Tom Spilman
aff035be93
Removed unnessasary unsafe in extern methods.
12 years ago