blob: cae2d68c727d75260501073b7cab76a06871947c [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
[217]import "dart:math" show pi;
[261]abstract class Shape extends core::Object {
[261] synthetic constructor •() self::Shape
: [-1] super core::Object::• [-1]()
[-1] ;
}
[277]class Square extends core::Object implements self::Shape {
[318] final field core::double length;
[328] constructor •([340] core::double length) self::Square
: [340] self::Square::length = [-1] [-1] length, [328] super core::Object::• [-1]()
[-1] ;
}
[358]class Circle extends core::Object implements self::Shape {
[399] final field core::double radius;
[409] constructor •([421] core::double radius) self::Circle
: [421] self::Circle::radius = [-1] [-1] radius, [409] super core::Object::• [-1]()
[-1] ;
}
[440]static method calculateArea([460] self::Shape shape) core::double
[470] return [470] [470] block {
[-1] [-1] core::double #t1;
[478] [478] final synthesized self::Shape #0#0 = [478] [478] shape;
[-1] [-1] synthesized core::double #0#2;
[-1] [-1] synthesized core::bool #0#2#isSet = [506] [506] false;
[-1] [-1] synthesized core::double #0#4;
[-1] [-1] synthesized core::bool #0#4#isSet = [556] [556] false;
[470] #L1:
[470] {
[527] {
[512] [512] hoisted core::double l;
[527] if([-1] [-1] [493] [493] [493] [493] [-1] [-1] #0#0 is self::Square && [512]([512] let [512] final core::double #t2 = [512] [512] l = [506] [506] [-1] [-1] #0#2#isSet ?{core::double} [-1] [-1] #0#2{core::double} : [506] [506] let [506] final core::bool #t3 = [506] [506] #0#2#isSet = [506] [506] true in [506] [506] #0#2 = [506] [506] [-1] [-1] #0#0{self::Square}.{self::Square::length}{core::double} in [-1] [-1] true) && [522] [522] [520] [520] l.{core::num::>=}[522]([525] 0){(core::num) → core::bool}) {
[-1] [-1] [-1] #t1 = [532] [532] [530] [530] l.{core::double::*}[532]([534] l){(core::num) → core::double};
[527] break #L1;
}
}
[577] {
[562] [562] hoisted core::double r;
[577] if([-1] [-1] [543] [543] [543] [543] [-1] [-1] #0#0 is self::Circle && [562]([562] let [562] final core::double #t4 = [562] [562] r = [556] [556] [-1] [-1] #0#4#isSet ?{core::double} [-1] [-1] #0#4{core::double} : [556] [556] let [556] final core::bool #t5 = [556] [556] #0#4#isSet = [556] [556] true in [556] [556] #0#4 = [556] [556] [-1] [-1] #0#0{self::Circle}.{self::Circle::radius}{core::double} in [-1] [-1] true) && [572] [572] [570] [570] r.{core::num::>=}[572]([575] 0){(core::num) → core::bool}) {
[-1] [-1] [-1] #t1 = [587] [587] [583] [583] [580] [580] #C1.{core::double::*}[583]([585] r){(core::num) → core::double}.{core::double::*}[587]([589] r){(core::num) → core::double};
[577] break #L1;
}
}
[631] {
[617] [617] hoisted core::double l;
[631] if([-1] [-1] [598] [598] [598] [598] [-1] [-1] #0#0 is self::Square && [617]([617] let [617] final core::double #t6 = [617] [617] l = [506] [506] [-1] [-1] #0#2#isSet ?{core::double} [-1] [-1] #0#2{core::double} : [506] [506] let [506] final core::bool #t7 = [506] [506] #0#2#isSet = [506] [506] true in [506] [506] #0#2 = [506] [506] [-1] [-1] #0#0{self::Square}.{self::Square::length}{core::double} in [-1] [-1] true) && [627] [627] [625] [625] l.{core::num::<}[627]([629] 0){(core::num) → core::bool}) {
[-1] [-1] [-1] #t1 = [634] [634] -1.0;
[631] break #L1;
}
}
[677] {
[663] [663] hoisted core::double r;
[677] if([-1] [-1] [644] [644] [644] [644] [-1] [-1] #0#0 is self::Circle && [663]([663] let [663] final core::double #t8 = [663] [663] r = [556] [556] [-1] [-1] #0#4#isSet ?{core::double} [-1] [-1] #0#4{core::double} : [556] [556] let [556] final core::bool #t9 = [556] [556] #0#4#isSet = [556] [556] true in [556] [556] #0#4 = [556] [556] [-1] [-1] #0#0{self::Circle}.{self::Circle::radius}{core::double} in [-1] [-1] true) && [673] [673] [671] [671] r.{core::num::<}[673]([675] 0){(core::num) → core::bool}) {
[-1] [-1] [-1] #t1 = [680] [680] -1.0;
[677] break #L1;
}
}
[698] {
[698] if([690] [690] true) {
[-1] [-1] [-1] #t1 = [701] [701] 0.0;
[698] break #L1;
}
}
}
} =>[-1] [-1] #t1;
[711]static method testMain() dynamic {
[726] [726] [726] self::calculateArea [739]([740] new self::Circle::• [746]([747] -123.0));
}
constants {
#C1 = 3.141592653589793
}