221 Commits (5817f58cd49e4884c4f96d765b751beecada71c0)

Author SHA1 Message Date
Dimitar Dobrev 3a9eef1e80 Added a new pass converting all parameter types to their respective interfaces, if any. 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. 12 years ago
Dimitar Dobrev f07ddf79fc Replaced the vague checks for explicit interface impls with a specific property. 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. 12 years ago
Dimitar Dobrev 068cf51165 Added explicit implementation of interface properties (when necessary). 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. 12 years ago
Dimitar Dobrev 37f09c04ef Added a pass to generate interfaces with the purpose of simulating multiple inheritance. 12 years ago
Dimitar Dobrev 6f3224ca60 Changed writable indexers of primitive types to use the types themselves instead of pointers. 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. 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. 12 years ago
Dimitar Dobrev 54c93f4d91 Added support for read-only [] operators. 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. 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. 12 years ago
Dimitar Dobrev 70b4cff9bf Broke up the pass for inlines in two main functions. 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. 12 years ago
Dimitar Dobrev 74ec730811 Some reordering of code and improved logging. 12 years ago
Dimitar Dobrev faa32abe20 Ensured the directory to write the C++ file wrapping inlines, exists. 12 years ago
Dimitar Dobrev 453dc26964 Fixed the generation of complement operators. 12 years ago
Dimitar Dobrev 2848ee7453 Fixed a regression causing a run-time crash with moved operators. 12 years ago
Dimitar Dobrev b92897c50e Fixed the access of properties generated from fields. 12 years ago
Dimitar Dobrev a3bc0491f9 Assumed types with empty names (that is, "struct { ... };") to be private. 12 years ago
Dimitar Dobrev a15c5b8f99 Fixed the check for ignoring to verify the access at the declaration level. 12 years ago
Dimitar Dobrev de8b3fc00e Corrected the checks for private methods because overrides must be allowed through regardless of access. 12 years ago
Dimitar Dobrev bb14da5a0c Fixed the moving of operators to classes to discard the original name space and function. 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. 12 years ago
Dimitar Dobrev 1a33dc6964 Documented the addition of internal implementations to the respective unit. 12 years ago
Dimitar Dobrev b9f1ecb715 Changed the parameter type comparer to work with qualified types because overriding cannot change the qualification of types. 12 years ago
Dimitar Dobrev 1c793ef589 Commented the pass about internal impls of abstract classes. Cosmetic fixes. 12 years ago
Dimitar Dobrev 7d3ee70a73 Renamed AbstractImplementationsPass to GeenrateAbstractImplementationsPass. 12 years ago
Dimitar Dobrev 9ef6fdc740 Separated the logic for abstracts impls into small functions. 12 years ago
Dimitar Dobrev 4cfcfa1b16 Corrected the implementation of abstract methods to properly handle classes, instance arguments and indirect return types. 12 years ago
Dimitar Dobrev 06e69225b9 Implemented the MS branch of the abstract implementations. 12 years ago
Dimitar Dobrev a3869c95c5 Generated the proper return statements in the abstract implementations. 12 years ago
Dimitar Dobrev 6d2c0eaed8 Generated internal implementations of abstract classes in a new pass. 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. 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. 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. 12 years ago