| 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 |
| } |