triton
a1c4885610
Fixed the output of forward references in CLI headers.
...
We now use a sorted set to prevent duplicated references and have a stable ordering.
12 years ago
triton
4289633dcf
Fixed CLI newline behavior for some declarations.
12 years ago
triton
e835d5086a
Remove useless code.
12 years ago
triton
b808117566
Cleaned up the default diagnostics output to be more concise.
12 years ago
triton
1133b6c935
Fixed delegate generation problem.
12 years ago
triton
fed9031775
Fixed support for C++ conversion operators.
12 years ago
Stephen Kennedy
0957843c4d
Unify debugging output
...
Route all debugging output through Driver.Diagnostics
12 years ago
triton
565d73a4d0
Fixed CLI type references to work correctly with library namespaces.
12 years ago
triton
b91ac99576
Reworked the CLI type references collector and generation code.
...
We now properly handle type references to namespaces that do not exist in the referencing translation unit. We do this by collecting all the references for all namespaces in the translation unit and generate a block with all the forward references.
12 years ago
triton
c0c212928d
Reworked CLI type references to only filter namespaces only filter (effective) namespaces when generating forward references and not includes.
12 years ago
triton
18b1515412
Fixed generation of unions.
12 years ago
triton
c7b7e2c703
Fixed generation of nested declarations in classes.
12 years ago
triton
fb00f8e7b5
Improved the CLI include collector to keep track of originating translation units.
12 years ago
triton
2981c497dc
Remove extra newline from the output.
12 years ago
triton
0c64c06271
Remove extra newline from the output.
12 years ago
triton
2916703e4c
Refactored enum item generation in CLI backend to use blocks.
12 years ago
triton
8c0c76ca59
Reworked operator overloading support.
12 years ago
triton
c8e7369d7b
Added extra newline in generated output.
12 years ago
triton
432dad4692
Added nested class enums generation in CLI backend.
12 years ago
triton
2df3d0d260
Reworked the CLI headers enum generation to use blocks.
12 years ago
triton
77df53cefb
Removed union restrictions in CLI backend.
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
triton
c4aaa2162a
Write new lines between method blocks.
12 years ago
triton
ba3e84a12c
Fixed handling of overriden methods.
12 years ago
triton
2b3a8f79e4
Fixed the documentation comments support in the generators to use the new comment APIs.
12 years ago
marcos henrich
a45dbc7655
Fix template function generation. Return type should be created in TypePrinter.
12 years ago
marcos henrich
57ce9d449d
Removed class parameter from CheckIgnoreFunction, CheckIgnoreMethod and CheckIgnoreField.
12 years ago
marcos henrich
ca569eb334
Better template function generation, less manual fixes are needed after generation.
12 years ago
marcos henrich
dc8ecc9d2e
Removed unnecessary override keyword from interface method implementations.
12 years ago
marcos henrich
61986172e7
CLIHeaderTemplate an CLISourcesTemplate now take care of properties with only a getter or s setter, and properties using fields that for now always have a getter and a setter.
12 years ago
marcos henrich
78ab63086a
CLIHeadersTemplate.cs now always tries to generate properties even when it is a value class. This is done because now fields should be converted to properties with FieldToPropertyPass.
12 years ago
triton
1887f80dfd
Added declarations of class properties to CLI.
12 years ago
marcos henrich
06ab4864e2
Added TypeReferenceCollector used for include and forward reference printing. TypeMaps are now able to add includes and forward references. Record system allows more complex situations where you need a declaration's origin type/declaration.
12 years ago
marcos henrich
10b4cde907
Added support to specify with TypeMaps, required includes and forward references of generic types
12 years ago
triton
ef7cd8ea47
Added support for IsOverride in the generators.
12 years ago
triton
2e97311423
Reference classes now implement the ICppInstance interface.
...
This will be used to add support for overrides of Equals and GetHashCode.
12 years ago
triton
acac3fc00d
Re-work handling of enum constants fixing signedness and formatting issues.
12 years ago
triton
815b9dcf37
Output the runtime helper in sources instead of headers.
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
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
triton
c8ce6ad245
Added some documentation to some classes.
12 years ago
triton
20b0b76421
Remove the GenerateStart and GenerateAfterNamespaces methods from the ILibrary interface and replace them with delegates on each generator.
12 years ago
marcos henrich
55b05ecff9
Added missing arguments of CLI event raise
12 years ago
triton
bed7b4d8b7
Changed events parameters to be actual parameters rather than just types.
12 years ago
triton
d3d7e1f2d6
Use the regular templates since classes are now regular declaration contexts and they do not have a separate container for FunctionTemplates.
12 years ago
triton
d37cca5ca1
Changed the return type of functions to be a qualified type.
12 years ago
triton
cc8f7cd1db
Renamed Cxxi references to CppSharp.
12 years ago
triton
128750df4c
Rework the C# type printer to return more information than just a string (CSharpTypePrinterResult).
12 years ago