Dimitar Dobrev
|
3a9eef1e80
|
Added a new pass converting all parameter types to their respective interfaces, if any.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
ffbc5fbf15
|
Fixed the check for duplicates to account for explicit impls. Fixed the getting of a root base method and property to consider the parameter for all bases.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
f07ddf79fc
|
Replaced the vague checks for explicit interface impls with a specific property.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
c9e5c0d505
|
Completed the parallel hierarchy of interfaces so that a derived class can access the members of all of its bases.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
068cf51165
|
Added explicit implementation of interface properties (when necessary).
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
f5304e69bb
|
Completed the support for multiple inheritance with the exception of base interfaces and the cast operator in the derived class to the second or later base.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
37f09c04ef
|
Added a pass to generate interfaces with the purpose of simulating multiple inheritance.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
6f3224ca60
|
Changed writable indexers of primitive types to use the types themselves instead of pointers.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
triton
|
0b77ef7a49
|
Improved the FieldToPropertyPass to be a bit more robust by checking for existing properties.
|
12 years ago |
Dimitar Dobrev
|
b82aebab3a
|
Added support for writing using indexers.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
083dc3a9f8
|
Improved the generation of indexers by removing const overloads of []. NOTE: did that by removing the method type check in the pass for ambiguous overloads.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
54c93f4d91
|
Added support for read-only [] operators.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
triton
|
36226268a6
|
Fixed checking of virtual overrides to also check if the base override is ignored.
|
12 years ago |
triton
|
287dd7bf7c
|
Fixed getter/setter properties to inherit the access from their methods.
This is not ideal though, this won't deal properly with a getter and setter with different access specifiers.
|
12 years ago |
triton
|
8a1cb28cd0
|
Fixed resolving of incomplete enum declarations.
|
12 years ago |
triton
|
5abfbeca39
|
Ignore unresolved declarations.
|
12 years ago |
triton
|
86b6588951
|
Check for invalid virtual method overrides due to ignored base classes.
|
12 years ago |
Dimitar Dobrev
|
348c3db122
|
Fixed the v-table interop to be compilable.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
70b4cff9bf
|
Broke up the pass for inlines in two main functions.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
1532f7d0bf
|
Moved the changing of access modifiers of constructors of abstract classes to the pass for internal implementations of abstract classes.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
74ec730811
|
Some reordering of code and improved logging.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
faa32abe20
|
Ensured the directory to write the C++ file wrapping inlines, exists.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
453dc26964
|
Fixed the generation of complement operators.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
2848ee7453
|
Fixed a regression causing a run-time crash with moved operators.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
b92897c50e
|
Fixed the access of properties generated from fields.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
a3bc0491f9
|
Assumed types with empty names (that is, "struct { ... };") to be private.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
a15c5b8f99
|
Fixed the check for ignoring to verify the access at the declaration level.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
de8b3fc00e
|
Corrected the checks for private methods because overrides must be allowed through regardless of access.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
bb14da5a0c
|
Fixed the moving of operators to classes to discard the original name space and function.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
42a1af6503
|
Added a pass for generating wrapper code and definitions for inlines and an option for the name of the lib with inlines. Ignored non-tag indirect return types.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
1a33dc6964
|
Documented the addition of internal implementations to the respective unit.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
b9f1ecb715
|
Changed the parameter type comparer to work with qualified types because overriding cannot change the qualification of types.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
1c793ef589
|
Commented the pass about internal impls of abstract classes. Cosmetic fixes.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
7d3ee70a73
|
Renamed AbstractImplementationsPass to GeenrateAbstractImplementationsPass.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
9ef6fdc740
|
Separated the logic for abstracts impls into small functions.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
4cfcfa1b16
|
Corrected the implementation of abstract methods to properly handle classes, instance arguments and indirect return types.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
06e69225b9
|
Implemented the MS branch of the abstract implementations.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
a3869c95c5
|
Generated the proper return statements in the abstract implementations.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
6d2c0eaed8
|
Generated internal implementations of abstract classes in a new pass.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
triton
|
e0a2624370
|
Removed unused using.
|
12 years ago |
triton
|
871a05511c
|
Added a new pass that checks for ambiguous overloads.
|
12 years ago |
triton
|
caeb1d2f67
|
Added new pass CheckVirtualOverrideReturnCovariance that checks if a pair of return types in overriden methods are covariant according to the C++ standard.
|
12 years ago |
triton
|
458ef0ce34
|
Emit a debug info instead of an error for "invalid" operator overloads.
|
12 years ago |
Dimitar Dobrev
|
bb07a294f4
|
Ignored private types.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
Dimitar Dobrev
|
3f7790c67d
|
Fixed the incorrect C++ in the tests for left shift operators. The test still fails, though, now C is always 0.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |
triton
|
36d520562e
|
Use references instead of pointers when creating new operator overloads methods.
|
12 years ago |
triton
|
17fdab07cb
|
Only add missing operator overloads in C# generator.
|
12 years ago |
triton
|
13c5357e3f
|
Use references instead of pointers when creating new operator overloads methods.
|
12 years ago |
triton
|
f704ca3a05
|
Only add missing operator overloads in C# generator.
|
12 years ago |
Dimitar Dobrev
|
d9bc5bec86
|
Extended the check for duplicate names to ignore repeated operators since they cannot be renamed. Added an ignored test for an unrelated run-time issue.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
|
12 years ago |