Commit Graph
54 Commits
Author SHA1 Message Date
Jaime Humberto Macias Bustamante 1bcbce2d5b Property combination check
Also, it parses 'dynamic'.

Still working on getter/setter for variables
2025-05-16 14:10:20 -07:00
Jaime Humberto Macias Bustamante 932e643dc9 Better access context (IN PROGRESS)
Also, throws an error if a variable with "(get, set)" doesn't have a type or a default value.
2025-05-15 01:07:29 -07:00
Jaime Humberto Macias Bustamante 8dce40354a "null" access handling + get/set for variables
- It handles "null" allowing access only inside of the class.

- "final" variables can be initialized in the constructor if they doesn't have a default value.

- "var a(get, set):Int" is parsed outside of Custom Class, but for now it doesn't call their accessors.

almost finished :3
2025-05-13 00:38:11 -07:00
Jaime Humberto Macias Bustamante 19b5b2b049 getter, setter and final for Custom Classes
full support for "var a(get, set):Int".
Also, it takes into account final vars

Soon for inline custom classes

[UNTESTED]
2025-05-12 11:27:43 -07:00
Jaime Humberto Macias Bustamante bf602f758b Typedefs for Custom Classes
Only works as an import method, for example: `typedef OtherShader = funkin.backend.shaders.CustomShader;`.
2025-05-04 20:13:01 -07:00
Jaime Humberto Macias Bustamante d055203559 Public vars for Custom Classes in scripts
Uses public variables from the same scope as where the class was defined.
2025-04-08 11:48:31 -07:00
Jaime Humberto Macias Bustamante 9833c61f78 Using and Enums
Based on Enums and Using system from hscript-iris, mostly made by ne_eo.
2025-03-03 21:53:02 -07:00
Jaime Humberto Macias Bustamante bd0ae3fbe1 Typedef support
Original Implementation by ne_eo for hscript-iris.

For now only works for normal scripts and making import redirects. Soon for custom classes.
2025-02-03 00:00:15 -07:00
Jaime Humberto Macias Bustamante 241d97aed0 Import aliases for Custom Classes
Import aliases support for Custom Classes. This allows you to import classes and other custom classes with an alias inside of a Custom Class.

This includes some improvements on "parseModuleDecl()"
2025-02-01 21:00:41 -07:00
Ne_Eo ad18c12326 Small change to support more platforms 2024-11-15 14:51:04 +01:00
Ne_Eo 9b614421b6 Remove haxe2 support 2024-10-18 01:57:19 +02:00
Ne_Eo 1d06905fc5 Optimizations 2024-09-03 14:12:11 +02:00
Ne_Eo 3f98441918 Fixed bugs and ram improvements 2024-09-03 13:42:25 +02:00
Ne_Eo f8e00859cd Inline parses correctly now 2024-09-03 13:10:13 +02:00
Ne_Eo 933c9cb5e3 final function parsing 2024-09-03 05:05:21 +02:00
Ne_Eo 644c75094e Added private syntax sugar, custom class fix 2024-09-03 02:03:31 +02:00
Ne_Eo 13bdf30055 Classes work more reliably + Optimizations 2024-08-20 04:50:20 +02:00
NeeEoo a8cc0ccc86 Restructuring + KeyValueItherators + is + fixes 2023-09-23 21:23:31 +02:00
NeeEoo 87f2c1b062 Added import as and switch or and def null 2023-06-15 11:08:08 +02:00
NeeEoo b3b512d027 Added support for ?. 2023-04-10 00:09:50 +02:00
NeeEoo ed296c4c7f Merge branch 'master' into custom-classes 2023-04-09 23:28:45 +02:00
lunarcleint 595bb47249 ?? and .? syntax (only ?? is functional) 2023-04-09 14:09:58 -07:00
Yoshman29 0a64bca9ce custom class progress 2023-03-31 21:41:34 +02:00
NeeEoo 5684ca8671 WIP Class Parsing 2023-03-31 18:12:50 +02:00
NeeEoo 4f9b449c6e Added inferred map types and bypassAccessor 2023-03-19 05:26:27 +01:00
Yoshman29 6ba54b0e77 static and public 2022-11-04 19:33:04 +01:00
Yoshman29 4b5baa9b5f Revert "thing that needs to be reverted"
This reverts commit 6dedd87260.
2022-10-13 23:18:54 +02:00
Yoshman29 6dedd87260 thing that needs to be reverted 2022-10-13 23:18:47 +02:00
YoshiCrafter29 841261f199 Added import support 2022-06-08 20:10:40 +02:00
Juraj KirchheimandNicolas Cannasse 206959adbd Support new function type syntax. (#74) 2018-09-26 14:06:16 +02:00
ncannasse 5bc357b4b3 hscriptPos changes 2018-09-21 10:47:20 +02:00
ncannasse 27093064a9 added ECheckType, added short lambda parsing 2018-09-18 16:15:15 +02:00
ncannasse 0702074469 added ECustom error message 2018-03-02 17:22:35 +01:00
Nicolas Cannasse c124076279 added typedef parsing support 2018-02-04 20:54:08 +01:00
ncannasse 1e79880c72 more conformance to haxe syntax wrt mandatory ;
added static and macro accessors
2017-11-23 12:40:50 +01:00
ncannasse 17564441b5 added #if/#else support
added function arg default value expr (only if allowTypes, not supported by interp)
allowed local "inline function"
added parseModule
added exponent support in floats (1.5e-3)
2017-11-22 17:30:16 +01:00
Nicolas Cannasse 931f79dacb move error formating to Printer 2017-08-11 11:03:29 +02:00
Nicolas Cannasse 9eaddcdafb license changed to MIT (close #67) 2017-08-10 16:56:31 +02:00
Nicolas Cannasse 7ca5b85051 added optional metadata support in toplevel expr and anon types 2017-07-18 17:28:15 +02:00
Tom CoxonandNicolas Cannasse 51506e0400 Add filename / line number error reporting with -D hscriptPos (#57) 2017-01-02 17:48:48 +01:00
Pavel AlexandrovandNicolas Cannasse aa16393c1b Add do ... while support. (#51)
Add `do ... while` support.
2016-10-03 12:24:53 +02:00
Nicolas Cannasse d7df81b9ae added optional parameters support 2014-09-11 18:13:38 +02:00
Nicolas Cannasse 8d35e2ff8c added TSwitch support 2014-09-11 17:13:31 +02:00
Nicolas Cannasse ca701335b4 haxe3 support 2012-10-22 11:01:06 +00:00
Nicolas Cannasse a30c33cdc4 added ETernary, fixed operand priority to match haXe one 2011-03-29 20:19:43 +00:00
Nicolas Cannasse 46f157bb39 added -D hscriptPos support, added Macro to convert hscript expr to haxe.macro.Expr 2011-03-19 17:52:46 +00:00
Nicolas Cannasse 78a18acf07 added possible type declarations (with Parser.allowTypes) 2011-03-19 11:27:15 +00:00
Nicolas Cannasse c33367ba6d added anonymous object support 2010-06-15 10:54:21 +00:00
Nicolas Cannasse c381a758a8 added int32 support 2009-01-08 10:41:18 +00:00
Nicolas Cannasse 9b9f6f3432 Added new, throw, try/catch, hex numbers and ... operator support 2008-09-07 15:01:41 +00:00