void
set_package_name(const std::string&, source_location);
+ // Return whether this is the "main" package.
+ bool
+ is_main_package() const;
+
// If necessary, adjust the name to use for a hidden symbol. We add
// a prefix of the package name, so that hidden symbols in different
// packages do not collide.
void
simplify_thunk_statements();
+ // Convert named types to the backend representation.
+ void
+ convert_named_types();
+
+ // Convert named types in a list of bindings.
+ void
+ convert_named_types_in_bindings(Bindings*);
+
+ // True if named types have been converted to the backend
+ // representation.
+ bool
+ named_types_are_converted() const
+ { return this->named_types_are_converted_; }
+
// Write out the global values.
void
write_globals();
std::set<Import_init> imported_init_fns_;
// The unique prefix used for all global symbols.
std::string unique_prefix_;
+ // Whether an explicit unique prefix was set by -fgo-prefix.
+ bool unique_prefix_specified_;
// A list of interface types defined while parsing.
std::vector<Interface_type*> interface_types_;
+ // Whether named types have been converted.
+ bool named_types_are_converted_;
};
// A block of statements.