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
Dimitar Dobrev
19b0131543
Sorted modules by the dependencies of their libraries, if any, before parsing.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
e50e9416d9
Handled internals of nested template specialisations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
62e4ab93b1
Fixed the parse options to only collect all headers if it's a unity build.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
dc84c9b765
Added an option to parse all headers at once - much faster.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
b41dc261ed
Added support for directly wrapping entire sets of interdependent libraries.
...
It's realised by using modules. Users now have to define one module for each library they want wrapped while setting the driver up.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
e289dd47bf
Extended the class for modules with include and library dirs, and defines.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
2403d7d3a3
Replaced the useless internals of templates with the internals of their specialisations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
99902c5580
Disabled a type of false errors when auto-compiling on OS X.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
4d735b5601
Ensured symbols for templates instantiating pointers or references.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
48fece6aa1
Revert "Threw an exception when there are parsing errors, and handled it in the test clients."
...
This reverts commit 01e872b30d .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago