CommandHelper

CommandHelper

46.5k Downloads

[Feature request] Add cast function with sugared syntax

Pieter12345 opened this issue ยท 0 comments

commented

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.