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.
Stan Hebben 8221a1e43b - Fixed various issues with generics and made instancing strict (all generic types MUST be defined in the mapper or an exception is thrown) 7 lat temu
..
annotations - Fixed numerous issues with undetermined types, type inference, type aliases, inner types and generic types 7 lat temu
context - Fixed numerous issues with undetermined types, type inference, type aliases, inner types and generic types 7 lat temu
definition - Fixed various issues with generics and made instancing strict (all generic types MUST be defined in the mapper or an exception is thrown) 7 lat temu
expression - Fixed various issues with generics and made instancing strict (all generic types MUST be defined in the mapper or an exception is thrown) - Member registration mapping is now all-or-nothing: either no mapping is performed (for local scopes) or ALL mentioned type parameters must have an entry in the type parameter map. - Static inner type IDs (including inner interfaces and inner aliases) no longer record their outer type; this caused problems when comparing types 7 lat temu
generic - Fixed error handling function types - Continued work on the IDE 7 lat temu
iterator Fixed a large number of java source compilation bugs. (ZenCode.shared module now compiles, and so does StdLib.stdlib) 7 lat temu
member - Fixed various issues with generics and made instancing strict (all generic types MUST be defined in the mapper or an exception is thrown) - Member registration mapping is now all-or-nothing: either no mapping is performed (for local scopes) or ALL mentioned type parameters must have an entry in the type parameter map. - Static inner type IDs (including inner interfaces and inner aliases) no longer record their outer type; this caused problems when comparing types 7 lat temu
partial - 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 7 lat temu
processor - Added annotation support 7 lat temu
scope - Fixed various issues with generics and made instancing strict (all generic types MUST be defined in the mapper or an exception is thrown) - Member registration mapping is now all-or-nothing: either no mapping is performed (for local scopes) or ALL mentioned type parameters must have an entry in the type parameter map. - Static inner type IDs (including inner interfaces and inner aliases) no longer record their outer type; this caused problems when comparing types 7 lat temu
statement - Added type aliasing - Changed the way modified types are processed - Added immutable keyword - Added expression, statement and type normalization - Improved naming of synthetic functions 7 lat temu
type - Fixed various issues with generics and made instancing strict (all generic types MUST be defined in the mapper or an exception is thrown) - Member registration mapping is now all-or-nothing: either no mapping is performed (for local scopes) or ALL mentioned type parameters must have an entry in the type parameter map. - Static inner type IDs (including inner interfaces and inner aliases) no longer record their outer type; this caused problems when comparing types 7 lat temu
CompareType.java - Refactored some formatting things to be reusable for source code translation targets 7 lat temu
FunctionHeader.java - Fixed various issues with generics and made instancing strict (all generic types MUST be defined in the mapper or an exception is thrown) - Member registration mapping is now all-or-nothing: either no mapping is performed (for local scopes) or ALL mentioned type parameters must have an entry in the type parameter map. - Static inner type IDs (including inner interfaces and inner aliases) no longer record their outer type; this caused problems when comparing types 7 lat temu
FunctionParameter.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 7 lat temu
GenericMapper.java - Fixed various issues with generics and made instancing strict (all generic types MUST be defined in the mapper or an exception is thrown) - Member registration mapping is now all-or-nothing: either no mapping is performed (for local scopes) or ALL mentioned type parameters must have an entry in the type parameter map. - Static inner type IDs (including inner interfaces and inner aliases) no longer record their outer type; this caused problems when comparing types 7 lat temu
HighLevelDefinition.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 7 lat temu
Modifiers.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 7 lat temu
ModuleProcessor.java - Added annotation support 7 lat temu
OperatorType.java - Refactored some formatting things to be reusable for source code translation targets 7 lat temu
PackageDefinitions.java Initial commit. 8 lat temu
ScriptBlock.java - Fixed error handling function types - Continued work on the IDE 7 lat temu
WhitespaceInfo.java - Moved package zenscript.shared to zencode.shared - Compiled shared from ZenCode 7 lat temu
WhitespacePostComment.java - Moved package zenscript.shared to zencode.shared - Compiled shared from ZenCode 7 lat temu