// Copyright (c) 2024 Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/)

////////////////////////////////
//~ PDB Stringize Functions

internal void
pdb_stringize_tpi_hash(Arena *arena, String8List *out, PDB_TpiHashParsed *hash){
  U32 bucket_count = hash->bucket_count;
  str8_list_pushf(arena, out, "bucket_count=%u\n\n", bucket_count);
  for (U32 i = 0; i < bucket_count; i += 1){
    if (hash->buckets[i] != 0){
      str8_list_pushf(arena, out, "bucket[%u]:\n", i);
      for (PDB_TpiHashBlock *block = hash->buckets[i];
           block != 0;
           block = block->next){
        U32 local_count = block->local_count;
        CV_TypeId *itype_ptr = block->itypes;
        for (U32 j = 0; j < local_count; j += 1, itype_ptr += 1){
          str8_list_pushf(arena, out, " %u\n", *itype_ptr);
        }
      }
      str8_list_push(arena, out, str8_lit("\n"));
    }
  }
}
