File indexing completed on 2024-04-28 15:52:49

0001 /*
0002     SPDX-FileCopyrightText: 2009 Milian Wolff <mail@milianw.de>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "structuretype.h"
0008 
0009 #include <language/duchain/types/typeregister.h>
0010 
0011 using namespace KDevelop;
0012 
0013 namespace Php
0014 {
0015 REGISTER_TYPE(StructureType);
0016 
0017 StructureType::StructureType(const StructureType& rhs)
0018   : KDevelop::StructureType(copyData<StructureType>(*rhs.d_func()))
0019 {
0020 }
0021 
0022 StructureType::StructureType(StructureTypeData& data)
0023   : KDevelop::StructureType(data)
0024 {
0025 }
0026 
0027 StructureType::StructureType()
0028   : KDevelop::StructureType(createData<StructureType>())
0029 {
0030 }
0031 
0032 QString StructureType::toString() const
0033 {
0034     if ( d_func()->prettyName.isEmpty() ) {
0035         return KDevelop::StructureType::toString();
0036     } else {
0037         return prettyName().str();
0038     }
0039 }
0040 
0041 KDevelop::IndexedString StructureType::prettyName() const
0042 {
0043     return d_func()->prettyName;
0044 }
0045 
0046 void StructureType::setPrettyName( const KDevelop::IndexedString& name )
0047 {
0048     d_func_dynamic()->prettyName = name;
0049 }
0050 
0051 KDevelop::AbstractType* StructureType::clone() const
0052 {
0053     return new StructureType(*this);
0054 }
0055 
0056 uint StructureType::hash() const
0057 {
0058     return 4 * KDevelop::StructureType::hash();
0059 }
0060 
0061 }