ZenScript main repository
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kindlich 4851501041
Some variant stuff, commited so that I can merge stan's changes
6 years ago
..
FileContents.java - Added support for implementations and method overriding - Added override method header inference: if a method overrides or implements another method, and types are missing from the header, these will be inherited from the base method. This works with any kind of method (method, operator, getter, setter, caller) - Added method return type inference, which is automatically inferred from the return value of the contents of the method. This functionality is not yet fully implemented, and will fail with certain expressions (most notably, member expressions and calls). The goal is to make this system work as long as there is no recursion. This works with methods, operators, getters, calls as well as fields and constants with initializers. - Removed the any type. With return type inference its usefulness has become even more limited, and proper implementation of the any type is expected to be complicated, thus not worth the effort. (this may be revisited later on, as "any" remains a reserved keyword) - Fixed compilation of throw as panic expressions in lambda function bodies - Moved name from FunctionalMember to MethodMember, where it makes more sense - Each method (or functional) is now also aware of the member that it overrides 6 years ago
GlobalRegistry.java - Fixed numerous issues with undetermined types, type inference, type aliases, inner types and generic types - Distinguished between type resolution and code compilation stages, both have a different context now - Added new concepts: "compiling type" and "compiling package", which is able to precompile correctly now - Rewrote the way precompilation works; precompilation no longer exists, instead, compilation order of methods is changed. This reduces the amount of code needed and improves quality of the system. - Fixed members of base interfaces not being available to implementation code - Changed the way type modifiers are coded 6 years ago
Main.java Some variant stuff, commited so that I can merge stan's changes 6 years ago