-enum namespace_entry_type_t {
- NAMESPACE_ENTRY_INVALID,
- NAMESPACE_ENTRY_METHOD,
- NAMESPACE_ENTRY_VARIABLE,
-};
-
-struct namespace_entry_t {
- namespace_entry_type_t type;
- namespace_entry_t *next;
- source_position_t source_position;
-};
-
-struct method_parameter_t {
- method_parameter_t *next;
- symbol_t *symbol;
- type_t *type;
- int num;
-};
-
-struct method_t {
- namespace_entry_t namespace_entry;
- symbol_t *symbol;
- method_type_t *type;
- method_parameter_t *parameters;
-
- statement_t *statement;
-};
-
-struct global_variable_t {
- namespace_entry_t namespace_entry;
- symbol_t *symbol;
- type_t *type;
-};
-
-struct namespace_t {
- namespace_entry_t *entries;