file build/site-targets/enums/zx/enums.zx bundle entry enums:main laws 0 waivers 0 assets 0 module enums from enums.zi type Shape enum @ enums.zi:2:1 = "CIRCLE = 0\nSQUARE = 1\nTRIANGLE = 2\n" function Corners(shape: Shape) -> s32 @ enums.zi:8:1 stmt 0 decl name=case_value_0 type=Shape expr=%0 text="case_value_0: Shape = shape" stmt 1 if expr=%4 text="if case_value_0 == cast(Shape) Shape.CIRCLE {" stmt 2 return expr=%5 text="return 0;" stmt 3 block_close text="}" stmt 4 if expr=%9 else text="else if case_value_0 == cast(Shape) Shape.SQUARE {" stmt 5 return expr=%10 text="return 4;" stmt 6 block_close text="}" stmt 7 if expr=%14 else text="else if case_value_0 == cast(Shape) Shape.TRIANGLE {" stmt 8 return expr=%15 text="return 3;" stmt 9 block_close text="}" stmt 10 return expr=%17 text="return -1;" %0 ident type=Shape name=shape text="shape" %1 ident type=Shape name=case_value_0 text="case_value_0" %2 int type=Shape op=. text="0" %3 cast type=Shape name=Shape right=%2 text="cast(Shape) Shape.CIRCLE" %4 binary type=bool op=== left=%1 right=%3 text="case_value_0 == cast(Shape) Shape.CIRCLE" %5 int type=integer text="0" %6 ident type=Shape name=case_value_0 text="case_value_0" %7 int type=Shape op=. text="1" %8 cast type=Shape name=Shape right=%7 text="cast(Shape) Shape.SQUARE" %9 binary type=bool op=== left=%6 right=%8 text="case_value_0 == cast(Shape) Shape.SQUARE" %10 int type=integer text="4" %11 ident type=Shape name=case_value_0 text="case_value_0" %12 int type=Shape op=. text="2" %13 cast type=Shape name=Shape right=%12 text="cast(Shape) Shape.TRIANGLE" %14 binary type=bool op=== left=%11 right=%13 text="case_value_0 == cast(Shape) Shape.TRIANGLE" %15 int type=integer text="3" %16 int type=integer text="1" %17 unary type=integer op=- right=%16 text="-1" function main() -> void @ enums.zi:17:1 stmt 0 expr expr=%3 text="print(\"a circle has % corners\\n\", Corners(Shape.CIRCLE));" stmt 1 expr expr=%7 text="print(\"a square has % corners\\n\", Corners(Shape.SQUARE));" stmt 2 expr expr=%11 text="print(\"a triangle has % corners\\n\", Corners(Shape.TRIANGLE));" %0 string type=string next=%2 text="\"a circle has % corners\\n\"" %1 int type=Shape text="0" %2 call type=s32 name=Corners child=%1 text="Corners(Shape.CIRCLE)" %3 call type=void name=print child=%0 text="print(\"a circle has % corners\\n\", Corners(Shape.CIRCLE))" %4 string type=string next=%6 text="\"a square has % corners\\n\"" %5 int type=Shape text="1" %6 call type=s32 name=Corners child=%5 text="Corners(Shape.SQUARE)" %7 call type=void name=print child=%4 text="print(\"a square has % corners\\n\", Corners(Shape.SQUARE))" %8 string type=string next=%10 text="\"a triangle has % corners\\n\"" %9 int type=Shape text="2" %10 call type=s32 name=Corners child=%9 text="Corners(Shape.TRIANGLE)" %11 call type=void name=print child=%8 text="print(\"a triangle has % corners\\n\", Corners(Shape.TRIANGLE))"