Linden
8af94a7194
feat(class): allow private to be redefined
...
Allows self.private to defined as a new table, allowing it to
remain empty without being removed after instantiation.
Resolves #696 .
2025-01-26 04:05:29 +11:00
Linden
e10e8af0de
refactor(class): change type returned by lib.class
...
Return a new type named after the class, rather than OxClass.
We still can't use class generics (i.e. OxClass<`T`>), so classes
still need to be declared (e.g. ---@class Person : OxClass).
Also removed the experimental warning.
2024-07-26 15:23:43 +10:00
Linden
54b7701c36
refactor(class): disable experimental warning for internal modules
...
This warning is only important for 3rd party users.
2024-06-01 21:45:17 +10:00
Linden
c2efb22e38
refactor(class): mark mixins.new as protected
2024-05-19 15:33:16 +10:00
deFuzz
75f4ecbbea
fix(class): fixed private access in method calls ( #553 )
...
Co-authored-by: Linden <65407488+thelindat@users.noreply.github.com >
2024-04-28 12:08:15 +10:00
Linden
dcdfe6e442
fix(class): private access in method calls
...
Maybe there's better ways, but if it works..?
2024-04-18 23:19:09 +10:00
Linden
774da8f755
fix(class): use rawset during instantiation
...
If classes use a __newindex method it may lead to unexpected behaviour.
2024-04-13 11:15:30 +10:00
Linden
1456f4493e
refactor(class): remove support for class.init
2024-03-25 20:48:09 +11:00
Linden
e031f19bea
refactor(class): improve types
2024-03-25 20:14:49 +11:00
Linden
356f46d7ef
fix(class): only show warning if constructor is undefined
2024-03-13 00:01:17 +11:00
Linden
d105ebe7fe
refactor(class): improve types
2024-03-12 19:54:33 +11:00
Linden
8180feaa8c
fix(class): disallow calling constructor from objects
2024-03-12 19:54:11 +11:00
Linden
0d1140a54e
feat(class): true private fields
2024-03-12 17:37:18 +11:00
Linden
6f4f11ddb5
feat(class): deprecate init in favour of constructor
2024-03-12 16:10:57 +11:00
Linden
3135058310
refactor(class): stricter type-checking
2024-03-12 16:09:28 +11:00
Linden
105d265792
feat(class): add temporary super method during class init
2024-03-11 14:58:54 +11:00
Linden
92dc3688f8
feat(class): recursive instanceOf and isClass method
2024-03-11 11:21:07 +11:00
Linden
de49dff9b0
feat(class): add instanceOf method
2024-03-11 09:06:58 +11:00
Linden
d806668c65
refactor(class): use mixins for default class methods
2024-03-11 09:06:36 +11:00
Linden
1d449d407d
chore(class): remove sample code
2023-12-24 16:12:59 +11:00
Linden
dc0720a39e
refactor(class): syntax and method changes
...
Remove .new field when creating a new class.
Remove setMetamethod.
Support super inheritance.
2023-12-19 14:32:36 +11:00
Linden
8a5232c056
refactor(class): type checking
2023-12-18 11:21:28 +11:00
Linden
955acabd3c
feat(class): basic class implementation
...
wip, feedback appreciated.
2023-12-18 00:15:17 +11:00