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 Kirchheim and Nicolas 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 Coxon and Nicolas Cannasse
51506e0400
Add filename / line number error reporting with -D hscriptPos ( #57 )
2017-01-02 17:48:48 +01:00
Pavel Alexandrov and Nicolas 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