コード例 #1
0
ファイル: reach.c プロジェクト: DevL/ponyc
static void reachable_type_free(reachable_type_t* t)
{
  ast_free(t->type);
  reachable_method_names_destroy(&t->methods);
  reachable_type_cache_destroy(&t->subtypes);
  POOL_FREE(reachable_type_t, t);
}
コード例 #2
0
ファイル: reach.c プロジェクト: jersey99/ponyc
static void reachable_type_free(reachable_type_t* t)
{
  ast_free(t->ast);
  reachable_method_names_destroy(&t->methods);
  reachable_type_cache_destroy(&t->subtypes);

  if(t->field_count > 0)
  {
    for(uint32_t i = 0; i < t->field_count; i++)
      ast_free_unattached(t->fields[i].ast);

    free(t->fields);
    t->field_count = 0;
    t->fields = NULL;
  }

  POOL_FREE(reachable_type_t, t);
}