triton
9b62ec46e6
Fixed destructors signature in MS ABI.
...
See MicrosoftCXXABI::EmitVirtualDestructorCall in https://github.com/llvm-mirror/clang/blob/master/lib/CodeGen/MicrosoftCXXABI.cpp for the nitty gritty details.
11 years ago
Dimitar Dobrev
83f58fe260
Added an option to disable the visiting of return types of functions.
...
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
597922c1db
Stopped at an ignored base when getting the root one.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
73e9455821
Put own (created in managed code) objects in the object map upon creation.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
João Matos
a7443265a0
Fixed marshalling of `const char**` types in C#.
...
Fixes issue #454 .
11 years ago
Abhinav Tripathi
c7c74e306b
Added CS_INTERNAL macro definition and test.
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>
11 years ago
triton
b36c768407
Fixed assembly property attributes.
...
Closes #419 .
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
1e0db93c5e
Added support for handling non-virtual methods inherited from MI bases.
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
triton
250825fd59
Reworked declaration storage in the managed AST layer.
...
Instead of keeping separate lists for different types of declarations, which limits future extensibility, provide a generalized declaration list like Clang. This also introduces a new DeclIterator<T> type to help migrating the rest of the codebase.
This is the first step of a progressive cleanup to modernize the AST/parser layer.
11 years ago
Dimitar Dobrev
3d72c2fca4
Added renaming of variables.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
c7253b456b
Fixed the assigment of structs with private fields.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Joao Matos
93cdad40e0
Added bit field support to the AST.
11 years ago
Pyry Kontio
50dff6288b
Fixed the inheritance of a linked class.
11 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>
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
Dimitar Dobrev
17a8fc732f
Removed redundant "new" key-words in generated C# code.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
triton
3b7cf2171d
Take advantage of 'this' return information to adjust the return type of structors.
11 years ago
triton
740a284323
Added support for iOS and iOS 64-bits ABIs.
11 years ago
triton
169a3fa610
Added support for keeping ABI-specific function 'this' return information.
11 years ago
Dimitar Dobrev
dd5c324d01
Entirely removed the Internal struct from implementations of abstract classes.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
4385ecac76
Fixed the finding of classes to also check name-spaces.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
319b9691d2
Marked the __Instance property in interfaces as synthetised.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Pyry Kontio
8615c4ebeb
The simplest and least intrusive way to fix this.
11 years ago
Dimitar Dobrev
c61cfa43a9
Exposed the architecture of native libraries.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
Dimitar Dobrev
ca72594c84
Extended the heuristics for obtaining function symbols.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
triton
934558ed54
Code cleanups, no functional changes intended.
11 years ago
Dimitar Dobrev
3b8873022b
Handled built-in binary operators in default arguments.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
d481cf8078
Fixed the renaming of overloads generated because of default arguments.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
88a88599e7
Fixed the wrapping of bit masks in default arguments.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Conflicts:
src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/AST.cs
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
Dimitar Dobrev
29e2c58811
Added reading of dependencies of DLL-s.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
0499556bfe
Added support for default values of parameters.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
9e480dd364
Fixed the renaming pass to account for overloads of functions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Conflicts:
src/AST/Class.cs
src/Generator.Tests/Passes/TestPasses.cs
src/Generator/Generators/CSharp/CSharpTypePrinter.cs
12 years ago
Dimitar Dobrev
36bdfb6c07
Simplified the getting of a function type now that the more complex (native) type is no longer used for abstract impls.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Conflicts:
src/AST/Method.cs
12 years ago
Dimitar Dobrev
ca2b3a312e
Moved IsSynthetized from Method to Function.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Conflicts:
src/AST/Method.cs
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
43dc88b5de
Added support for representing and parsing source locations.
12 years ago
triton
27fa2ca03d
Renamed Location to MacroLocation in PreprocessedEntity.
...
We'll use the name Location to represent source locations in declarations.
12 years ago
Tomi Valkeinen
7289a06b9e
Rename PrimitiveType Int32 and UInt32 to Int and UInt
...
As enum PrimitiveType is supposed to represent C++ types, having Int32
and UInt32 there is not correct.
This patch renames those values to Int and UInt.
This doesn't change the behavior, but makes it clearer that the types
for 'int' and 'unsigned int' are not necessarily 32 bits.
12 years ago
Tomi Valkeinen
c702e928e8
Rename PrimitiveType Int64 and UInt64 to LongLong and ULongLong
...
As enum PrimitiveType is supposed to represent C++ types, having Int64
and UInt64 there is not correct.
This patch renames those values to LongLong and ULongLong.
This doesn't change the behavior, but makes it clearer that the types
for 'long long' and 'unsigned long long' are not necessarily 64 bits.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
12 years ago
Tomi Valkeinen
065570de74
Rename PrimitiveType Int16 and UInt16 to Short and UShort
...
As enum PrimitiveType is supposed to represent C++ types, having Int16
and UInt16 there is not correct.
This patch renames those values to Short and UShort.
This doesn't change the behavior, but makes it clearer that the types
for 'short' and 'unsigned short' are not necessarily 16 bits.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
12 years ago