triton
cca70acea5
Skip implementation generation for proxy methods.
13 years ago
triton
5f4edce340
Extract field generation into its own method.
13 years ago
triton
1887f80dfd
Added declarations of class properties to CLI.
13 years ago
triton
80c987a1e6
Use an explicit cast instead of "as" since there should always be a namespace.
13 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.
13 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.
13 years ago
marcos henrich
e168e84d6a
Resolved ambiguity of System.Type and CppSharp.AST.Type
13 years ago
marcos henrich
10b4cde907
Added support to specify with TypeMaps, required includes and forward references of generic types
13 years ago
triton
ef7cd8ea47
Added support for IsOverride in the generators.
13 years ago
triton
2e97311423
Reference classes now implement the ICppInstance interface.
...
This will be used to add support for overrides of Equals and GetHashCode.
13 years ago
triton
acac3fc00d
Re-work handling of enum constants fixing signedness and formatting issues.
13 years ago
triton
7dca138287
Use fully qualified names in C# to minimize the chance of conflicts.
13 years ago
triton
815b9dcf37
Output the runtime helper in sources instead of headers.
13 years ago
triton
f47dc5bb07
Convert the C# backend to the new blocks system.
13 years ago
triton
0307acadab
Simplify library/symbols handling in the C# backend.
13 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.
13 years ago
triton
68ddfbdd6f
Move the AST project to the CppSharp.AST namespace.
13 years ago
triton
3f664784c9
Added support for CIL types to the type system.
13 years ago
triton
02be3857ed
Re-write code dealing with library symbol checking to respect the new symbol checking options.
13 years ago
triton
76cf2886c1
Add the generated output to the list of outputs when generating.
13 years ago
triton
0a7656e257
Fix the build.
13 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.
13 years ago
triton
cbe05e6253
Cleaned up TextTemplate class.
13 years ago
triton
300b8508a0
Use the AST utils methods to check for ignored declarations.
13 years ago
triton
4e4552186a
Generators now have a Process method to be able to do any custom processing.
13 years ago
triton
6dc4f120cb
Simplified the generators interface.
13 years ago
triton
cb85d8ead3
Move some helper functions out of the template and into an helpers class.
13 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.
13 years ago
Tom Spilman
aff035be93
Removed unnessasary unsafe in extern methods.
13 years ago
triton
ee1bc28879
Use the output namespace instead of the library name when generating function names signatures.
13 years ago
triton
c8ce6ad245
Added some documentation to some classes.
13 years ago
triton
20b0b76421
Remove the GenerateStart and GenerateAfterNamespaces methods from the ILibrary interface and replace them with delegates on each generator.
13 years ago
triton
13d1280dbb
Do per-generator pass initialization and switch the C# generator to use it.
13 years ago
triton
70f76588aa
Refactor file writing into the driver instead of duplicating it each generator.
13 years ago
marcos henrich
3310afee6e
Fixed generated CLI source code for native functions and native static methods
13 years ago
marcos henrich
55b05ecff9
Added missing arguments of CLI event raise
13 years ago
marcos henrich
7a9c1d19ba
Fixed constructor CLI calls, ::ClassName::ClassName() is now ::ClassName()
13 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).
13 years ago
triton
53bbc8c04b
Use Helpers.SafeIdentifier when sending parameters to marshaling to deal with invalid identifiers.
13 years ago
triton
0895429e65
When generating the setter method of a property, use the first method parameter type as the type for the setter.
13 years ago
triton
556ee78ac7
Collect the get/set methods used in properties so that we generate the needed internal function declarations.
13 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.
13 years ago
triton
6b5f218258
Use the previously declared local variable.
13 years ago
triton
bed7b4d8b7
Changed events parameters to be actual parameters rather than just types.
13 years ago
triton
e2fffddadf
Changed function/method return types to be qualified types.
13 years ago
triton
d27ec5aa1c
Desugar the pointee type when checking for primitive types in the marshaler.
13 years ago
triton
2301f4c7a9
Improved support for arrays in the marshaler.
13 years ago
triton
6759ec6754
Added better support for out parameters in the marshaler.
13 years ago
triton
001348d26d
Remove the shared library extension when printing it in DllImport declarations.
13 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.
13 years ago