CommandHelper icon indicating copy to clipboard operation
CommandHelper copied to clipboard

[Feature request] Add cast function with sugared syntax

Open Pieter12345 opened this issue 4 years ago • 0 comments

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:

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.

Pieter12345 avatar Mar 20 '21 16:03 Pieter12345