
                                                                 ┌──────────────────────────────────────┐                        ┌──────────────────────────────┐
                                                                 │     FACEBOOK THRIFT COMPILER AST     │                        │  Last update: Aug 16, 2021   │
                                                                 └──────────────────────────────────────┘                        └──────────────────────────────┘


                                                                         ┌─────────────────────┐
                                                                         │       t_node        │
                                                                         └─────────────────────┘
                                                                                    │
                                                                                    │
                     ┌──────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────┐
                     │                                                              │                                                            │
                     │                                                              │                                                            │
          ┌──────────▼──────────┐                                        ┌──────────▼──────────┐                                      ┌──────────▼──────────┐
          │      t_include      │                                        │       t_named       │                                      │      t_program      │
          └─────────────────────┘                                        └─────────────────────┘                                      └─────────────────────┘
                                                                                    │                                                            │
                                                                                    │                                                            │
                                     ┌────────────────────┬────────────────────┬────┴───────────────┬────────────────────┐                       │
                                     │                    │                    │                    │                    │                       │
                                     │                    │                    │                    │                    │                       │
                           ┌─────────▼────────┐ ┌─────────▼────────┐ ┌─────────▼────────┐ ┌─────────▼────────┐ ┌─────────▼────────┐   ┌──────────▼──────────┐
                           │     t_const      │ │   t_enum_value   │ │      t_type      │ │     t_field      │ │    t_function    │   │   t_program_fake    │
                           └──────────────────┘ └──────────────────┘ └──────────────────┘ └──────────────────┘ └──────────────────┘   └─────────────────────┘
                                                                               │
                    ┌────────────────────┬──────────────────────┬──────────────┴───────┬───────────────────────┬───────────────────────┬───────────────────────┐
                    │                    │                      │                      │                       │                       │                       │
          ┌─────────▼────────┐ ┌─────────▼────────┐   ┌─────────▼────────┐   ┌─────────▼────────┐    ┌─────────▼────────┐    ┌─────────▼────────┐    ┌─────────▼────────┐
          │   t_base_type    │ │      t_enum      │   │ t_templated_type │   │   t_type_fake    │    │   t_structured   │    │    t_typedef     │    │   t_interface    │
          └──────────────────┘ └──────────────────┘   └──────────────────┘   └──────────────────┘    └──────────────────┘    └──────────────────┘    └──────────────────┘
                                                                │                                              │                       │                       │
                                                                │                                              │                       │                       │
                              ┌────────────────────┬────────────┴───────┐                                      │                       │                       │
                              │                    │                    │                                      │                       │                       │
                    ┌─────────▼────────┐ ┌─────────▼────────┐ ┌─────────▼─────────┐                  ┌─────────▼────────┐  ┌───────────▼──────────┐  ┌─────────▼────────┐
                    │   t_container    │ │      t_sink      │ │ t_stream_response │                  │     t_struct     │  │t_placeholder_typedef │  │    t_service     │
                    └──────────────────┘ └──────────────────┘ └───────────────────┘                  └──────────────────┘  └──────────────────────┘  └──────────────────┘
                              │                                                                                │                                               │
                              │                                                                                │                                               │
           ┌──────────────────┴─┬────────────────────┐                    ┌────────────────────┬───────────────┴────┬────────────────────┐                     │
           │                    │                    │                    │                    │                    │                    │                     │
 ┌─────────▼────────┐ ┌─────────▼────────┐ ┌─────────▼────────┐ ┌─────────▼────────┐ ┌─────────▼────────┐ ┌─────────▼────────┐ ┌─────────▼─────────┐ ┌─────────▼────────┐
 │      t_list      │ │      t_map       │ │      t_set       │ │   t_exception    │ │   t_paramlist    │ │     t_throws     │ │      t_union      │ │  t_interaction   │
 └──────────────────┘ └──────────────────┘ └──────────────────┘ └──────────────────┘ └──────────────────┘ └──────────────────┘ └───────────────────┘ └──────────────────┘
