@@ -618,18 +618,9 @@ DemangledTypeNode DemangledTypeNode::WideCharType(size_t width, const string& al
618618}
619619
620620
621- DemangledTypeNode DemangledTypeNode::ValueType (const string& value)
622- {
623- DemangledTypeNode n;
624- n.m_typeClass = ValueTypeClass;
625- n.m_altName = value;
626- return n;
627- }
628-
629-
630621DemangledTypeNode DemangledTypeNode::NameSegment (const string& name)
631622{
632- return ValueType ( name);
623+ return NamedType (UnknownNamedTypeClass, StringList{ name} );
633624}
634625
635626
@@ -1037,8 +1028,6 @@ void DemangledTypeNode::SetTemplateArguments(vector<Param> args, bool spaceAfter
10371028
10381029string DemangledTypeNode::GetNameSegmentBase () const
10391030{
1040- if (m_typeClass == ValueTypeClass)
1041- return m_altName;
10421031 if (!m_nameSegments.empty ())
10431032 return m_nameSegments.back ();
10441033 if (!m_nameSegmentNodes.empty ())
@@ -1049,11 +1038,6 @@ string DemangledTypeNode::GetNameSegmentBase() const
10491038
10501039void DemangledTypeNode::SetNameSegmentBase (const string& name)
10511040{
1052- if (m_typeClass == ValueTypeClass)
1053- {
1054- m_altName = name;
1055- return ;
1056- }
10571041 if (!m_nameSegments.empty ())
10581042 {
10591043 m_nameSegments.back () = name;
@@ -1064,8 +1048,9 @@ void DemangledTypeNode::SetNameSegmentBase(const string& name)
10641048 m_nameSegmentNodes.back ().SetNameSegmentBase (name);
10651049 return ;
10661050 }
1067- m_typeClass = ValueTypeClass;
1068- m_altName = name;
1051+ m_typeClass = NamedTypeReferenceClass;
1052+ m_ntrClass = UnknownNamedTypeClass;
1053+ m_nameSegments = StringList{name};
10691054}
10701055
10711056
@@ -1166,7 +1151,7 @@ void DemangledTypeNode::AppendPointerSuffix(string& out) const
11661151
11671152void DemangledTypeNode::AppendTemplateArguments (string& out) const
11681153{
1169- if (m_templateArgs.empty () && m_hasTemplateArgs && m_typeClass == ValueTypeClass )
1154+ if (m_templateArgs.empty () && m_hasTemplateArgs)
11701155 {
11711156 out += " <>" ;
11721157 return ;
@@ -1177,12 +1162,6 @@ void DemangledTypeNode::AppendTemplateArguments(string& out) const
11771162
11781163void DemangledTypeNode::AppendNameSegment (string& out) const
11791164{
1180- if (m_typeClass == ValueTypeClass)
1181- {
1182- out += m_altName;
1183- AppendTemplateArguments (out);
1184- return ;
1185- }
11861165 if (m_typeClass == NamedTypeReferenceClass)
11871166 {
11881167 AppendTypeName (out);
@@ -1391,11 +1370,6 @@ void DemangledTypeNode::AppendBeforeName(string& out, const DemangledTypeNode* p
13911370 AppendModifiers (out);
13921371 break ;
13931372
1394- case ValueTypeClass:
1395- out += m_altName;
1396- AppendTemplateArguments (out);
1397- break ;
1398-
13991373 default :
14001374 break ;
14011375 }
@@ -1585,9 +1559,6 @@ Ref<Type> DemangledTypeNode::Finalize(Architecture* arch, Platform* platform) co
15851559 return tb.Finalize ();
15861560 }
15871561
1588- case ValueTypeClass:
1589- return Type::ValueType (m_altName);
1590-
15911562 case PointerTypeClass:
15921563 {
15931564 Ref<Type> child = m_childType ? m_childType->Finalize (arch, platform) : Ref<Type>(Type::VoidType ());
0 commit comments