f58bb0ee703a6ef927e40ef61ae26be39faf1110 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. compilation_unit {
  2. package_statement {
  3. package_name: "Foo"
  4. }
  5. is_api: true
  6. declarations {
  7. function {
  8. name {
  9. name: "F"
  10. }
  11. self_pattern {
  12. binding_pattern {
  13. name: "self"
  14. type {
  15. expression_pattern {
  16. expression {
  17. int_type_literal {
  18. }
  19. }
  20. }
  21. }
  22. }
  23. }
  24. param_pattern {
  25. }
  26. return_term {
  27. kind: Omitted
  28. }
  29. body {
  30. }
  31. }
  32. }
  33. declarations {
  34. function {
  35. name {
  36. name: "Main"
  37. }
  38. param_pattern {
  39. }
  40. return_term {
  41. kind: Expression
  42. type {
  43. int_type_literal {
  44. }
  45. }
  46. }
  47. body {
  48. statements {
  49. expression_statement {
  50. expression {
  51. call {
  52. function {
  53. compound_member_access {
  54. object {
  55. int_literal {
  56. value: 42
  57. }
  58. }
  59. path {
  60. identifier {
  61. name: "F"
  62. }
  63. }
  64. }
  65. }
  66. argument {
  67. tuple_literal {
  68. }
  69. }
  70. }
  71. }
  72. }
  73. }
  74. statements {
  75. return_expression_statement {
  76. expression {
  77. int_literal {
  78. value: 0
  79. }
  80. }
  81. }
  82. }
  83. }
  84. }
  85. }
  86. }