Dimitar Dobrev
cb6d2aee23
Fixed the generated C# when a template specialization with extensions is used for a secondary base.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
52c754c4de
Extended the multiple inheritance to work for templates.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
1e6c881bdc
Fixed a regression causing public fields of type specialization to be ignored.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
51c0f37aa3
Fixed the generated C# for templates with optional arguments.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
db3e04cca0
Represented "void" with "object" for template arguments in the generated C#.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
1a1308ad8a
Fixed the generated C# for public fields with type a dependent function pointer.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
a1327b4402
Fixed the generated C# for indexers with dependent keys.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
0ea147b1e3
Fixed the generated C# for templated indexers specialised with enums.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
10607164ed
Fixed the generated C# when a template returns a specialisation with itself as a type arg.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
e75e96bf72
Removed a duplicate explicit instantiation from the tests.
...
This fixes our CI on Unix.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
caacaa841f
Worked around duplication of types nested in templates and forwarded.
...
Since all template specialisations are incomplete by default, so are classes nested in them. When such classes are also forwarded, there are two incomplete declarations with the same name and in the same scope. Our parser searches by name and completion and it can therefore not make a difference between the two. Consequently, it always returns the first type it finds even if it isn't the right one. When clang::Sema later completes the specialisations, it completes the nested types too which leads to two identical complete types in the same scope.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
4eb8ee83da
Fixed the generated C# for templates with fields other templates not used anywhere else.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
a913a74138
Fixed the generated C# when using std::map.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
4bfece6ab9
Fixed the generated C# for specialisations with an ignored specialisation as an arg.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
853e82f095
Fixed the generated C# for specialisations only used as type arguments.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
d996d8a4d0
Removed extensions for internal template specialisations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
35902635ff
Fixed the parsing of an undeclared template specialisation with an extension method.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
faf0fbb656
Included template specialisations only used as returned types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
10748cba2e
Fixed the generated C# when a type nested in a template is forwarded.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Marco Zille
d932a09cdf
Fixed incorrectly generated bindings for class with non-type template arguments
...
Fixes #979
8 years ago
Dimitar Dobrev
764806e759
Fixed the generated C# for templates derived from regular dynamic classes.
...
Fixes https://github.com/mono/CppSharp/issues/967 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
cd5b57a786
Ensured all non-system template specialisations are complete.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Marco Zille
5eb077b5d4
Fixed a problem when walking the managed AST because friend templated
...
classes were seen as declared multiple times and resulted into a crash. Solves #975 .
8 years ago
Joao Matos
34ce466d8d
Fixed duplicate generation of forward declared class.
...
Fixes https://github.com/mono/CppSharp/issues/968 .
8 years ago
Dimitar Dobrev
173c1cd7b7
Fixed the generated C# indexers for specialisations of pointers.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
94c0838337
Fixed the generated C# for a property returning a template with a renamed type arg.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
f81800521c
Restored explicit specialisations but added exceptions for their methods.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
2bff7a3caa
Fixed the generated C# when returning a template with a renamed type arg.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
e7a34904dd
Fixed the generated C# for a subclass of a specialisation of an unsupported template.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
dd885a7541
Fixed the generated C# when an operator returns a template.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
9fdb9a3dc2
Fixed the generated C# when an template value is returned.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
0e341db99c
Fixed the generated C# when an injected class is returned.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
# Conflicts:
# src/Generator/Generators/CSharp/CSharpTypePrinter.cs
8 years ago
Dimitar Dobrev
401e26a63f
Ignored the not yet supported classes nested in templates.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
075b2d5078
Fixed the generated C# for comparison operators in templates.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
e078968cf2
Fixed the generated C# for indexers in templates.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
38ed4ab472
Fixed the generated C# when a template is used with different type arguments.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
cd548059e9
Added support for class templates which do not specialise types external to them.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 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
1771f7462b
Fixed the generation of internals for nested template specialisations with pointers as T.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
cdc51afc0e
Extended the parser and AST to handle template template parameters.
...
For more details see the Clang documentation ( http://clang.llvm.org/doxygen/classclang_1_1TemplateTemplateParmDecl.html ).
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
546c32d4a7
Generated internals for template specialisations from dependent libraries.
...
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
eb748db73b
Handled nested template specialisations with fields of the place-holder type.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
3718d36854
Removed the internals of partial template specialisations - not supported yet.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
a10f034c9b
Fixed the C#-printing of template specilisations with bool.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
0d5c4539a2
Generated internals of types nested in templates.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
5f679576e0
Fixed the generated code when a template has a base type.
...
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