Joao Matos
d4e34e44bd
Fixed parsing of block command comment arguments under non-Windows platforms.
10 years ago
Dimitar Dobrev
192fede3f7
Connected the functions in the AST to the template functions they instantiate, if any.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Abhinav Tripathi
d753c8d637
Moved property IsImplicit to Declaration from Method.
10 years ago
Dimitar Dobrev
7498e3835f
Added an explicit destructor to avoid a crash on Linux.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
b60de160f9
Fixed a crash caused by deleting forward declarations other declarations might depend on.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
b3a5b88433
Removed Method.AccessDecl because it doesn't map to Clang and was buggy.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
c7357aa400
Removed the creation of forward declarations if their complete counterparts have been parsed.
...
These object leaked memory too.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
a95511600f
Fixed the destruction of comments another way because this one crashes the OS X build.
...
See https://github.com/mono/CppSharp/issues/599 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
c05dce7443
Fixed the destruction of expressions another way because this one crashes the OS X build.
...
See https://github.com/mono/CppSharp/issues/598 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
f7aee273a7
Ensured comments are properly destroyed thus fixing a memory leak.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
1340113332
Ensured expressions are properly destroyed thus fixing a memory leak.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
c0767bcd47
Eliminated memory leaks with forward declarations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
3402952388
Called the most derived destructor when it's not virtual.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
088530dacf
Fixed the memory leaks when parsing enumerations.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
11 years ago
Dimitar Dobrev
7d7b75a155
Changed PreprocessedEntity to a non-declaration because it isn't in Clang.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
11 years ago
Dimitar Dobrev
acbfd21b7a
Freed C++ objects allocated by the parser.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
11 years ago
Dimitar Dobrev
ffa8d93948
Fixed another C++ memory leak in the parser.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
11 years ago
Dimitar Dobrev
e82cc87356
Fixed a minor memory leak in the C++ part of the parser.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
11 years ago
Dimitar Dobrev
d0ad681a61
Extended the AST and the parser to support call expressions in default args.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
beabb8224d
Regenerated the parser bindings with all fixes for v-tables and dtors.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
6432d910fa
Removed the memory leak in the AST converter.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
a2b8614f54
Improved the support for constructor expressions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
cd3e729d38
Restored support for full comments.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
c512a558c7
Fixed a bug when a default arg is a binary operator expression.
...
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
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>
11 years ago
triton
d2d941638a
Added parsing of base classes offsets data to the AST.
...
This data will be used to solve some multiple inheritance bugs.
11 years ago
triton
ac7176f1b7
Added parsing and AST support for C++ friend declarations.
11 years ago
Joao Matos
93cdad40e0
Added bit field support to the AST.
11 years ago
ebifrier
08994b0408
Fixed the include path problem #321 . (the test case for C++ may be necessary.)
11 years ago
triton
1c50cc58d0
Fixed build on Linux(Ubuntu).
...
Contributed by @shahid-pk .
Closes pull request #360 .
11 years ago
Pyry Kontio
99f643d13f
Test that demonstrate the "new 0" and show some other erroneus behaviour too.
...
Implemented CastExpression. ImplicitCast and ExplicitCast statement classes.
Fixed implicit constructor string generation.
Implemented CtorExpr.
All test cases pass.
Fixed indentations, streamlined the code.
Fixed regressions.
Fixed regressions.
Adding a test case not covered before.
Fixed, refactored and simplified things.
Still more fixes (0 to null ptr conversion, enum check). The additional test passes now too.
11 years ago
triton
ec4ee6ba3c
Fixed handling of static fields in the parser.
...
References #320 .
12 years ago
Dimitar Dobrev
c61cfa43a9
Exposed the architecture of native libraries.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
29e2c58811
Added reading of dependencies of DLL-s.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Tomi Valkeinen
e2a455a5c7
Fix compilation with gcc
...
Fix error:
../../../src/CppParser/AST.cpp:566:21: error: ‘MacroLocation’ is not a
class, namespace, or enumeration
MacroLocation(MacroLocation::Unknown) {}
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
12 years ago
Dimitar Dobrev
0499556bfe
Added support for default values of parameters.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
e4873e20cc
Fixed anonymous declaration parsing.
12 years ago
Dimitar Dobrev
f88c20aa94
Some refactoring in preparation for the default values of parameters.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
c67e6a5ffb
Fixed naming conflict in Location field in the AST.
12 years ago
triton
43dc88b5de
Added support for representing and parsing source locations.
12 years ago
Tomi Valkeinen
d843ac1fd3
CppParser: fix warning about FullComment
...
Fix the following warning by renaming RawComment::FullComment to
FullCommentBlock.
In file included from ../../../src/CppParser/AST.cpp:8:0:
../../../src/CppParser/AST.h:783:18: warning: declaration of ‘CppSharp::CppParser::AST::FullComment* CppSharp::CppParser::AST::RawComment::FullComment’ [-fpermissive]
FullComment* FullComment;
^
../../../src/CppParser/AST.h:760:15: warning: changes meaning of ‘FullComment’ from ‘struct CppSharp::CppParser::AST::FullComment’ [-fpermissive]
struct CS_API FullComment : public Comment
^
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
12 years ago
triton
f49aa2f3ef
Fixed InjectedClassNameType layout in the AST.
...
* Template specialization member is now a pointer so null value works properly
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
Elias Holzer
d3fb9289cf
Synced new and old parser.
...
* Implemented missing parts in regards to class templates.
* Fixed couple of class member initialization issues in C++ AST classes.
* Make code more look alike so it's easier to compare them.
* All tests pass now with old and new parser. Especially the nasty STL one with the ostream typedef.
12 years ago
Elias Holzer
24cd3840b5
Added support for unnamed enums to new parser.
12 years ago
triton
b6cf05e140
Explicitly initialize Enumeration class members.
...
Trying to fix intermittent failing test `TestPasses.TestCheckFlagEnumsPass`.
12 years ago
triton
257edf878f
Restrict path replacing in the parser to Windows platforms.
12 years ago
triton
ea171cde97
Added copy constructors to Enumeration::Item and Declaration.
12 years ago
triton
aa3e8dd5bd
Explicitly define some copy constructors to work around missing symbols.
...
We should not need to do this, but Clang ignores the GCC flag "-fkeep-inline-functions" which we need to actually get these to be properly exported in a library...
12 years ago