@@ -160,21 +160,21 @@ namespace ipr::impl {
160160 using Transfer = impl::Basic_binary<ipr::Transfer>;
161161
162162 // -- Specialized implementation of ipr::Transfer
163- // An object of this class pairs a specified linkage with the natural
163+ // An object of this class pairs a specified language linkage with the natural
164164 // C++ calling convention.
165165 struct Transfer_from_linkage : ipr::Transfer {
166- constexpr explicit Transfer_from_linkage (const ipr::Linkage & l) : link{l} { }
167- const ipr::Linkage & first () const final { return link; }
166+ constexpr explicit Transfer_from_linkage (const ipr::Language_linkage & l) : link{l} { }
167+ const ipr::Language_linkage & first () const final { return link; }
168168 const ipr::Calling_convention& second () const final ;
169169 private:
170- const ipr::Linkage & link;
170+ const ipr::Language_linkage & link;
171171 };
172172
173173 // -- Specialized implementation of ipr::Transfer
174174 // An object of this class pairs the C++ language linkage with a specified calling convention.
175175 struct Transfer_from_cc : ipr::Transfer {
176176 constexpr explicit Transfer_from_cc (const ipr::Calling_convention& cc) : conv{cc} { }
177- const ipr::Linkage & first () const final ;
177+ const ipr::Language_linkage & first () const final ;
178178 const ipr::Calling_convention& second () const final { return conv; }
179179 private:
180180 const ipr::Calling_convention& conv;
@@ -441,8 +441,8 @@ namespace ipr::impl {
441441 const ipr::Transfer& cxx_transfer ();
442442
443443 // The two language linkages required of all C++ implementations.
444- const ipr::Linkage & c_linkage ();
445- inline const ipr::Linkage & cxx_linkage () { return cxx_transfer ().linkage (); }
444+ const ipr::Language_linkage & c_linkage ();
445+ inline const ipr::Language_linkage & cxx_linkage () { return cxx_transfer ().language_linkage (); }
446446
447447 // The type of types, including itselt.
448448 // Yes, we have a ``Type: Type'' problem.
@@ -730,7 +730,7 @@ namespace ipr::impl {
730730 unique_decl () : seq{*this } { }
731731 ipr::Specifiers specifiers () const override { return { }; }
732732 const ipr::Decl& master () const final { return *this ; }
733- const ipr::Linkage& linkage () const final { return impl::cxx_linkage (); }
733+ const ipr::Language_linkage& language_linkage () const final { return impl::cxx_linkage (); }
734734 const ipr::Sequence<ipr::Decl>& decl_set () const final { return seq; }
735735 private:
736736 singleton_ref<ipr::Decl> seq;
@@ -1327,7 +1327,7 @@ namespace ipr::impl {
13271327 return compare (lhs.what (), rhs.what ());
13281328 }
13291329
1330- inline int compare (const ipr::Linkage & lhs, const ipr::Linkage & rhs)
1330+ inline int compare (const ipr::Language_linkage & lhs, const ipr::Language_linkage & rhs)
13311331 {
13321332 return compare (lhs.language (), rhs.language ());
13331333 }
@@ -1389,7 +1389,7 @@ namespace ipr::impl {
13891389 struct master_decl_data : basic_decl_data<Interface>, overload_entry {
13901390 // The declaration that is considered to be the definition.
13911391 Optional<Interface> def { };
1392- util::ref<const ipr::Linkage> langlinkage { };
1392+ util::ref<const ipr::Language_linkage> lang_linkage { };
13931393
13941394 // The overload set that contains this master declaration. It
13951395 // shall be set at the time the node for the master declaration
@@ -1410,7 +1410,7 @@ namespace ipr::impl {
14101410 using Base = basic_decl_data<ipr::Template>;
14111411 // The declaration that is considered to be the definition.
14121412 Optional<ipr::Template> def { };
1413- util::ref<const ipr::Linkage> langlinkage { };
1413+ util::ref<const ipr::Language_linkage> lang_linkage { };
14141414 const ipr::Template* primary;
14151415 const ipr::Region* home;
14161416
@@ -1489,9 +1489,9 @@ namespace ipr::impl {
14891489
14901490 Decl () : decl_data{ nullptr } { }
14911491
1492- const ipr::Linkage& linkage () const final
1492+ const ipr::Language_linkage& language_linkage () const final
14931493 {
1494- return util::check (decl_data.master_data )->langlinkage .get ();
1494+ return util::check (decl_data.master_data )->lang_linkage .get ();
14951495 }
14961496
14971497 const ipr::Region& home_region () const final {
@@ -2225,9 +2225,9 @@ namespace ipr::impl {
22252225 // as setting their types (as expressions) and their names.
22262226
22272227 struct type_factory {
2228- const ipr::Transfer& get_transfer_from_linkage (const ipr::Linkage &);
2228+ const ipr::Transfer& get_transfer_from_linkage (const ipr::Language_linkage &);
22292229 const ipr::Transfer& get_transfer_from_convention (const ipr::Calling_convention&);
2230- const ipr::Transfer& get_transfer (const ipr::Linkage &, const ipr::Calling_convention&);
2230+ const ipr::Transfer& get_transfer (const ipr::Language_linkage &, const ipr::Calling_convention&);
22312231
22322232 // Build an IPR node for an expression that denotes a type.
22332233 // The transfer protocol, if not specified, is assumed to be C++.
@@ -2536,8 +2536,8 @@ namespace ipr::impl {
25362536
25372537 struct expr_factory : name_factory {
25382538 // Returns an IPR node a language linkage.
2539- const ipr::Linkage & get_linkage (util::word_view);
2540- const ipr::Linkage & get_linkage (const ipr::String&);
2539+ const ipr::Language_linkage & get_linkage (util::word_view);
2540+ const ipr::Language_linkage & get_linkage (const ipr::String&);
25412541
25422542 // Rerturn an IPR for a calling convention.
25432543 const ipr::Calling_convention& get_calling_convention (util::word_view);
@@ -2662,7 +2662,7 @@ namespace ipr::impl {
26622662 impl::Static_assert* make_static_assert_expr (const ipr::Expr&, Optional<ipr::String> = { });
26632663
26642664 private:
2665- util::rb_tree::container<ipr::Linkage > linkages;
2665+ util::rb_tree::container<ipr::Language_linkage > linkages;
26662666 util::rb_tree::container<ipr::Calling_convention> conventions;
26672667
26682668 util::rb_tree::container<impl::Literal> lits;
@@ -2830,8 +2830,8 @@ namespace ipr::impl {
28302830 Lexicon ();
28312831 ~Lexicon ();
28322832
2833- const ipr::Linkage & cxx_linkage () const final ;
2834- const ipr::Linkage & c_linkage () const final ;
2833+ const ipr::Language_linkage & cxx_linkage () const final ;
2834+ const ipr::Language_linkage & c_linkage () const final ;
28352835
28362836 ipr::Specifiers export_specifier () const final ;
28372837 ipr::Specifiers static_specifier () const final ;
0 commit comments