FixScript Classes Documentation
Back to summary
ChangeLog
Version 0.8 (2024/05/05):
- Added automatic checking that given script is using classes when the API is being used
 
- Added ability to accept multiple different types in function parameters
 
- Added ability to use foreach on strings
 
- Added direct syntax for using structs with indicies
 
- Added support for length property in arrays, strings, hash tables and struct arrays
 
- Added support for first and last properties in struct arrays
 
- Added more precise types for built-in functions
 
- Added ability to call built-in functions for arrays, strings and hash tables with OOP syntax
 
- Added ability to define custom extension methods for arrays, strings and hash tables
 
- Added ability to import other scripts when using class definition attributes
 
- Added more strict handling of function return types
 
- Added ability to append new tokens during processing of classes in API
 
- Improved memory utilization of global metadata after processing
 
- Fixed importing of locals by not including transitively included locals
 
- Fixed custom inplace operators sometimes throwing an internal error during processing
 
- Fixed array and hash table literals to use appropriate type
 
- Fixed implicit type conversion to work with arrays and hash tables
 
- Fixed checking of types for non-overridable calls of built-in functions
 
- Fixed checking for member attributes with undefined class attributes
 
- Fixed checking of types when retrieving two result values from functions
 
- Fixed checking for unclosed classes and functions
 
- Fixed checking for duplicate classes
 
- Fixed parsing of ternary operator in extended operator
 
- Fixed propagation of errors when checking for script existence in import statement
 
- Fixed get_method_real_name method in ClassType to use proper base class (in API)
 
Version 0.7 (2022/12/27):
- Added support for structs (packed data in arrays)
 
- Added ability to get offsets of fields in classes
 
- Added support for shorthand float operations
 
- Added operator overloading for appending to existing strings
 
- Added automatic calling of to_string methods in string concatenation
 
- Added support for operator overloading
 
- Improved error messages when parsing class attributes
 
- Changed comparison operators to be more strict about types
 
- Adjusted for syntax change to allow multiple semicolons (empty statements)
 
- Adjusted for tokenization change of numbers (separate leading plus/minus token)
 
- Fixed checking for incompatible types in math operations
 
- Fixed registering of global functions defined in attributes
 
Version 0.6 (2022/03/14):
- Added ability to get real names of methods in API
 
- Added easier way to check for non-primitive types in API
 
- Added ability to check for assignability between types in API
 
- Improved error message when importing non-existing script
 
- Fixed parsing of extended operator with leading plus or minus sign
 
Version 0.5 (2021/10/03):
- Adjusted for new symbol representation in tokens
 
- Fixed types for string_to_utf8 function
 
Version 0.4 (2021/05/12):
- Added ability to directly define static methods using private constants
 
- Added access to constants, locals and variables in API
 
- Added basic support for import aliases
 
- Added automatic to_string implementation
 
- Added ability to define global functions using private constants
 
- Changed to use script_line function for error reporting
 
- Changed adjusting of function calls to include return type in API
 
- Fixed parsing of empty array with whitespace between braces
 
- Fixed adjusting of functions when called from methods (using API)
 
- Fixed bug in throw statement that prevented method calls
 
Version 0.3 (2020/10/13):
- Added support for class definitions using private constants
 
- Added support for declaring of types when obtaining two results from a function call
 
- Added support for function references to class methods
 
- Added hiding of helper functions for calling virtual methods
 
- Added better syntax for constructors
 
- Added API for integration with other token processors
 
- Fixed reporting of unrecognized tokens in class body
 
- Fixed parsing of operator for array access using constant (->)
 
Version 0.2 (2020/02/06):
- Added support for calling super methods
 
- Fixed foreach statement
 
- Fixed type checking of functions outside classes
 
- Fixed method calls preceeded by unary operators
 
- Fixed parsing of case statements
 
Version 0.1 (2019/12/26):