triton
0cc9446fe7
Refactored the parser class.
12 years ago
triton
c5e9008b47
Extracted the Options class to its own file.
12 years ago
Dimitar Dobrev
f348a80c32
Moved the improved property pass to a new class. Added the list of verbs as a resource in premake.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
19bae92f9b
Added a fake option so that the build stays healthy since the C++/CLI-back-end does not properly support properties yet.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
824d8b5f30
Rewrote the generating of properties to additionaly handle property overrides and read-only properties.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
91508c9b0b
Reworked the SharedLibraryName option to return the LibraryName as default value if not set.
12 years ago
Dimitar Dobrev
3a9eef1e80
Added a new pass converting all parameter types to their respective interfaces, if any.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
d7a91d1719
Added a fake option for multiple inheritance so that the build stays healthy.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
6ef578cd6a
Removed the generation of protected members of interfaces.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
37f09c04ef
Added a pass to generate interfaces with the purpose of simulating multiple inheritance.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
7dde8df3e1
Generated the inlines only when using the C# back-end because the CLI one does not need them.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
083dc3a9f8
Improved the generation of indexers by removing const overloads of []. NOTE: did that by removing the method type check in the pass for ambiguous overloads.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
f38fa134e4
Added an option for an encoding.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
74ec730811
Some reordering of code and improved logging.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
42a1af6503
Added a pass for generating wrapper code and definitions for inlines and an option for the name of the lib with inlines. Ignored non-tag indirect return types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
ec92508726
Moved the finding of symbols after the custom passes. Gave a default value to the output dir.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
816c946790
Added a hard-coded for the time being option indicating whether the wrapped lib is 32-bit and used that option to generate the v-table offsets.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
19cb1f5470
Added an off by default option for generating abstract implementations because the MS ABI branch does not always work.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
7d3ee70a73
Renamed AbstractImplementationsPass to GeenrateAbstractImplementationsPass.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
6d2c0eaed8
Generated internal implementations of abstract classes in a new pass.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
c66c34d4a9
Renamed the CLI language generator kind to be more uniform.
12 years ago
triton
c93e77166c
Added a new option GenerateInternalImports that outputs "__Internal" as the library name for DllImports. Fixes #54 .
...
For more details about what it does: http://www.mono-project.com/Embedding_Mono#Exposing_C_code_to_the_CIL_universe ).
12 years ago
triton
871a05511c
Added a new pass that checks for ambiguous overloads.
12 years ago
triton
caeb1d2f67
Added new pass CheckVirtualOverrideReturnCovariance that checks if a pair of return types in overriden methods are covariant according to the C++ standard.
12 years ago
triton
7f8f9289a1
Run CheckOperatorsOverloadsPass under both backends.
12 years ago
triton
14dbe76e9d
Run CleanInvalidDeclNamesPass earlier because some later passes need the names to be cleaned up.
12 years ago
triton
5ada754d72
Reworked MoveOperatorToClassPass to be simpler and correct.
12 years ago
triton
6b0cb59f8a
Added RunPasses to PassBuilder and change existing code to use it.
12 years ago
triton
62015b08e4
Added some helper properties to check generator kind.
12 years ago
triton
a5363e2f6c
Added new quiet option in the driver that does not output unnecessary information.
12 years ago
triton
16c13f6a16
Remove console buffering hack.
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
6814684072
Added virtual function overriding support to the C# backend.
12 years ago
triton
7c396d2852
Only run the FieldToPropertyPass after the user passes and the fields state can change.
12 years ago
triton
3e7354a24c
When building the passes also call the generator so it can setup its specific passes.
12 years ago
triton
359920bdbf
Added a new option to ignore parser warnings.
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
5c7bbe1bc0
Added CheckIgnoreDecls to the to pre passes, so user added passes already have some declarations ignored.
12 years ago
marcos henrich
12daa4980c
Added CheckDuplicatedNamesPass that check all class members names for duplicated names. When a non function member has an already used name a number is append to its name. When a method is found with a know signature a number is append to its name. The appended number for each method overload is independently incremented, others members appended number start at the most overloaded method count which is then incremented with each non function member sharing the same name.
12 years ago
marcos henrich
7dd2771604
Removed CheckTypeReferencesPass and TypeRefsVisitor
12 years ago
triton
fdb35ce28e
Clean up driver.
12 years ago
triton
6eef880f7e
Clean up the console driver by emitting file parsing diagnostics in the main driver.
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
968df88117
Add new option for checking symbols and for the main shared library name.
12 years ago
triton
a0e5aa1192
Remove two unused options.
12 years ago
triton
ff0eb8e496
Added missing MaxIndent option.
12 years ago
triton
4e4552186a
Generators now have a Process method to be able to do any custom processing.
12 years ago
triton
c3ac9e7efc
Split the generation and writing of bindings.
12 years ago
triton
4eb8358f0d
Change pass builder to be initialized in the constructor.
12 years ago