Lines Matching +full:x +full:- +full:tal
12 switch (D->getKind()) {
26 switch (A->getKind()) {
27 #define ATTR(X) \
28 case attr::X: \
29 AttrName = #X"Attr"; \
36 JOS.attributeObject("range", [A, this] { writeSourceRange(A->getRange()); });
37 attributeOnlyIfTrue("inherited", A->isInherited());
38 attributeOnlyIfTrue("implicit", A->isImplicit());
44 //JOS.attribute("spelling", A->getSpelling());
54 JOS.attribute("kind", S->getStmtClassName());
56 [S, this] { writeSourceRange(S->getSourceRange()); });
59 JOS.attribute("type", createQualType(E->getType()));
61 switch (E->getValueKind()) {
79 JOS.attribute("kind", (llvm::Twine(T->getTypeClassName()) + "Type").str());
81 attributeOnlyIfTrue("containsErrors", T->containsErrors());
82 attributeOnlyIfTrue("isDependent", T->isDependentType());
84 T->isInstantiationDependentType());
85 attributeOnlyIfTrue("isVariablyModified", T->isVariablyModifiedType());
87 T->containsUnexpandedParameterPack());
88 attributeOnlyIfTrue("isImported", T->isFromAST());
105 : TL.getTypePtr()->getTypeClassName()) +
120 JOS.attribute("kind", (llvm::Twine(D->getDeclKindName()) + "Decl").str());
122 [D, this] { writeSourceLocation(D->getLocation()); });
124 [D, this] { writeSourceRange(D->getSourceRange()); });
125 attributeOnlyIfTrue("isImplicit", D->isImplicit());
126 attributeOnlyIfTrue("isInvalid", D->isInvalidDecl());
128 if (D->isUsed())
130 else if (D->isThisDeclarationReferenced())
134 attributeOnlyIfTrue("isHidden", !ND->isUnconditionallyVisible());
136 if (D->getLexicalDeclContext() != D->getDeclContext()) {
140 const auto *ParentDeclContextDecl = dyn_cast<Decl>(D->getDeclContext());
155 JOS.attribute("kind", C->getCommentKindName());
157 [C, this] { writeSourceLocation(C->getLocation()); });
159 [C, this] { writeSourceRange(C->getSourceRange()); });
178 if (Init->isAnyMemberInitializer())
179 JOS.attribute("anyInit", createBareDeclRef(Init->getAnyMember()));
180 else if (Init->isBaseInitializer())
182 createQualType(QualType(Init->getBaseClass(), 0)));
183 else if (Init->isDelegatingInitializer())
185 createQualType(Init->getTypeSourceInfo()->getType()));
211 switch (R->getKind()) {
227 attributeOnlyIfTrue("noexcept", ER->hasNoexceptRequirement());
229 attributeOnlyIfTrue("isDependent", R->isDependent());
230 if (!R->isDependent())
231 JOS.attribute("satisfied", R->isSatisfied());
233 R->containsUnexpandedParameterPack());
245 JOS.attribute("id", createPointerRepresentation(CR->getNamedConcept()));
246 if (const auto *Args = CR->getTemplateArgsAsWritten()) {
248 for (const TemplateArgumentLoc &TAL : Args->arguments())
250 [&TAL, this] { Visit(TAL.getArgument(), TAL.getSourceRange()); });
254 [CR, this] { writeSourceLocation(CR->getLocation()); });
256 [CR, this] { writeSourceRange(CR->getSourceRange()); });
307 // Orthogonal to the file, line, and column de-duplication is whether the
343 // Because JSON stores integer values as signed 64-bit integers, trying to
346 return "0x" + llvm::utohexstr(reinterpret_cast<uint64_t>(Ptr), true);
361 if (const auto *TT = QT->getAs<TypedefType>())
362 Ret["typeAliasDeclId"] = createPointerRepresentation(TT->getDecl());
372 JOS.attribute("kind", (llvm::Twine(D->getDeclKindName()) + "Decl").str());
374 JOS.attribute("name", ND->getDeclName().getAsString());
376 JOS.attribute("type", createQualType(VD->getType()));
384 Ret["kind"] = (llvm::Twine(D->getDeclKindName()) + "Decl").str();
386 Ret["name"] = ND->getDeclName().getAsString();
388 Ret["type"] = createQualType(VD->getType());
394 if (C->path_empty())
397 for (auto I = C->path_begin(), E = C->path_end(); I != E; ++I) {
400 cast<CXXRecordDecl>(Base->getType()->castAs<RecordType>()->getDecl());
402 llvm::json::Object Val{{"name", RD->getName()}};
403 if (Base->isVirtual())
410 #define FIELD2(Name, Flag) if (RD->Flag()) Ret[Name] = true
440 if (!RD->needsOverloadResolutionForCopyConstructor())
457 if (!RD->needsOverloadResolutionForMoveConstructor())
505 if (!RD->needsOverloadResolutionForDestructor())
571 JOS.attribute("aliasee", AA->getAliasee());
575 JOS.attribute("cleanup_function", createBareDeclRef(CA->getFunctionDecl()));
579 if (!DA->getMessage().empty())
580 JOS.attribute("message", DA->getMessage());
581 if (!DA->getReplacement().empty())
582 JOS.attribute("replacement", DA->getReplacement());
586 if (!UA->getMessage().empty())
587 JOS.attribute("message", UA->getMessage());
591 JOS.attribute("section_name", SA->getName());
596 VA->getVisibility()));
600 JOS.attribute("tls_model", TA->getModel());
604 JOS.attribute("decl", createBareDeclRef(TT->getDecl()));
605 if (!TT->typeMatchesDecl())
606 JOS.attribute("type", createQualType(TT->desugar()));
610 JOS.attribute("decl", createBareDeclRef(TT->getFoundDecl()));
611 if (!TT->typeMatchesDecl())
612 JOS.attribute("type", createQualType(TT->desugar()));
616 FunctionType::ExtInfo E = T->getExtInfo();
625 FunctionProtoType::ExtProtoInfo E = T->getExtProtoInfo();
627 attributeOnlyIfTrue("const", T->isConst());
628 attributeOnlyIfTrue("volatile", T->isVolatile());
629 attributeOnlyIfTrue("restrict", T->isRestrict());
677 attributeOnlyIfTrue("spelledAsLValue", RT->isSpelledAsLValue());
681 switch (AT->getSizeModifier()) {
692 std::string Str = AT->getIndexTypeQualifiers().getAsString();
700 JOS.attribute("size", CAT->getSExtSize());
707 "attrLoc", [VT, this] { writeSourceLocation(VT->getAttributeLoc()); });
711 JOS.attribute("numElements", VT->getNumElements());
712 switch (VT->getVectorKind()) {
731 JOS.attribute("vectorKind", "fixed-length sve data vector");
734 JOS.attribute("vectorKind", "fixed-length sve predicate vector");
737 JOS.attribute("vectorKind", "fixed-length rvv data vector");
740 JOS.attribute("vectorKind", "fixed-length rvv mask vector");
746 JOS.attribute("decl", createBareDeclRef(UUT->getDecl()));
750 switch (UTT->getUTTKind()) {
760 JOS.attribute("decl", createBareDeclRef(TT->getDecl()));
765 JOS.attribute("depth", TTPT->getDepth());
766 JOS.attribute("index", TTPT->getIndex());
767 attributeOnlyIfTrue("isPack", TTPT->isParameterPack());
768 JOS.attribute("decl", createBareDeclRef(TTPT->getDecl()));
773 JOS.attribute("index", STTPT->getIndex());
774 if (auto PackIndex = STTPT->getPackIndex())
780 JOS.attribute("index", T->getIndex());
784 JOS.attribute("undeduced", !AT->isDeduced());
785 switch (AT->getKeyword()) {
800 attributeOnlyIfTrue("isAlias", TST->isTypeAlias());
804 TST->getTemplateName().print(OS, PrintPolicy);
810 JOS.attribute("decl", createBareDeclRef(ICNT->getDecl()));
814 JOS.attribute("decl", createBareDeclRef(OIT->getDecl()));
818 if (std::optional<unsigned> N = PET->getNumExpansions())
823 if (const NestedNameSpecifier *NNS = ET->getQualifier()) {
826 NNS->print(OS, PrintPolicy, /*ResolveTemplateArgs*/ true);
829 if (const TagDecl *TD = ET->getOwnedTagDecl())
834 JOS.attribute("macroName", MQT->getMacroIdentifier()->getName());
838 attributeOnlyIfTrue("isData", MPT->isMemberDataPointer());
839 attributeOnlyIfTrue("isFunction", MPT->isMemberFunctionPointer());
843 if (ND && ND->getDeclName()) {
844 JOS.attribute("name", ND->getNameAsString());
847 if (isa<RequiresExprBodyDecl>(ND->getDeclContext()))
853 if (ND->isTemplated())
856 // Mangled names are not meaningful for locals, and may not be well-defined
859 if (VD && VD->hasLocalStorage())
874 JOS.attribute("type", createQualType(TD->getUnderlyingType()));
879 JOS.attribute("type", createQualType(TAD->getUnderlyingType()));
884 attributeOnlyIfTrue("isInline", ND->isInline());
885 attributeOnlyIfTrue("isNested", ND->isNested());
886 if (!ND->isFirstDecl())
887 JOS.attribute("originalNamespace", createBareDeclRef(ND->getFirstDecl()));
892 createBareDeclRef(UDD->getNominatedNamespace()));
898 createBareDeclRef(NAD->getAliasedNamespace()));
903 if (const NestedNameSpecifier *NNS = UD->getQualifier()) {
905 NNS->print(SOS, UD->getASTContext().getPrintingPolicy());
907 Name += UD->getNameAsString();
912 JOS.attribute("target", createBareDeclRef(UED->getEnumDecl()));
916 JOS.attribute("target", createBareDeclRef(USD->getTargetDecl()));
921 JOS.attribute("type", createQualType(VD->getType()));
924 P->isExplicitObjectParameter());
926 StorageClass SC = VD->getStorageClass();
929 switch (VD->getTLSKind()) {
934 attributeOnlyIfTrue("nrvo", VD->isNRVOVariable());
935 attributeOnlyIfTrue("inline", VD->isInline());
936 attributeOnlyIfTrue("constexpr", VD->isConstexpr());
937 attributeOnlyIfTrue("modulePrivate", VD->isModulePrivate());
938 if (VD->hasInit()) {
939 switch (VD->getInitStyle()) {
944 JOS.attribute("init", "paren-list");
948 attributeOnlyIfTrue("isParameterPack", VD->isParameterPack());
953 JOS.attribute("type", createQualType(FD->getType()));
954 attributeOnlyIfTrue("mutable", FD->isMutable());
955 attributeOnlyIfTrue("modulePrivate", FD->isModulePrivate());
956 attributeOnlyIfTrue("isBitfield", FD->isBitField());
957 attributeOnlyIfTrue("hasInClassInitializer", FD->hasInClassInitializer());
962 JOS.attribute("type", createQualType(FD->getType()));
963 StorageClass SC = FD->getStorageClass();
966 attributeOnlyIfTrue("inline", FD->isInlineSpecified());
967 attributeOnlyIfTrue("virtual", FD->isVirtualAsWritten());
968 attributeOnlyIfTrue("pure", FD->isPureVirtual());
969 attributeOnlyIfTrue("explicitlyDeleted", FD->isDeletedAsWritten());
970 attributeOnlyIfTrue("constexpr", FD->isConstexpr());
971 attributeOnlyIfTrue("variadic", FD->isVariadic());
972 attributeOnlyIfTrue("immediate", FD->isImmediateFunction());
974 if (FD->isDefaulted())
976 FD->isDeleted() ? "deleted" : "default");
978 if (StringLiteral *Msg = FD->getDeletedMessage())
979 JOS.attribute("deletedMessage", Msg->getString());
984 if (ED->isFixed())
985 JOS.attribute("fixedUnderlyingType", createQualType(ED->getIntegerType()));
986 if (ED->isScoped())
988 ED->isScopedUsingClassTag() ? "class" : "struct");
992 JOS.attribute("type", createQualType(ECD->getType()));
997 JOS.attribute("tagUsed", RD->getKindName());
998 attributeOnlyIfTrue("completeDefinition", RD->isCompleteDefinition());
1004 if (!RD->isCompleteDefinition())
1008 if (RD->getNumBases()) {
1010 for (const auto &Spec : RD->bases())
1018 JOS.attribute("bufferKind", D->isCBuffer() ? "cbuffer" : "tbuffer");
1023 JOS.attribute("tagUsed", D->wasDeclaredWithTypename() ? "typename" : "class");
1024 JOS.attribute("depth", D->getDepth());
1025 JOS.attribute("index", D->getIndex());
1026 attributeOnlyIfTrue("isParameterPack", D->isParameterPack());
1028 if (D->hasDefaultArgument())
1030 Visit(D->getDefaultArgument().getArgument(), SourceRange(),
1031 D->getDefaultArgStorage().getInheritedFrom(),
1032 D->defaultArgumentWasInherited() ? "inherited from" : "previous");
1039 JOS.attribute("type", createQualType(D->getType()));
1040 JOS.attribute("depth", D->getDepth());
1041 JOS.attribute("index", D->getIndex());
1042 attributeOnlyIfTrue("isParameterPack", D->isParameterPack());
1044 if (D->hasDefaultArgument())
1046 Visit(D->getDefaultArgument().getArgument(), SourceRange(),
1047 D->getDefaultArgStorage().getInheritedFrom(),
1048 D->defaultArgumentWasInherited() ? "inherited from" : "previous");
1055 JOS.attribute("depth", D->getDepth());
1056 JOS.attribute("index", D->getIndex());
1057 attributeOnlyIfTrue("isParameterPack", D->isParameterPack());
1059 if (D->hasDefaultArgument())
1061 const auto *InheritedFrom = D->getDefaultArgStorage().getInheritedFrom();
1062 Visit(D->getDefaultArgument().getArgument(),
1063 InheritedFrom ? InheritedFrom->getSourceRange() : SourceLocation{},
1065 D->defaultArgumentWasInherited() ? "inherited from" : "previous");
1071 switch (LSD->getLanguage()) {
1080 attributeOnlyIfTrue("hasBraces", LSD->hasBraces());
1084 JOS.attribute("access", createAccessSpecifier(ASD->getAccess()));
1088 if (const TypeSourceInfo *T = FD->getFriendType())
1089 JOS.attribute("type", createQualType(T->getType()));
1094 JOS.attribute("type", createQualType(D->getType()));
1095 attributeOnlyIfTrue("synthesized", D->getSynthesize());
1096 switch (D->getAccessControl()) {
1107 JOS.attribute("returnType", createQualType(D->getReturnType()));
1108 JOS.attribute("instance", D->isInstanceMethod());
1109 attributeOnlyIfTrue("variadic", D->isVariadic());
1114 JOS.attribute("type", createQualType(D->getUnderlyingType()));
1115 attributeOnlyIfTrue("bounded", D->hasExplicitBound());
1116 switch (D->getVariance()) {
1130 JOS.attribute("interface", createBareDeclRef(D->getClassInterface()));
1131 JOS.attribute("implementation", createBareDeclRef(D->getImplementation()));
1134 for (const auto* P : D->protocols())
1142 JOS.attribute("interface", createBareDeclRef(D->getClassInterface()));
1143 JOS.attribute("categoryDecl", createBareDeclRef(D->getCategoryDecl()));
1150 for (const auto *P : D->protocols())
1158 JOS.attribute("super", createBareDeclRef(D->getSuperClass()));
1159 JOS.attribute("implementation", createBareDeclRef(D->getImplementation()));
1162 for (const auto* P : D->protocols())
1171 JOS.attribute("super", createBareDeclRef(D->getSuperClass()));
1172 JOS.attribute("interface", createBareDeclRef(D->getClassInterface()));
1178 JOS.attribute("interface", createBareDeclRef(D->getClassInterface()));
1183 JOS.attribute("type", createQualType(D->getType()));
1185 switch (D->getPropertyImplementation()) {
1191 ObjCPropertyAttribute::Kind Attrs = D->getPropertyAttributes();
1194 JOS.attribute("getter", createBareDeclRef(D->getGetterMethodDecl()));
1196 JOS.attribute("setter", createBareDeclRef(D->getSetterMethodDecl()));
1221 VisitNamedDecl(D->getPropertyDecl());
1222 JOS.attribute("implKind", D->getPropertyImplementation() ==
1226 JOS.attribute("propertyDecl", createBareDeclRef(D->getPropertyDecl()));
1227 JOS.attribute("ivarDecl", createBareDeclRef(D->getPropertyIvarDecl()));
1231 attributeOnlyIfTrue("variadic", D->isVariadic());
1232 attributeOnlyIfTrue("capturesThis", D->capturesCXXThis());
1236 JOS.attribute("name", AE->getOpAsString());
1240 JOS.attribute("encodedType", createQualType(OEE->getEncodedType()));
1247 OME->getSelector().print(OS);
1250 switch (OME->getReceiverKind()) {
1256 JOS.attribute("classType", createQualType(OME->getClassReceiver()));
1260 JOS.attribute("superType", createQualType(OME->getSuperType()));
1264 JOS.attribute("superType", createQualType(OME->getSuperType()));
1268 QualType CallReturnTy = OME->getCallReturnType(Ctx);
1269 if (OME->getType() != CallReturnTy)
1274 if (const ObjCMethodDecl *MD = OBE->getBoxingMethod()) {
1278 MD->getSelector().print(OS);
1287 OSE->getSelector().print(OS);
1292 JOS.attribute("protocol", createBareDeclRef(OPE->getProtocol()));
1296 if (OPRE->isImplicitProperty()) {
1298 if (const ObjCMethodDecl *MD = OPRE->getImplicitPropertyGetter())
1300 if (const ObjCMethodDecl *MD = OPRE->getImplicitPropertySetter())
1304 JOS.attribute("property", createBareDeclRef(OPRE->getExplicitProperty()));
1307 attributeOnlyIfTrue("isSuperReceiver", OPRE->isSuperReceiver());
1308 attributeOnlyIfTrue("isMessagingGetter", OPRE->isMessagingGetter());
1309 attributeOnlyIfTrue("isMessagingSetter", OPRE->isMessagingSetter());
1315 OSRE->isArraySubscriptRefExpr() ? "array" : "dictionary");
1317 if (const ObjCMethodDecl *MD = OSRE->getAtIndexMethodDecl())
1319 if (const ObjCMethodDecl *MD = OSRE->setAtIndexMethodDecl())
1324 JOS.attribute("decl", createBareDeclRef(OIRE->getDecl()));
1325 attributeOnlyIfTrue("isFreeIvar", OIRE->isFreeIvar());
1326 JOS.attribute("isArrow", OIRE->isArrow());
1330 JOS.attribute("value", OBLE->getValue() ? "__objc_yes" : "__objc_no");
1334 JOS.attribute("referencedDecl", createBareDeclRef(DRE->getDecl()));
1335 if (DRE->getDecl() != DRE->getFoundDecl())
1337 createBareDeclRef(DRE->getFoundDecl()));
1338 switch (DRE->isNonOdrUse()) {
1344 attributeOnlyIfTrue("isImmediateEscalating", DRE->isImmediateEscalating());
1350 createQualType(E->getTypeSourceInfo()->getType()));
1354 JOS.attribute("name", PredefinedExpr::getIdentKindName(PE->getIdentKind()));
1358 JOS.attribute("isPostfix", UO->isPostfix());
1359 JOS.attribute("opcode", UnaryOperator::getOpcodeStr(UO->getOpcode()));
1360 if (!UO->canOverflow())
1365 JOS.attribute("opcode", BinaryOperator::getOpcodeStr(BO->getOpcode()));
1371 JOS.attribute("computeLHSType", createQualType(CAO->getComputationLHSType()));
1373 createQualType(CAO->getComputationResultType()));
1379 ValueDecl *VD = ME->getMemberDecl();
1380 JOS.attribute("name", VD && VD->getDeclName() ? VD->getNameAsString() : "");
1381 JOS.attribute("isArrow", ME->isArrow());
1383 switch (ME->isNonOdrUse()) {
1392 attributeOnlyIfTrue("isGlobal", NE->isGlobalNew());
1393 attributeOnlyIfTrue("isArray", NE->isArray());
1394 attributeOnlyIfTrue("isPlacement", NE->getNumPlacementArgs() != 0);
1395 switch (NE->getInitializationStyle()) {
1405 if (const FunctionDecl *FD = NE->getOperatorNew())
1407 if (const FunctionDecl *FD = NE->getOperatorDelete())
1411 attributeOnlyIfTrue("isGlobal", DE->isGlobalDelete());
1412 attributeOnlyIfTrue("isArray", DE->isArrayForm());
1413 attributeOnlyIfTrue("isArrayAsWritten", DE->isArrayFormAsWritten());
1414 if (const FunctionDecl *FD = DE->getOperatorDelete())
1419 attributeOnlyIfTrue("implicit", TE->isImplicit());
1423 JOS.attribute("castKind", CE->getCastKindName());
1429 if (const NamedDecl *ND = CE->getConversionFunction())
1435 attributeOnlyIfTrue("isPartOfExplicitCast", ICE->isPartOfExplicitCast());
1439 attributeOnlyIfTrue("adl", CE->usesADL());
1444 JOS.attribute("name", getTraitSpelling(TTE->getKind()));
1445 if (TTE->isArgumentType())
1446 JOS.attribute("argType", createQualType(TTE->getArgumentType()));
1450 VisitNamedDecl(SOPE->getPack());
1455 JOS.attribute("usesADL", ULE->requiresADL());
1456 JOS.attribute("name", ULE->getName().getAsString());
1459 for (const NamedDecl *D : ULE->decls())
1465 JOS.attribute("name", ALE->getLabel()->getName());
1466 JOS.attribute("labelDeclId", createPointerRepresentation(ALE->getLabel()));
1470 if (CTE->isTypeOperand()) {
1471 QualType Adjusted = CTE->getTypeOperand(Ctx);
1472 QualType Unadjusted = CTE->getTypeOperandSourceInfo()->getType();
1480 if (CE->getResultAPValueKind() != APValue::None)
1481 Visit(CE->getAPValueResult(), CE->getType());
1485 if (const FieldDecl *FD = ILE->getInitializedFieldInUnion())
1491 attributeOnlyIfTrue("resultDependent", GSE->isResultDependent());
1496 if (UCE->getType() != UCE->getTypeAsWritten())
1497 JOS.attribute("typeAsWritten", createQualType(UCE->getTypeAsWritten()));
1498 attributeOnlyIfTrue("list", UCE->isListInitialization());
1502 CXXConstructorDecl *Ctor = CE->getConstructor();
1503 JOS.attribute("ctorType", createQualType(Ctor->getType()));
1504 attributeOnlyIfTrue("elidable", CE->isElidable());
1505 attributeOnlyIfTrue("list", CE->isListInitialization());
1506 attributeOnlyIfTrue("initializer_list", CE->isStdInitListInitialization());
1507 attributeOnlyIfTrue("zeroing", CE->requiresZeroInitialization());
1508 attributeOnlyIfTrue("hadMultipleCandidates", CE->hadMultipleCandidates());
1509 attributeOnlyIfTrue("isImmediateEscalating", CE->isImmediateEscalating());
1511 switch (CE->getConstructionKind()) {
1519 JOS.attribute("constructionKind", "non-virtual base");
1529 EWC->cleanupsHaveSideEffects());
1530 if (EWC->getNumObjects()) {
1532 for (const ExprWithCleanups::CleanupObject &CO : EWC->getObjects())
1538 Obj["kind"] = CLE->getStmtClassName();
1549 const CXXTemporary *Temp = BTE->getTemporary();
1551 if (const CXXDestructorDecl *Dtor = Temp->getDestructor())
1557 if (const ValueDecl *VD = MTE->getExtendingDecl())
1560 switch (MTE->getStorageDuration()) {
1578 attributeOnlyIfTrue("boundToLValueRef", MTE->isBoundToLvalueReference());
1582 attributeOnlyIfTrue("hasRewrittenInit", Node->hasRewrittenInit());
1586 attributeOnlyIfTrue("hasRewrittenInit", Node->hasRewrittenInit());
1591 JOS.attribute("isArrow", DSME->isArrow());
1592 JOS.attribute("member", DSME->getMember().getAsString());
1593 attributeOnlyIfTrue("hasTemplateKeyword", DSME->hasTemplateKeyword());
1595 DSME->hasExplicitTemplateArgs());
1597 if (DSME->getNumTemplateArgs()) {
1599 for (const TemplateArgumentLoc &TAL : DSME->template_arguments())
1601 [&TAL, this] { Visit(TAL.getArgument(), TAL.getSourceRange()); });
1607 if (!RE->isValueDependent())
1608 JOS.attribute("satisfied", RE->isSatisfied());
1613 IL->getValue().toString(Buffer,
1614 /*Radix=*/10, IL->getType()->isSignedIntegerType());
1622 JOS.attribute("value", CL->getValue());
1625 JOS.attribute("value", FPL->getValueAsString(/*Radix=*/10));
1629 FL->getValue().toString(Buffer);
1635 SL->outputString(SS);
1639 JOS.attribute("value", BLE->getValue());
1643 attributeOnlyIfTrue("hasInit", IS->hasInitStorage());
1644 attributeOnlyIfTrue("hasVar", IS->hasVarStorage());
1645 attributeOnlyIfTrue("hasElse", IS->hasElseStorage());
1646 attributeOnlyIfTrue("isConstexpr", IS->isConstexpr());
1647 attributeOnlyIfTrue("isConsteval", IS->isConsteval());
1648 attributeOnlyIfTrue("constevalIsNegated", IS->isNegatedConsteval());
1652 attributeOnlyIfTrue("hasInit", SS->hasInitStorage());
1653 attributeOnlyIfTrue("hasVar", SS->hasVarStorage());
1656 attributeOnlyIfTrue("isGNURange", CS->caseStmtIsGNURange());
1660 JOS.attribute("name", LS->getName());
1661 JOS.attribute("declId", createPointerRepresentation(LS->getDecl()));
1662 attributeOnlyIfTrue("sideEntry", LS->isSideEntry());
1666 createPointerRepresentation(GS->getLabel()));
1670 attributeOnlyIfTrue("hasVar", WS->hasVarStorage());
1677 attributeOnlyIfTrue("isCatchAll", OACS->getCatchParamDecl() == nullptr);
1715 return Traits->getCommandInfo(CommandID)->Name;
1718 return Info->Name;
1724 JOS.attribute("text", C->getText());
1729 JOS.attribute("name", getCommentCommandName(C->getCommandID()));
1731 switch (C->getRenderKind()) {
1750 for (unsigned I = 0, E = C->getNumArgs(); I < E; ++I)
1751 Args.push_back(C->getArgText(I));
1759 JOS.attribute("name", C->getTagName());
1760 attributeOnlyIfTrue("selfClosing", C->isSelfClosing());
1761 attributeOnlyIfTrue("malformed", C->isMalformed());
1764 for (unsigned I = 0, E = C->getNumAttrs(); I < E; ++I)
1766 {{"name", C->getAttr(I).Name}, {"value", C->getAttr(I).Value}});
1774 JOS.attribute("name", C->getTagName());
1779 JOS.attribute("name", getCommentCommandName(C->getCommandID()));
1782 for (unsigned I = 0, E = C->getNumArgs(); I < E; ++I)
1783 Args.push_back(C->getArgText(I));
1791 switch (C->getDirection()) {
1802 attributeOnlyIfTrue("explicit", C->isDirectionExplicit());
1804 if (C->hasParamName())
1805 JOS.attribute("param", C->isParamIndexValid() ? C->getParamName(FC)
1806 : C->getParamNameAsWritten());
1808 if (C->isParamIndexValid() && !C->isVarArgParam())
1809 JOS.attribute("paramIdx", C->getParamIndex());
1814 if (C->hasParamName())
1815 JOS.attribute("param", C->isPositionValid() ? C->getParamName(FC)
1816 : C->getParamNameAsWritten());
1817 if (C->isPositionValid()) {
1819 for (unsigned I = 0, E = C->getDepth(); I < E; ++I)
1820 Positions.push_back(C->getIndex(I));
1829 JOS.attribute("name", getCommentCommandName(C->getCommandID()));
1830 JOS.attribute("closeName", C->getCloseName());
1836 JOS.attribute("text", C->getText());
1841 JOS.attribute("text", C->getText());
1855 if (S->hasStoredFPFeatures())
1856 JOS.attribute("fpoptions", createFPOptions(S->getStoredFPFeatures()));