@@ -490,39 +490,39 @@ void ClangValueTypePrinter::printTypeGenericTraits(
490
490
<< " ::" << typeMetadataFuncName << " (0)._0;\n " ;
491
491
os << " }\n " ;
492
492
493
- os << " namespace " << cxx_synthesis::getCxxImplNamespaceName () << " {\n " ;
493
+ os << " namespace " << cxx_synthesis::getCxxImplNamespaceName () << " {\n " ;
494
494
495
- if (!isa<ClassDecl>(typeDecl)) {
495
+ if (!isa<ClassDecl>(typeDecl)) {
496
+ os << " template<>\n " ;
497
+ os << " static inline const constexpr bool isValueType<" ;
498
+ printer.printBaseName (typeDecl->getModuleContext ());
499
+ os << " ::" ;
500
+ printer.printBaseName (typeDecl);
501
+ os << " > = true;\n " ;
502
+ if (typeDecl->isResilient ()) {
496
503
os << " template<>\n " ;
497
- os << " static inline const constexpr bool isValueType <" ;
504
+ os << " static inline const constexpr bool isOpaqueLayout <" ;
498
505
printer.printBaseName (typeDecl->getModuleContext ());
499
506
os << " ::" ;
500
507
printer.printBaseName (typeDecl);
501
508
os << " > = true;\n " ;
502
- if (typeDecl->isResilient ()) {
509
+ }
510
+ }
511
+
503
512
os << " template<>\n " ;
504
- os << " static inline const constexpr bool isOpaqueLayout <" ;
513
+ os << " struct implClassFor <" ;
505
514
printer.printBaseName (typeDecl->getModuleContext ());
506
515
os << " ::" ;
507
516
printer.printBaseName (typeDecl);
508
- os << " > = true;\n " ;
509
- }
510
- }
511
-
512
- os << " template<>\n " ;
513
- os << " struct implClassFor<" ;
514
- printer.printBaseName (typeDecl->getModuleContext ());
515
- os << " ::" ;
516
- printer.printBaseName (typeDecl);
517
- os << " > { using type = " ;
518
- printer.printBaseName (typeDecl->getModuleContext ());
519
- os << " ::" << cxx_synthesis::getCxxImplNamespaceName () << " ::" ;
520
- printCxxImplClassName (os, typeDecl);
521
- os << " ; };\n " ;
522
- os << " } // namespace\n " ;
523
- os << " #pragma clang diagnostic pop\n " ;
524
- os << " } // namespace swift\n " ;
525
- os << " \n namespace " ;
526
- printer.printBaseName (typeDecl->getModuleContext ());
527
- os << " {\n " ;
517
+ os << " > { using type = " ;
518
+ printer.printBaseName (typeDecl->getModuleContext ());
519
+ os << " ::" << cxx_synthesis::getCxxImplNamespaceName () << " ::" ;
520
+ printCxxImplClassName (os, typeDecl);
521
+ os << " ; };\n " ;
522
+ os << " } // namespace\n " ;
523
+ os << " #pragma clang diagnostic pop\n " ;
524
+ os << " } // namespace swift\n " ;
525
+ os << " \n namespace " ;
526
+ printer.printBaseName (typeDecl->getModuleContext ());
527
+ os << " {\n " ;
528
528
}
0 commit comments