static QStringList collectFieldNames(ClassSpecifierAST *classAST, bool onlyTokensAndASTNodes) { QStringList fields; Overview oo; Class *clazz = classAST->symbol; for (unsigned i = 0; i < clazz->memberCount(); ++i) { Symbol *s = clazz->memberAt(i); if (Declaration *decl = s->asDeclaration()) { const QString declName = oo(decl->name()); const FullySpecifiedType ty = decl->type(); if (const PointerType *ptrTy = ty->asPointerType()) { if (onlyTokensAndASTNodes) { if (const NamedType *namedTy = ptrTy->elementType()->asNamedType()) { if (oo(namedTy->name()).endsWith(QLatin1String("AST"))) fields.append(declName); } } else { fields.append(declName); } } else if (ty.isUnsigned()) { fields.append(declName); } } } return fields; }
void TypePrettyPrinter::acceptType(const FullySpecifiedType &ty) { if (ty.isSigned()) _text += QLatin1String("signed "); else if (ty.isUnsigned()) _text += QLatin1String("unsigned "); const FullySpecifiedType previousFullySpecifiedType = _fullySpecifiedType; _fullySpecifiedType = ty; accept(ty.type()); _fullySpecifiedType = previousFullySpecifiedType; }
std::string TypeNameSpeller::spellTypeName(const FullySpecifiedType& fullType, const CPlusPlus::Scope* scope, std::string* alpha) { spelling_.clear(); alpha_ = alpha; if (fullType.isUnsigned()) spelling_.append("unsigned "); scope_ = scope; accept(fullType.type()); return spelling_; }
bool Function::hasReturnType() const { const FullySpecifiedType ty = returnType(); return ty.isValid() || ty.isSigned() || ty.isUnsigned(); }
bool ObjCMethod::hasReturnType() const { const FullySpecifiedType ty = returnType(); return ty.isValid() || ty.isSigned() || ty.isUnsigned(); }