triton
6814684072
Added virtual function overriding support to the C# backend.
12 years ago
Dimitar Dobrev
ef1828d710
Checked the desugared type when visiting pointer types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
31fe7760ad
Added 3 hacks so that QtCore reaches the end of code generation:
...
1. If an expression of an enum item is null, count it as non-hex;
2. Do not throw a NotSupported exception when a fixed array of an non-primitive type is encountered;
3. Provide some seemingly correct implementation for CppTypePrinter.VisitTemplateParameterSubstitutionType.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
7f8494ca94
Added generation of function pointers.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
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
0cf8c03aa3
PassBuilder is now generic. Driver Passes is now called TranslationUnitPasses. Added to driver GeneratorOutputPasses. Removed most of the PassBuilder Extensions.
12 years ago
marcos henrich
90efc99083
CheckIgnoreField has only one parameter now
12 years ago
marcos henrich
a45dbc7655
Fix template function generation. Return type should be created in TypePrinter.
12 years ago
marcos henrich
feef6ee80d
Removed class parameter from CheckIgnoreFunction, CheckIgnoreMethod and CheckIgnoreField from recent commits.
12 years ago
marcos henrich
57ce9d449d
Removed class parameter from CheckIgnoreFunction, CheckIgnoreMethod and CheckIgnoreField.
12 years ago
marcos henrich
777de80c3b
Resolved ambiguous type Type.
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
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
1887f80dfd
Added declarations of class properties to CLI.
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
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
e168e84d6a
Resolved ambiguity of System.Type and CppSharp.AST.Type
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
7dca138287
Use fully qualified names in C# to minimize the chance of conflicts.
12 years ago
triton
815b9dcf37
Output the runtime helper in sources instead of headers.
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
3f664784c9
Added support for CIL types to the type system.
12 years ago
triton
02be3857ed
Re-write code dealing with library symbol checking to respect the new symbol checking options.
12 years ago
triton
76cf2886c1
Add the generated output to the list of outputs when generating.
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
cbe05e6253
Cleaned up TextTemplate class.
12 years ago
triton
300b8508a0
Use the AST utils methods to check for ignored declarations.
12 years ago
triton
4e4552186a
Generators now have a Process method to be able to do any custom processing.
12 years ago
triton
6dc4f120cb
Simplified the generators interface.
12 years ago
triton
cb85d8ead3
Move some helper functions out of the template and into an helpers class.
12 years ago
triton
acc5885594
Added support for decayed types which represent a pointer type decayed from an array or function type which have been added to latest Clang.
12 years ago
Tom Spilman
aff035be93
Removed unnessasary unsafe in extern methods.
12 years ago
triton
ee1bc28879
Use the output namespace instead of the library name when generating function names signatures.
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