EngineHub / EngineHub/CommandHelper
[Feature request] Add cast function with sugared syntax
- Dominant language
- Java
- Stars
- 128
- Forks
- 70
- PR merge metrics
- No merged PRs in 30d
Description
# Problem
MethodScript currently does not have a method to cast to any desired type. This makes it impossible to fully statically type programs such as:
```java
mixed @a = ...;
if(@a instanceof array) {
array @arr = @a; // Typecheck error, need to insert a cast.
}
```
# Proposed solution
- Add a `cast(mixed, classtype)` function that casts the given mixed to the given classtype, or throws a `ClassCastException` when it can't.
- Add `(type) expression` syntax that compiles to `cast(expression, type)`.
Note that MethodScript currently does have `integer(mixed)`, `string(mixed)`, `boolean(mixed)` and `double(mixed)` that all cast to one specific type.
Contributor guide
Assessment
This issue has not been assessed yet.