package Ġme . mat t co . ree va . runtime . builtins . promises Ċ Ċ import Ġme . mat t co . ree va . core . Realm Ċ import Ġme . mat t co . ree va . core . Throw Exception Ċ import Ġme . mat t co . ree va . runtime . JS Value Ċ import Ġme . mat t co . ree va . runtime . Operations Ċ import Ġme . mat t co . ree va . runtime . functions . JS Function Ċ import Ġme . mat t co . ree va . runtime . functions . JS Native Function Ċ import Ġme . mat t co . ree va . runtime . primitives . JS Undefined Ċ import Ġme . mat t co . ree va . utils . JS Arguments Ċ import Ġme . mat t co . ree va . utils . argument Ċ import Ġme . mat t co . ree va . utils . to Value Ċ Ċ class ĠJ SC atch Finally Function Ġprivate Ġconstructor ( ĊĠĠĠ Ġrealm : ĠRealm , ĊĠĠĠ Ġprivate Ġval Ġctor : ĠJS Function , ĊĠĠĠ Ġprivate Ġval Ġon Finally : ĠJS Function , Ċ ) Ġ: ĠJS Native Function ( realm , Ġ"", Ġ 1 ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġevaluate ( arguments : ĠJS Arguments ): ĠJS Value Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( new Target Ġ!= ĠJS Undefined ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" Unexpected Ġconstruction Ġof ĠJ SC atch Finally Function ") ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠOperations . call ( on Finally , ĠJS Undefined ) ĊĠĠĠĠĠĠĠ Ġval Ġpromise Ġ= ĠOperations . promise Resolve ( ctor , Ġresult ) ĊĠĠĠĠĠĠĠ Ġval Ġvalue Thunk Ġ= Ġfrom Lambda ( realm , Ġ"", Ġ 0 ) Ġ{ Ġ_, Ġ_ Ġ-> Ġthrow ĠThrow Exception ( arguments . argument ( 0 )) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠOperations . invoke ( promise , Ġ" then ". to Value (), ĠlistOf ( value Thunk )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( realm : ĠRealm , Ġctor : ĠJS Function , Ġon Finally : ĠJS Function ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJ SC atch Finally Function ( realm , Ġctor , Ġon Finally ). initialize () ĊĠĠĠ Ġ} Ċ } Ċ