reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
2228 emitSourceFileHeader("Attribute classes' definitions", OS); 2230 OS << "#ifndef LLVM_CLANG_ATTR_CLASSES_INC\n"; 2231 OS << "#define LLVM_CLANG_ATTR_CLASSES_INC\n\n"; 2266 OS << "class " << R.getName() << "Attr : public " << SuperName << " {\n"; 2276 Args.back()->writeDeclarations(OS); 2277 OS << "\n\n"; 2287 OS << "public:\n"; 2301 OS << CreateSemanticSpellings(Spellings, SemanticToSyntacticMap); 2310 OS << " static " << R.getName() << "Attr *Create"; 2312 OS << "Implicit"; 2313 OS << "("; 2314 OS << "ASTContext &Ctx"; 2317 OS << ", "; 2318 ai->writeCtorParameters(OS); 2320 OS << ", const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {\n"; 2321 OS << " auto *A = new (Ctx) " << R.getName(); 2322 OS << "Attr(Ctx, CommonInfo"; 2325 OS << ", "; 2326 ai->writeImplicitCtorArgs(OS); 2328 OS << ");\n"; 2330 OS << " A->setImplicit(true);\n"; 2333 OS << " if (!A->isAttributeSpellingListCalculated() && " 2335 OS << " A->setAttributeSpellingListIndex(0);\n"; 2337 OS << " return A;\n }\n\n"; 2341 OS <<" static " << R.getName() << "Attr *Create"; 2343 OS << "Implicit"; 2344 OS << "("; 2345 OS << "ASTContext &Ctx"; 2348 OS << ", "; 2349 ai->writeCtorParameters(OS); 2351 OS << ", SourceRange Range, AttributeCommonInfo::Syntax Syntax"; 2353 OS << ", " << R.getName() 2356 OS << ") {\n"; 2357 OS << " AttributeCommonInfo I(Range, "; 2360 OS << "AT_" << ParsedAttrSpellingItr->first; 2362 OS << "NoSemaHandlerAttribute"; 2364 OS << ", Syntax"; 2366 OS << ", S"; 2367 OS << ");\n"; 2368 OS << " return Create"; 2370 OS << "Implicit"; 2371 OS << "(Ctx"; 2374 OS << ", "; 2375 ai->writeImplicitCtorArgs(OS); 2377 OS << ", I);\n"; 2378 OS << " }\n"; 2402 OS << " " << R.getName() 2404 OS << '\n'; 2407 OS << " , "; 2408 ai->writeCtorParameters(OS); 2409 OS << "\n"; 2412 OS << " )\n"; 2413 OS << " : " << SuperName << "(Ctx, CommonInfo, "; 2414 OS << "attr::" << R.getName() << ", " 2417 OS << ", " 2421 OS << ")\n"; 2424 OS << " , "; 2426 ai->writeCtorDefaultInitializers(OS); 2428 ai->writeCtorInitializers(OS); 2430 OS << "\n"; 2433 OS << " {\n"; 2437 ai->writeCtorBody(OS); 2439 OS << " }\n\n"; 2454 OS << " " << R.getName() << "Attr *clone(ASTContext &C) const;\n"; 2455 OS << " void printPretty(raw_ostream &OS,\n" 2457 OS << " const char *getSpelling() const;\n"; 2461 OS << " Spelling getSemanticSpelling() const {\n"; 2463 SemanticToSyntacticMap, OS); 2464 OS << " }\n"; 2467 writeAttrAccessorDefinition(R, OS); 2470 ai->writeAccessors(OS); 2471 OS << "\n\n"; 2477 static_cast<const EnumArgument *>(ai.get())->writeConversion(OS); 2480 ->writeConversion(OS); 2483 OS << R.getValueAsString("AdditionalMembers"); 2484 OS << "\n\n"; 2486 OS << " static bool classof(const Attr *A) { return A->getKind() == " 2489 OS << "};\n\n"; 2492 OS << "#endif // LLVM_CLANG_ATTR_CLASSES_INC\n";