Dimitar Dobrev
38f247b1db
Merged the libraries for inlines and templates into one.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
fe85a33ba1
Restored the renaming of enums.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Joao Matos
17f768f6c4
Add classes as rename targets for default renaming pass.
9 years ago
Joao Matos
b7b40ecedc
Move type map setup to driver code.
9 years ago
Dimitar Dobrev
450641d669
Simplified the auto-compilation of the generated C# further.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
5d9380911f
Simplified the auto-compilation of the generated C#.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
346a18ee3d
Added an event to the pass for inlines to help compile them.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
ee171eb9fa
Freed up the native parser options when done with.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Joao Matos
fe0ee21392
Remove and sort usings.
9 years ago
Joao Matos
04ee2e5b7d
Rename CodeGenerator.Templates to Outputs.
9 years ago
Joao Matos
90abca7dc2
Remove CheckVTableComponentsPass.
...
It was added 3 years ago as a workaround for Clang MS vtable layouting bugs which have since been solved upstream.
9 years ago
Joao Matos
cb3e9edf44
Remove IgnoreParseWarnings option and replace functionality with Verbose option.
9 years ago
Joao Matos
fbf43067d7
Refactor the diagnostics system.
9 years ago
Joao Matos
1426f21ff8
Rename TextDiagnosticPrinter to ConsoleDiagnostics.
9 years ago
Dimitar Dobrev
4e3cc50073
Revert "Extended the auto-compilation to add module initialisers, if any."
...
This reverts commit ec241510f7 .
9 years ago
Dimitar Dobrev
ef69bf1b95
Made the case-renaming pass non-optional for Mono/.NET generators.
9 years ago
Joao Matos
1371f89957
Convert CheckMacroPass to be a default pass.
9 years ago
Dimitar Dobrev
21233a6622
Hid most internal details of the generated code from users.
9 years ago
Dimitar Dobrev
ec241510f7
Extended the auto-compilation to add module initialisers, if any.
9 years ago
Dimitar Dobrev
853fba5ef9
Fixed the auto-compilation to work with a custom output directory.
9 years ago
Dimitar Dobrev
cd8cfdd01d
Added a pass for stripping unused STD types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
b2a872f431
Merged the passes for properties and made the result non-optional.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
bc9016cf19
Made the generation of conversion operators for constructors non-optional.
...
We are better off always having them because we map to C++ better this way.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
b648471866
Removed 4 useless options.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
ad5505f113
Enabled multiple inheritance, and removed its option, in the C# generator.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Joao Matos
7a26c11382
Rename VisitLibrary method to VisitASTContext.
9 years ago
Dimitar Dobrev
6cbd047392
Fixed the auto-compilation not to use an old and buggy CS compiler on Windows.
...
Fixes https://github.com/mono/CppSharp/issues/688 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
0531573875
Restored the sorting of modules by dependencies which had regressed.
...
It had stopped working since the introduction of the system module.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
749c2b17ec
Renamed ParserOptions to CppParserOptions and ParserOptions2 to ParserOptions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Joao Matos
19fb6ca7d6
Fold toolchain parser setup to parser options.
10 years ago
Joao Matos
f8f4c2ecc5
Fixed Windows build.
10 years ago
Joao Matos
a77bc2a91f
Separate parser options from driver options.
...
This will break API compatibility, you will have to update your options setup code.
10 years ago
Dimitar Dobrev
4f10e9fb78
Fixed the build after the refactoring.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Joao Matos
4e48af9a4c
Remove the Driver dependency from the generators with a BindingContext.
10 years ago
Joao Matos
41719e641e
Rename IDiagnosticConsumer to IDiagnostics.
10 years ago
Joao Matos
9710936c7a
Order usings in Driver.cs.
10 years ago
Joao Matos
013a9e8b4c
Merged IgnoreAbstractOperatorsPass into CheckOperatorsOverloadsPass and added a test.
10 years ago
Dimitar Dobrev
a4dfeb94be
Moved the marking of supported template specialisations to a pass.
...
This allows custom passes to add other specialisations to support.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
aabe7409d1
Fixed the internals of templates specialising arrays by simplifying the names.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
b77d2ccdde
Ensured the system module only contains units from the current run.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
5fa6fcca19
Fixed the system module linking itself when auto-compiling.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
3cd024cccf
Added marshalling of std::string to the C# end.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
06410eddbc
Stored specializations in the templated class itself because ClassTemplate is not a complete declaration.
...
ClassTemplate in Clang does not actually represent a complete declaration. For example, let's see the implementation of clang::ClassTemplateDecl::isThisDeclarationADefinition:
bool isThisDeclarationADefinition() const {
return getTemplatedDecl()->isThisDeclarationADefinition();
}
(http://clang.llvm.org/doxygen/DeclTemplate_8h_source.html#l01995 at the time of this commit)
The above shows that class templates do not have definitions, instead, their "definitions" are those of the real templates classes.
In addition let's see ClassTemplateDecl::getCanonicalDecl():
const ClassTemplateDecl *getCanonicalDecl() const {
return cast<ClassTemplateDecl>(
RedeclarableTemplateDecl::getCanonicalDecl());
}
(http://clang.llvm.org/doxygen/DeclTemplate_8h_source.html#l02023 at the time of this commit)
In turn RedeclarableTemplateDecl::getCanonicalDecl() is defined as:
RedeclarableTemplateDecl *getCanonicalDecl() override {
return getFirstDecl();
}
where getFirstDecl() returns just that - the first encountered declaration which might as well be a forward one.
This means that the only complete declaration ClassTemplateDecl can point to is the template class itself,
and the latter is therefore our only choice if we want to have a full list of all specializations of that template class.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
f8863f941b
Extracted the logic for getting wrapped units.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
9b51e30643
Fixed the option for output name-spaces to allow eliminating them.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
002565971f
Ignored all system declarations until we can properly support them.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
3c82cf90c7
Fixed a bug - library dirs of modules were not read at all.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
27c612ecd0
Ignored abstract operators because they cannot be wrapped in Mono/.NET.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
bbb8aeb4af
Fixed the fully qualified names to include "global::" in the C# end.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
c88d0e077f
Removed modules with empty units after parsing.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago