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
triton
c0c675b4c0
Check for not processed or explicitly ignored functions instead of just ignored, since ignored also checks for IsGenerated which is incorrect in this instance (eg. we dont want to generate wrapper methods for getters, but we still need their internal declaration for properties).
12 years ago
triton
53bbc8c04b
Use Helpers.SafeIdentifier when sending parameters to marshaling to deal with invalid identifiers.
12 years ago
triton
0895429e65
When generating the setter method of a property, use the first method parameter type as the type for the setter.
12 years ago
triton
556ee78ac7
Collect the get/set methods used in properties so that we generate the needed internal function declarations.
12 years ago
triton
5dce147d77
Refactored the internal function generation code to collect all the declarations first and only then generate the needed functions. We also store them in a set to deal with duplicated entries.
12 years ago
triton
bed7b4d8b7
Changed events parameters to be actual parameters rather than just types.
12 years ago
triton
001348d26d
Remove the shared library extension when printing it in DllImport declarations.
12 years ago
triton
a223bb3311
Stop using fixed pointers and treating the managed and native layouts as equivalent and use the To/From marshaling methods as its more safe.
12 years ago
triton
f9accf226b
Call the default constructors for value types so all fields are initialized.
12 years ago
triton
b4e66d578a
Formatting fixes.
12 years ago
triton
5077adb8c9
Added better support for pure virtual functions.
12 years ago
triton
df4e435dd0
Added better support for non-C# supported operator overloads.
12 years ago
triton
ef5dcc505f
Generate helper constructors that take the native version of the class/struct.
12 years ago
triton
6d8af9776f
Refactored the variable wrapping code to work with pointers.
12 years ago
triton
41b7085c0e
Added better support for events.
12 years ago
triton
0c22de2949
Added better support for generating global/namespace functions.
12 years ago
triton
868515303b
Refactored some function/method generator code to make it easier to re-use.
12 years ago
triton
c6995fed90
Simplified the marshaling code by just calling generated methods to do the marshaling instead of doing full marshaling in each instance.
12 years ago
triton
6010459bdc
Changed GetOperatorIdentifier to be a static method.
12 years ago
triton
d531e40e5f
Added better wrapping for out parameters.
12 years ago
triton
501157f688
Remove unused method GenerateValueTypeConstructorCall.
12 years ago
triton
589306ec14
Removed a lot of complexity when wrapping of fields to use unsafe pointers and actually use the existing marshaling logic instead of replicating it with weird manual pointer arithmetic.
12 years ago
triton
4a222b0320
Renamed GeneratedOperator to GenerateOperator.
12 years ago
triton
bf35ce0f04
Simplify GetFunctionNativeIdentifier.
12 years ago
triton
b41d3cfb6e
Remove one-line method GenerateStructMarshaling and inline its content where it was called.
12 years ago
triton
1467c086b6
Use GenerateClassFields to generate internal class fields instead of duplicating the logic. Fixes struct inheritance handling.
12 years ago
triton
383850437e
Re-use the generator CSharpTypePrinter instance in CSharpTextTemplate.
12 years ago
triton
e57c435426
Fixed some incorrect behavior with nested types in the CheckAmbiguousOverloads pass by fixing GetFunctionOverloads to be dynamically dispatched instead of using some weird manual type checking.
12 years ago
triton
392843cf9b
Instead of failing to generate methods with not found symbols, use a fallback "SymbolNotFound" symbol which at least makes the generated wrappers compile.
12 years ago
triton
3da1199e3d
Fixed generation of static methods by processing it right in the parser and generator.
12 years ago
triton
ffb1725538
Use a fully-qualified name when generating class bases to fix name conflicts.
12 years ago
triton
6c2e73372e
Process classes as declaration contexts too making sure we generate nested declarations like typedefs, enums and classes.
12 years ago
triton
74404222c2
Unify the namespace and declaration context handling.
12 years ago
triton
e57e22e3b8
Wrap the Instance identifier name into its own property and change the code to use it.
12 years ago
triton
80dd6b75c1
Fix whitespace inconsistency by needing a newline when generating functions.
12 years ago
triton
0f223f2852
Convert the GetFunctionOverloads return to a list to use IndexOf.
12 years ago
triton
b32de20d65
Check if the class has a base class instead of just a base.
12 years ago
triton
d1c9737d0c
Search for mangled symbols for functions in addition to variables.
12 years ago
triton
8237110115
Remove the useless GeneratePInvokeMethod method.
12 years ago
triton
1be1972907
Added support for function-backed properties to the C# backends.
12 years ago