Joao Matos
89a31730fc
Added a visitor overload for translation units.
10 years ago
Joao Matos
7daf556fb7
Added visitor support for typedef name declarations and unify type alias and typedef implementations.
10 years ago
Joao Matos
ab085d5cb4
Make Declaration.GatherNamespaces public again.
10 years ago
Dimitar Dobrev
6353b4b2a5
Simplified the construction of names by using stacks.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Joao Matos
cc2fec76d1
Make Declaration.GatherNamespaces public.
10 years ago
Joao Matos
b117410729
Moved typedef declarations to their own file.
10 years ago
Joao Matos
77b6eef89d
Extracted QualifiedNameSeparator from GetQualifiedName.
10 years ago
Joao Matos
4b1309f5be
Added support for C++14 variable templates and specializations.
10 years ago
Joao Matos
4b8bb474fa
Clean up template declarations visiting behavior.
10 years ago
Dimitar Dobrev
32122a1bba
Properly handled enumeration items in default values of parameters.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
e57ea530e1
Avoided naming conflicts between methods of different specialisations of a template.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
62beaddf63
Fixed the printing of class template specializations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
6abdb764e6
Completed the exposing of type aliases in our AST.
...
Fixes https://github.com/mono/CppSharp/issues/670 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Joao Matos
7f75246215
Added support for C++11 type alias template declarations.
...
Partial fix for https://github.com/mono/CppSharp/issues/664 .
10 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>
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
e4200f4690
Fixed the wrapping of template parameters in the parser.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Abhinav Tripathi
d753c8d637
Moved property IsImplicit to Declaration from Method.
11 years ago
Dimitar Dobrev
4f574845fa
Made interface impls contain the interface as their original name-space.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
triton
563ef56af5
Minor code beauty fixes.
11 years ago
Dimitar Dobrev
b09d5a897e
Optimised the pass for fixing invalid names by skipping already visited decarations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
062f8e26e0
Revert "Revert "Included ignored fields in the wrappers for better marshalling.""
...
This reverts commit 27d3f21a75 .
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
83a556aa35
Made the method for constructing qualified names of declarations public.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
27d3f21a75
Revert "Included ignored fields in the wrappers for better marshalling."
...
This reverts commit 65cac93259 .
Conflicts:
src/Generator/Generators/CSharp/CSharpTextTemplate.cs
tests/Basic/Basic.h
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
f0d237d9c2
Added a new property for the line number of the end of a declaration.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Chris Spencer
0c535d361b
Generate delegates for non-typedef'd function pointers to prevent runtime exceptions during marshalling.
11 years ago
Dimitar Dobrev
49d3c85b7c
Copied the signature and the line number when cloning functions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
3b4fce6f33
Added a property for the line at which a declaration is located in its header.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
ac7176f1b7
Added parsing and AST support for C++ friend declarations.
12 years ago
Dimitar Dobrev
e6223a1c4c
Fixed 4 bugs related to custom comparison operators.
...
1. Missing Equals to complement operator ==;
2. Endless recursion when having a == and comparing to null;
3. Crash when having a == and comparing a null pointer to sth else;
4. Incompilable code with a type derived from a struct with operators.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
65cac93259
Included ignored fields in the wrappers for better marshalling.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Tom Spilman
6b791ed752
Fixed comment.
12 years ago
Tom Spilman
17506c57d1
Added Declaration.IsExplicitlyGenerated.
12 years ago
triton
43dc88b5de
Added support for representing and parsing source locations.
12 years ago
Elias Holzer
933df5e65a
Improved support in parser for template classes and functions.
...
* Use clangIndex to identify declarations across translation units.
* Added new Find*ByUSR methods and removed unused Find*(IntPtr) methods.
* Added Depth/Index and IsParameterPack fields to TemplateParameterType.
* Fixed member initialization issues in C++ Method class.
* Added AST tests for function and class templates.
* All tests pass with new and old parser.
12 years ago
marcos henrich
3e3e605a26
Declaration.IsInternal is no longer true when Declaration.GenerationKind is Generate.
12 years ago
marcos henrich
7125109e3f
Deprecated ExplicityIgnored use ExplicitlyIgnore(). Getting ExplicityIgnored and setting ExplicityIgnored to false don't make much sense anymore.
...
Conflicts:
src/Generator/Passes/CheckOperatorsOverloads.cs
12 years ago
marcos henrich
3f96bdbfe3
Replaced declaration IgnoreFlags by GenerationKind. Added methods IsInternal and IsDeclared to declaration. Replaced IsGenerated = true by GeneratioKind = GeneratioKind.Internal. Deprecated Ignore, replace Ignore set by ExplicityIgnored, replace Ignore get by IsGenerated, IsInternal or IsDeclared.
...
Conflicts:
src/Generator/Passes/CheckOperatorsOverloads.cs
12 years ago
triton
440632896f
Added support for logical names to the declarations.
...
While at it, I also refactored the logic of Qualified name properties. Now instead of recursion it will gather all the used namespaces and filter them.
13 years ago
triton
76cf4e68d8
Simplify declaration ignores by removing IsProcessed and fixing ExplicitlyIgnored to be recursive like the others ignore properties.
13 years ago
triton
c979342ea6
Moved the TranslationUnit property from DeclarationContext to Declaration.
13 years ago
Dimitar Dobrev
6dcb8fa593
Added the option to have attributes generated.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
triton
4a29db6bcd
Revert "Fixed bug caused by a type in the new parser."
...
This reverts commit f1f6c2e5e9 .
13 years ago
triton
f1f6c2e5e9
Fixed bug caused by a type in the new parser.
13 years ago
João Matos
7599ebd555
Changed the declaration default access specifier to be public.
...
This fixes some problems with CheckIgnoredDeclsPass that ignores declarations that are not public, which .
13 years ago
Dimitar Dobrev
1a293f8965
Added copy constructors to some of the AST classes.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
Dimitar Dobrev
bb07a294f4
Ignored private types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
13 years ago
triton
2b3a8f79e4
Fixed the documentation comments support in the generators to use the new comment APIs.
13 years ago
triton
751e0da4e3
Keep the original pointer that originated the AST declaration node and check if we have already processed the method in WalkMethodCXX (if so, just return the already existing declaration).
...
We depend on this to get the right method instance when walking through the vtable methods.
13 years ago
marcos henrich
fcb93169a2
Added OriginalNamespace to Declaration and now QualifiedOriginalName uses it.
13 years ago