Joao Matos
c6e263e269
Add work-in-progress TypeScript interface bindings generator.
5 years ago
Joao Matos
0595fcfc9e
Add MarkEventsWithUniqueIdPass pass for global event handling.
5 years ago
Joao Matos
2a8674c129
Create target directory when generating files.
5 years ago
Joao Matos
3746407f8e
Add new pass to convert C++ FastDelegate types into CppSharp delegates.
5 years ago
Dimitar Dobrev
e913a00d11
Fix the crashing disposal of a non-set up driver
...
Fixes https://github.com/mono/CppSharp/issues/1404 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
fe1e7c4812
Fixed auto-building for projects at spaced paths
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
c38556a93b
Make auto-compiling of C# work with .NET Core
...
CodeDom doesn't work in .NET Core (https://github.com/dotnet/runtime/issues/18768 ) and Roslyn turns out to be too low level (just a compiler and not a building framework) so the best approach is to invoke msbuild as a process.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Joao Matos
3ff9fb2078
Disable getter/setter to property pass by default in non-managed backends.
5 years ago
Joao Matos
598604e8f8
Add ILibrary.GenerateCode as a custom code generation callback.
5 years ago
Joao Matos
2cfd76b8be
Fully resolve include dirs paths in driver option validation.
...
This helps later on to have canonnical paths for relative path handling.
5 years ago
Dimitar Dobrev
6f276debf6
Don't check the unsupported operator= for symbols
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Joao Matos
b4cece4601
Add initial NAPI and JS generator.
5 years ago
João Matos
dc185a66ea
Add initial QuickJS generator.
5 years ago
Joao Matos
b632051f3e
Add initial C base generator.
5 years ago
Joao Matos
f03a56f0a3
Only add files to module if module is not null.
5 years ago
Joao Matos
7f0dc8aed4
Minor formatting fixes.
5 years ago
Joao Matos
643639d163
Add initial implementation of declaration maps.
5 years ago
josetr
6496bf8dae
Basic support for static constexpr variables ( #1435 )
...
Basic support for static constexpr variables
5 years ago
Dimitar Dobrev
07763331e2
Move libraries to a new class for linking options
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
1d9a07b693
Fix memory leaks when using the driver
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
926fca6087
Simplify ClangParser by making it static
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
fbbda2020f
Remove the direct usages of the parsing options
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
2acbf32a96
Fix generation for fields of type const reference
...
Fixes https://github.com/mono/CppSharp/issues/1323 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Ali Alamiri
fe33488829
Option to allow caller to specify it does not want unchanged output files to be modified. This supports incremental build in VS. ( #1373 )
...
Check if generated code is different to existing files and only overwrite if so
Co-authored-by: Build Agent <admin@sage.com>
5 years ago
Dimitar Dobrev
bcdc2cf667
Fix leaking the memory of an entire Clang AST
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
João Matos
9826097b53
Guard MoveFunctionToClassPass pass registration against CLI and C# generators.
5 years ago
João Matos
cfba72ce1b
Initial C++ generator backend.
5 years ago
João Matos
c19df0cc64
Minor refactoring fixes.
5 years ago
João Matos
76ae12b89e
Guard a few more language-specific passes in the driver.
5 years ago
Dimitar Dobrev
07b9e4ca10
Force compilation of all functions of specializations
...
Functions of template specializations can have their symbols compiled by having their addresses taken just like regular functions. This way we take just the necessary symbols compared to exporting entire templates which both compile useless symbols and skip actually needed ones.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
a00f34c4c9
Optimize the moving of functions to classes
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
ba315702ea
Eliminate generated symbols for ignored functions
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
e26206ffc7
Make the pass for properties more extendable
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
d9a33bac7b
Ensure protected nested types are accessible with multiple inheritance
...
Fixes #594 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
caed19e863
Generate valid C# when a secondary base has a public anonymous field
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
6b744458b4
Flatten anonymous types to avoid empty names
...
This improves our generated API as we no longer need "_0"-like names and also prevents conflicts between an anonymous type and a property of this type.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
1fc1b4ec51
Fix default arguments to only map to null if pointers
...
This bug is revealed by properly fixing the reading of ABI parameters in the parser.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
6b3cdaffb7
Optimize renaming of declarations named after keywords
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
c358d6bbef
Expose public anonymous types
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
1dad81dab6
Fixed `Options.DryRun` to not generate any binding code.
7 years ago
Dimitar Dobrev
c51b3cba71
Fixed the generated C# when a template is specialized with T and const T.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
a65f91949c
Handled int and long in maps to help resolve ambiguity.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Joao Matos
e5aaa2ee19
Fixed error handling and message when parsing non-existent files.
7 years ago
Dimitar Dobrev
43bb2ee4bb
Added a type map for char.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
e10fc01bff
Changed type maps to only return types - no strings.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
8427ff8e92
Optimized the walking of the managed AST.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
eec05041a3
Fixed the generated C# for templates with > 1 ctor taking a pointer to a class.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
3ca1579d02
Fixed the generated C# for pure virtual functions with default arguments.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
4b310875d3
Enabled classes having specializations for secondary bases to call their extensions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
c264690e90
Fixed the generated C# when a constructor has a default parameter with type an external specialisation.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago