Something went wrong. Try again.
A native-speed rewrite of the roblox-ts compiler in golang
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156export function f1() { try { print("try"); } catch (e) { print("caught", e); }}export function f2() { try { print("try"); } finally { print("finally"); }}export function f4() { try { print("x"); } catch { print("no binding"); }}export function f5(): number { try { return 1; } catch { return 2; } return 3;}export function f6() { for (let i = 0; i < 10; i++) { try { if (i === 5) { break; } print(i); } catch { continue; } }}export function f7(): number { while (true) { try { return 42; } catch { break; } } return 0;}export function f8(): number { try { try { return 1; } catch {} } catch {} return 2;}export function sw(v: number) { switch (v) { case 1: try { break; } catch {} default: print("d"); }}export function contOnly() { for (let i = 0; i < 3; i++) { try { continue; } catch {} }}export function finReturn(): number { try { print("t"); } finally { return 9; }}export function tcf(): number { try { return 1; } catch (e) { print(e); return 2; } finally { print("fin"); } return 3;}export function throwInTry() { try { throw "err"; } catch (e) { print(e); }}export function catchDestructure() { try { print("t"); } catch (e) { const { name } = e as { name: string }; print(name); }}declare function getTuple(): LuaTuple<[number, string]>;export function multi(): LuaTuple<[number, string]> { try { return $tuple(1, "a"); } catch {} return getTuple();}export function tupleVal(): LuaTuple<[number, string]> { try { return getTuple(); } catch {} return getTuple();}export function bareReturn() { try { if (math.random() > 0.5) { return; } print("x"); } catch {}}export async function tryInAsync(): Promise<number> { try { return await Promise.resolve(1); } catch (e) { return 2; }}export function loopInTry() { try { for (let i = 0; i < 3; i++) { if (i === 1) { break; } print(i); } } catch {}}export function fnInTry() { try { const f = () => { return 5; }; print(f()); } catch {}}