| 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 [-1] [-1] •() → 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 [334] [347] •([340, -1] initializing-formal core::double length) → self::Square |
| : [340] self::Square::length = [340] [340] length, [328] super core::Object::• [328]() |
| [-1] ; |
| } |
| [358]class Circle extends core::Object implements self::Shape { |
| [399] final field core::double radius; |
| [409] constructor [415] [428] •([421, -1] initializing-formal core::double radius) → self::Circle |
| : [421] self::Circle::radius = [421] [421] radius, [409] super core::Object::• [409]() |
| [-1] ; |
| } |
| [440]static method [453] [685] calculateArea([460, -1] self::Shape shape) → core::double |
| [470] return [470] [470] block { |
| [-1] [-1, -1] core::double #t1; |
| [478] [478, -1] final synthesized self::Shape #0#0 = [478] [478] shape; |
| [-1] [-1, -1] synthesized core::double #0#2; |
| [-1] [-1, -1] synthesized core::bool #0#2#isSet = [502] [502] false; |
| [-1] [-1, -1] synthesized core::double #0#4; |
| [-1] [-1, -1] synthesized core::bool #0#4#isSet = [548] [548] false; |
| [470] #L1: |
| [470] { |
| [523] { |
| [508] [508, -1] hoisted core::double l; |
| [523] if([-1] [-1] [489] [489] [489] [489] [-1] [-1] #0#0 is self::Square && [508]([508] let [508, -1] final dynamic #t2 = [508] [508] l = [502] [502] [-1] [-1] #0#2#isSet ?{core::double} [502] [502] #0#2 : [502] [502] let [502, -1] final dynamic #t3 = [502] [502] #0#2#isSet = [502] [502] true in [502] [502] #0#2 = [502] [502] [-1] [-1] #0#0{self::Square}.{self::Square::length}{core::double} in [-1] [-1] true) && [518] [518] [516] [516] l.{core::num::>=}[518]([521] 0){(core::num) → core::bool}) { |
| [-1] [-1] [-1] #t1 = [528] [528] [526] [526] l.{core::double::*}[528]([530] l){(core::num) → core::double}; |
| [523] break #L1; |
| } |
| } |
| [569] { |
| [554] [554, -1] hoisted core::double r; |
| [569] if([-1] [-1] [535] [535] [535] [535] [-1] [-1] #0#0 is self::Circle && [554]([554] let [554, -1] final dynamic #t4 = [554] [554] r = [548] [548] [-1] [-1] #0#4#isSet ?{core::double} [548] [548] #0#4 : [548] [548] let [548, -1] final dynamic #t5 = [548] [548] #0#4#isSet = [548] [548] true in [548] [548] #0#4 = [548] [548] [-1] [-1] #0#0{self::Circle}.{self::Circle::radius}{core::double} in [-1] [-1] true) && [564] [564] [562] [562] r.{core::num::>=}[564]([567] 0){(core::num) → core::bool}) { |
| [-1] [-1] [-1] #t1 = [579] [579] [575] [575] [572] [572] #C1.{core::double::*}[575]([577] r){(core::num) → core::double}.{core::double::*}[579]([581] r){(core::num) → core::double}; |
| [569] break #L1; |
| } |
| } |
| [619] { |
| [605] [605, -1] hoisted core::double l; |
| [619] if([-1] [-1] [586] [586] [586] [586] [-1] [-1] #0#0 is self::Square && [605]([605] let [605, -1] final dynamic #t6 = [605] [605] l = [502] [502] [-1] [-1] #0#2#isSet ?{core::double} [502] [502] #0#2 : [502] [502] let [502, -1] final dynamic #t7 = [502] [502] #0#2#isSet = [502] [502] true in [502] [502] #0#2 = [502] [502] [-1] [-1] #0#0{self::Square}.{self::Square::length}{core::double} in [-1] [-1] true) && [615] [615] [613] [613] l.{core::num::<}[615]([617] 0){(core::num) → core::bool}) { |
| [-1] [-1] [-1] #t1 = [622] [622] -1.0; |
| [619] break #L1; |
| } |
| } |
| [661] { |
| [647] [647, -1] hoisted core::double r; |
| [661] if([-1] [-1] [628] [628] [628] [628] [-1] [-1] #0#0 is self::Circle && [647]([647] let [647, -1] final dynamic #t8 = [647] [647] r = [548] [548] [-1] [-1] #0#4#isSet ?{core::double} [548] [548] #0#4 : [548] [548] let [548, -1] final dynamic #t9 = [548] [548] #0#4#isSet = [548] [548] true in [548] [548] #0#4 = [548] [548] [-1] [-1] #0#0{self::Circle}.{self::Circle::radius}{core::double} in [-1] [-1] true) && [657] [657] [655] [655] r.{core::num::<}[657]([659] 0){(core::num) → core::bool}) { |
| [-1] [-1] [-1] #t1 = [664] [664] -1.0; |
| [661] break #L1; |
| } |
| } |
| [678] { |
| [678] if([670] [670] true) { |
| [-1] [-1] [-1] #t1 = [681] [681] 0.0; |
| [678] break #L1; |
| } |
| } |
| } |
| } =>[-1] [-1] #t1; |
| [688]static method [696] [732] testMain() → dynamic { |
| [703] [703] [703] self::calculateArea [716]([717] new self::Circle::• [723]([724] -123.0)); |
| } |
| |
| constants { |
| #C1 = 3.141592653589793 |
| } |