Lines Matching refs:container
529 /* A container for the data we pass around when generating information
666 /* Write the Go version of TYPE to CONTAINER->TYPE_OBSTACK.
676 go_format_type (class godump_container *container, tree type,
691 ob = &container->type_obstack;
710 slot = htab_find_slot (container->invalid_hash, IDENTIFIER_POINTER (name),
719 container->pot_dummy_types.add (IDENTIFIER_POINTER (name));
732 slot = htab_find_slot (container->invalid_hash,
834 if (!go_format_type (container, TREE_TYPE (type), use_type_name,
860 if (!go_format_type (container, TREE_TYPE (type), use_type_name, false,
943 (ob, field, container->keyword_hash);
959 slot = htab_find_slot (container->invalid_hash,
970 if (!go_format_type (container, TREE_TYPE (field), true,
1033 if (!go_format_type (container, arg_type, true, false, NULL, false))
1049 if (!go_format_type (container, result, use_type_name, false, NULL,
1069 go_output_type (class godump_container *container)
1073 ob = &container->type_obstack;
1082 go_output_fndecl (class godump_container *container, tree decl)
1084 if (!go_format_type (container, TREE_TYPE (decl), true, true, NULL, false))
1088 go_output_type (container);
1096 go_output_typedef (class godump_container *container, tree decl)
1102 && !container->decls_seen.contains (TREE_TYPE (decl))
1104 || !container->decls_seen.contains
1142 container->decls_seen.add (TREE_TYPE (decl));
1144 container->decls_seen.add (TYPE_CANONICAL (TREE_TYPE (decl)));
1166 slot = htab_find_slot (container->type_hash, type, INSERT);
1171 if (!go_format_type (container, original_type, true, false,
1175 slot = htab_find_slot (container->invalid_hash, type, INSERT);
1180 go_output_type (container);
1193 container->decls_seen.add (decl);
1205 slot = htab_find_slot (container->type_hash, type, INSERT);
1210 if (!go_format_type (container, TREE_TYPE (decl), false, false, NULL,
1214 slot = htab_find_slot (container->invalid_hash, type, INSERT);
1219 go_output_type (container);
1237 go_output_var (class godump_container *container, tree decl)
1243 if (container->decls_seen.contains (decl)
1244 || container->decls_seen.contains (DECL_NAME (decl)))
1246 container->decls_seen.add (decl);
1247 container->decls_seen.add (DECL_NAME (decl));
1258 && (!htab_find_slot (container->type_hash, IDENTIFIER_POINTER (id),
1260 || htab_find_slot (container->invalid_hash, IDENTIFIER_POINTER (id),
1267 ob = &container->type_obstack;
1270 is_valid = htab_find_slot (container->type_hash, IDENTIFIER_POINTER (id),
1274 is_valid = go_format_type (container, TREE_TYPE (decl), true, false, NULL,
1277 && htab_find_slot (container->type_hash,
1290 go_output_type (container);
1298 container->pot_dummy_types.add (IDENTIFIER_POINTER (type_name));
1300 container->pot_dummy_types.add
1326 keyword_hash_init (class godump_container *container)
1334 slot = htab_find_slot (container->keyword_hash, keywords[i], INSERT);
1363 class godump_container container;
1369 container.type_hash = htab_create (100, htab_hash_string,
1371 container.invalid_hash = htab_create (10, htab_hash_string,
1373 container.keyword_hash = htab_create (50, htab_hash_string,
1375 obstack_init (&container.type_obstack);
1377 keyword_hash_init (&container);
1384 go_output_fndecl (&container, decl);
1388 go_output_typedef (&container, decl);
1392 go_output_var (&container, decl);
1403 container.pot_dummy_types.traverse<godump_container *, find_dummy_types>
1404 (&container);
1406 htab_delete (container.type_hash);
1407 htab_delete (container.invalid_hash);
1408 htab_delete (container.keyword_hash);
1409 obstack_free (&container.type_obstack, NULL);