blob: c77b0ec3c0bd77b8cdb5467d02a8c0283bc7a274 [file]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
static method getLocation(core::String name) (core::double, core::double) {
if(name =={core::String::==}{(core::Object) core::bool} "Aarhus") {
return (56.1629, 10.2039);
}
else {
return (0.0, 0.0);
}
}
static method main(core::List<core::String> arguments) void {
final hoisted has-declared-initializer core::double lat;
final hoisted has-declared-initializer core::double long;
{
final synthesized dynamic #0#0 = self::getLocation("Aarhus");
if(!((let final dynamic #t1 = lat = #0#0{(core::double, core::double)}.$1{core::double} in true) && (let final dynamic #t2 = long = #0#0{(core::double, core::double)}.$2{core::double} in true)))
throw new core::StateError::•("Pattern matching error");
}
core::print("Current location: ${lat}, ${long}");
self::expect(56.1629, lat);
self::expect(10.2039, long);
}
static method expect(dynamic expected, dynamic actual) dynamic {
if(!(expected =={core::Object::==}{(core::Object) core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}