364 Commits (c0a9bc76a8f4156687abc8722baedf12ee318f13)

Author SHA1 Message Date
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. 13 years ago
Dimitar Dobrev 54c93f4d91 Added support for read-only [] operators. 13 years ago
triton 36226268a6 Fixed checking of virtual overrides to also check if the base override is ignored. 13 years ago
triton 287dd7bf7c Fixed getter/setter properties to inherit the access from their methods. 13 years ago
triton 8a1cb28cd0 Fixed resolving of incomplete enum declarations. 13 years ago
triton 5abfbeca39 Ignore unresolved declarations. 13 years ago
triton 86b6588951 Check for invalid virtual method overrides due to ignored base classes. 13 years ago
Dimitar Dobrev 348c3db122 Fixed the v-table interop to be compilable. 13 years ago
Dimitar Dobrev 70b4cff9bf Broke up the pass for inlines in two main functions. 13 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. 13 years ago
Dimitar Dobrev 74ec730811 Some reordering of code and improved logging. 13 years ago
Dimitar Dobrev faa32abe20 Ensured the directory to write the C++ file wrapping inlines, exists. 13 years ago
Dimitar Dobrev 453dc26964 Fixed the generation of complement operators. 13 years ago
Dimitar Dobrev 2848ee7453 Fixed a regression causing a run-time crash with moved operators. 13 years ago
Dimitar Dobrev b92897c50e Fixed the access of properties generated from fields. 13 years ago
Dimitar Dobrev a3bc0491f9 Assumed types with empty names (that is, "struct { ... };") to be private. 13 years ago
Dimitar Dobrev a15c5b8f99 Fixed the check for ignoring to verify the access at the declaration level. 13 years ago
Dimitar Dobrev de8b3fc00e Corrected the checks for private methods because overrides must be allowed through regardless of access. 13 years ago
Dimitar Dobrev bb14da5a0c Fixed the moving of operators to classes to discard the original name space and function. 13 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. 13 years ago
Dimitar Dobrev 1a33dc6964 Documented the addition of internal implementations to the respective unit. 13 years ago
Dimitar Dobrev b9f1ecb715 Changed the parameter type comparer to work with qualified types because overriding cannot change the qualification of types. 13 years ago
Dimitar Dobrev 1c793ef589 Commented the pass about internal impls of abstract classes. Cosmetic fixes. 13 years ago
Dimitar Dobrev 7d3ee70a73 Renamed AbstractImplementationsPass to GeenrateAbstractImplementationsPass. 13 years ago
Dimitar Dobrev 9ef6fdc740 Separated the logic for abstracts impls into small functions. 13 years ago
Dimitar Dobrev 4cfcfa1b16 Corrected the implementation of abstract methods to properly handle classes, instance arguments and indirect return types. 13 years ago
Dimitar Dobrev 06e69225b9 Implemented the MS branch of the abstract implementations. 13 years ago
Dimitar Dobrev a3869c95c5 Generated the proper return statements in the abstract implementations. 13 years ago
Dimitar Dobrev 6d2c0eaed8 Generated internal implementations of abstract classes in a new pass. 13 years ago
triton e0a2624370 Removed unused using. 13 years ago
triton 871a05511c Added a new pass that checks for ambiguous overloads. 13 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. 13 years ago
triton 458ef0ce34 Emit a debug info instead of an error for "invalid" operator overloads. 13 years ago
Dimitar Dobrev bb07a294f4 Ignored private types. 13 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. 13 years ago
triton 36d520562e Use references instead of pointers when creating new operator overloads methods. 13 years ago
triton 17fdab07cb Only add missing operator overloads in C# generator. 13 years ago
triton 13c5357e3f Use references instead of pointers when creating new operator overloads methods. 13 years ago
triton f704ca3a05 Only add missing operator overloads in C# generator. 13 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. 13 years ago
triton dc14a5699a Reworked the CheckAbiParameters pass to be a lot more accurate by re-using the previously added support for indirect type information. 13 years ago
triton c8abdeb192 Cleaned up operator overload helpers. 13 years ago
triton 5ada754d72 Reworked MoveOperatorToClassPass to be simpler and correct. 13 years ago
triton a964df9069 Renamed HiddenStructureReturn to IndirectReturnType as it is a lot more clear. 13 years ago
Dimitar Dobrev 5208fafef7 Moved GeneratedIdentifier to the base Generator so that the former is available to all back-ends. 13 years ago
triton b495c77a64 Set the driver property in TranslationUnitPass when adding new passes. 13 years ago
triton 6b0cb59f8a Added RunPasses to PassBuilder and change existing code to use it. 13 years ago
Dimitar Dobrev 8bea49599a Fixed the check for duplicate names to ignore hidden return parameters. 13 years ago
Dimitar Dobrev 4f1eba905f Moved all operators not belonging to a type to the type of their first parameters. 13 years ago
Dimitar Dobrev 43d01854a2 Fixed a regression causing a crash as some functions with no symbols are allowed to reach code generation. 13 years ago