Abhinav Tripathi
e9152a79b5
Fixed missing namespace problem.
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
54cb17f313
Removed the exception when disposing of objects not originating from managed code.
...
This way we can destroy C++ objects the user is responsible for.
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
36c55fc656
Applied SuppressUnmanagedCodeSecurity to P/Invokes with WinApi calling conventions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
640f957e69
Removed the hard-coded (always public) visibility of generated enums.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
c8397166ed
Optimised code generation when the option for auto-compilation is used.
...
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
5ca49e3c3e
Moved the prepending of the comment prefix to the comments themselves.
...
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
d328b7ce34
Properly handled nulls passed to C++ refs by throwing an exception.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
f7b4d6ce83
Fixed the wrapping of operators for non-equality to handle null.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
1ba4493bf6
Updated to LLVM/Clang 253162/253161 respectively.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
a5a17a493e
Changed the comparer for parameter types to a singleton.
...
The class has no fields so the same value was allocated many times, it was wasteful.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
477dd914cb
Fixed setters of indexers when the key is type-mapped.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
1c52e67bb8
Fixed the wrapping of indexers returning value types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
d3644dcf5d
Fixed a crash with abstract overrides originating from secondary bases.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
e36d6f0aae
Improved the handling of char arrays by using desugaring.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
144b9546de
Fixed another case of a default arg assigned through an implicit ctor.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
a18479e1db
Generated valid code for wrapping char arrays.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
5dde771d77
Removed a redundant field in the generated code.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
bd5df799c9
Complemented comparison operators with the first parameter not of the containing type.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
c2a569e24d
Only patched the v-table entries for non-dtors in user-derived classes.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
2885200732
Changed the native ctor to only patch the v-table entry of the virtual dtor, if any.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
132509203b
Improved the handling of function calls in default args.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
8ebefa1f37
Added support for call expressions in default args.
...
The conversion of an expression to a string has been moved to the generator because a function may have been renamed or converted to a property.
However, since that string is language-specific, it should be created in the generator anyway. Therefore we should (over time):
1. Move any string manipulation from the pass for default args to the printer for expressions which is in turn used only by the generator;
2. Remove the Statement.String property (when 1. is entirely complete).
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
8a68d2d16c
Fixed the generation of overrides of virtuals from secondary bases.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
53074cca58
Simplified the fix for calling the dtor of an abstract type with MinGW.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
e4a40d0eed
Revert "Fixed a crash when calling the dtor of an abstract type with MinGW."
...
This reverts commit 67e6e1204c .
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
176262c700
Clarified the handling of dtor calls when abstract classes are involved.
...
Thanks to tritao for his remarks.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
67e6e1204c
Fixed a crash when calling the dtor of an abstract type with MinGW.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
05a44565bd
Ensured a virtual dtor is called even if the base dtor is not virtual.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.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
0f8474893c
Removed 3 redundant fields from the C# generator.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
3cb44dcef0
Split the creation of internal parameters from their string representation.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
0950b869a1
Fixed the offsets of fields when using multiple inheritance.
...
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
6380e5d7ea
Called Marshal.FreeHGlobal only if the instance was created by Marshal.AllocHGlobal.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
6f8c942b0a
Adjusted pointers when calling functions from secondary or non-dynamic bases.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
7d66303ed1
Extracted a constant and deleted a no longer used method.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
81e6ba5ea8
Ensured managed v-tables remain with no empty entries.
...
This doesn't fix any bug that I know of.
However, the patching was obviously wrong for v-tables with repetitive function pointers.
Their managed counterparts ended up with "holes" where the repetions were.
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
Dimitar Dobrev
54e8a16fd1
Reverted the representation of Booleans as managed Booleans except in internal structs.
...
Managed booleans are more CPU-efficient than bytes, and some problems with code generation are fixed.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
4f574845fa
Made interface impls contain the interface as their original name-space.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
a20e3aca91
Properly set virtual tables up in the internal ctor by pointer.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago
Dimitar Dobrev
c2202bbfc0
Removed the wrapping of comments because tools ignore empty lines.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
10 years ago