Joao Matos
013a9e8b4c
Merged IgnoreAbstractOperatorsPass into CheckOperatorsOverloadsPass and added a test.
9 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>
9 years ago
Dimitar Dobrev
aabe7409d1
Fixed the internals of templates specialising arrays by simplifying the names.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
b77d2ccdde
Ensured the system module only contains units from the current run.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
5fa6fcca19
Fixed the system module linking itself when auto-compiling.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
3cd024cccf
Added marshalling of std::string to the C# end.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 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>
9 years ago
Dimitar Dobrev
f8863f941b
Extracted the logic for getting wrapped units.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
9b51e30643
Fixed the option for output name-spaces to allow eliminating them.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
002565971f
Ignored all system declarations until we can properly support them.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 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>
9 years ago
Dimitar Dobrev
27c612ecd0
Ignored abstract operators because they cannot be wrapped in Mono/.NET.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 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>
9 years ago
Dimitar Dobrev
c88d0e077f
Removed modules with empty units after parsing.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 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>
9 years ago
Dimitar Dobrev
e50e9416d9
Handled internals of nested template specialisations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 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>
9 years ago
Dimitar Dobrev
dc84c9b765
Added an option to parse all headers at once - much faster.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 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>
9 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>
9 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>
9 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>
9 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
Dimitar Dobrev
01e872b30d
Threw an exception when there are parsing errors, and handled it in the test clients.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
b2020d462c
Stopped C++# when the parser has encountered errors.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
acbfd21b7a
Freed C++ objects allocated by the parser.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
bba8d389fb
Revert "Fixed more minor memory leaks."
...
It breaks the build, the memory management needs more changes before these fixes.
This reverts commit 41fbe1e9dd
.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
41fbe1e9dd
Fixed more minor memory leaks.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
057e025ee3
Fixed a memory leak by removing from static members typedefs used for delegates.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
575649b5da
Fixed a memory leak in the code generators.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
985171596a
Minor changes to the auto-compilation of C# code.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
67e14e7171
Improved the feedback when auto-compiling.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
47b1781603
Removed the writing of code to disk when auto-compiling.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
fbb2f941c4
Based on Abhinav Tripathi's work: extracted delegates in order to reuse them.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
51ca678fa8
Removed a useless reference when auto-compiling.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
324e241c25
Fixed the internal abstract impls with default params of a pointer type.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
triton
d07b158a98
Revert "Support overriding the alignment of Clang's target info."
...
This reverts commit 0e1e9c971b
.
10 years ago
triton
0e1e9c971b
Support overriding the alignment of Clang's target info.
10 years ago
Dimitar Dobrev
76ea3158df
Prevented conversion operators from getting ref params.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Abhinav Tripathi
dd941d9191
Added marshalling of primitive ptrs to ref type.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
ce597a399c
Fixed the build on VS 2015.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
c0fbdcbb0a
Fixed the auto-compilation in the C# end by adding a reference to System.Core.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
451278cb10
Removed the option for abstract impls thus enabling them by default.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
77369b50c5
Removed the option for abstract impls enabling them by default for the C# generator.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
triton
a9101ece64
Rename the diagnostic emit overloads so they're more uniform.
10 years ago
triton
2620fda064
Get rid of diagnostic IDs as these never got used in practice.
10 years ago
Dimitar Dobrev
7da56fc082
Added automatic adding of references between dependent modules.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
3751e647a4
Simplified and moved the pass for translation units renamed to name-spaces.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
b252de41d9
Added a check whether a library to wrap has already been parsed.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago