8093a8763a55e91e83b621e091f6da25cffc7dae 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. compilation_unit {
  2. package_statement {
  3. package_name: "ExplorerTest"
  4. }
  5. is_api: true
  6. declarations {
  7. function {
  8. name {
  9. name: "Main"
  10. }
  11. param_pattern {
  12. }
  13. return_term {
  14. kind: Expression
  15. type {
  16. int_type_literal {
  17. }
  18. }
  19. }
  20. body {
  21. statements {
  22. match {
  23. expression {
  24. int_literal {
  25. value: 0
  26. }
  27. }
  28. clauses {
  29. pattern {
  30. binding_pattern {
  31. name: "x"
  32. type {
  33. expression_pattern {
  34. expression {
  35. int_type_literal {
  36. }
  37. }
  38. }
  39. }
  40. }
  41. }
  42. statement {
  43. block {
  44. statements {
  45. variable_definition {
  46. pattern {
  47. binding_pattern {
  48. name: "x"
  49. type {
  50. expression_pattern {
  51. expression {
  52. int_type_literal {
  53. }
  54. }
  55. }
  56. }
  57. }
  58. }
  59. init {
  60. int_literal {
  61. value: 1
  62. }
  63. }
  64. is_returned: false
  65. }
  66. }
  67. statements {
  68. return_expression_statement {
  69. expression {
  70. identifier {
  71. name: "x"
  72. }
  73. }
  74. }
  75. }
  76. }
  77. }
  78. }
  79. }
  80. }
  81. statements {
  82. return_expression_statement {
  83. expression {
  84. int_literal {
  85. value: 0
  86. }
  87. }
  88. }
  89. }
  90. }
  91. }
  92. }
  93. }