AST: unindent CFConstantStringDecl by inverting condition (NFC)
authorSaleem Abdulrasool <compnerd@compnerd.org>
Wed, 24 Oct 2018 16:38:16 +0000 (16:38 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Wed, 24 Oct 2018 16:38:16 +0000 (16:38 +0000)
Unindent the body of the function by inverting check at the top.  This is in
preparation for supporting CFString's new ABI with swift.  NFC.

llvm-svn: 345159

clang/lib/AST/ASTContext.cpp

index 8e7b747..2a38d5e 100644 (file)
@@ -5755,50 +5755,48 @@ int ASTContext::getIntegerTypeOrder(QualType LHS, QualType RHS) const {
 }
 
 TypedefDecl *ASTContext::getCFConstantStringDecl() const {
-  if (!CFConstantStringTypeDecl) {
-    assert(!CFConstantStringTagDecl &&
-           "tag and typedef should be initialized together");
-    CFConstantStringTagDecl = buildImplicitRecord("__NSConstantString_tag");
-    CFConstantStringTagDecl->startDefinition();
-
-    QualType FieldTypes[4];
-    const char *FieldNames[4];
-
-    // const int *isa;
-    FieldTypes[0] = getPointerType(IntTy.withConst());
-    FieldNames[0] = "isa";
-    // int flags;
-    FieldTypes[1] = IntTy;
-    FieldNames[1] = "flags";
-    // const char *str;
-    FieldTypes[2] = getPointerType(CharTy.withConst());
-    FieldNames[2] = "str";
-    // long length;
-    FieldTypes[3] = LongTy;
-    FieldNames[3] = "length";
-
-    // Create fields
-    for (unsigned i = 0; i < 4; ++i) {
-      FieldDecl *Field = FieldDecl::Create(*this, CFConstantStringTagDecl,
-                                           SourceLocation(),
-                                           SourceLocation(),
-                                           &Idents.get(FieldNames[i]),
-                                           FieldTypes[i], /*TInfo=*/nullptr,
-                                           /*BitWidth=*/nullptr,
-                                           /*Mutable=*/false,
-                                           ICIS_NoInit);
-      Field->setAccess(AS_public);
-      CFConstantStringTagDecl->addDecl(Field);
-    }
-
-    CFConstantStringTagDecl->completeDefinition();
-    // This type is designed to be compatible with NSConstantString, but cannot
-    // use the same name, since NSConstantString is an interface.
-    auto tagType = getTagDeclType(CFConstantStringTagDecl);
-    CFConstantStringTypeDecl =
-        buildImplicitTypedef(tagType, "__NSConstantString");
+  if (CFConstantStringTypeDecl)
+    return CFConstantStringTypeDecl;
+
+  assert(!CFConstantStringTagDecl &&
+         "tag and typedef should be initialized together");
+  CFConstantStringTagDecl = buildImplicitRecord("__NSConstantString_tag");
+  CFConstantStringTagDecl->startDefinition();
+
+  QualType FieldTypes[4];
+  const char *FieldNames[4];
+
+  // const int *isa;
+  FieldTypes[0] = getPointerType(IntTy.withConst());
+  FieldNames[0] = "isa";
+  // int flags;
+  FieldTypes[1] = IntTy;
+  FieldNames[1] = "flags";
+  // const char *str;
+  FieldTypes[2] = getPointerType(CharTy.withConst());
+  FieldNames[2] = "str";
+  // long length;
+  FieldTypes[3] = LongTy;
+  FieldNames[3] = "length";
+
+  // Create fields
+  for (unsigned i = 0; i < 4; ++i) {
+    FieldDecl *Field =
+        FieldDecl::Create(*this, CFConstantStringTagDecl, SourceLocation(),
+                          SourceLocation(), &Idents.get(FieldNames[i]),
+                          FieldTypes[i], /*TInfo=*/nullptr,
+                          /*BitWidth=*/nullptr, /*Mutable=*/false, ICIS_NoInit);
+    Field->setAccess(AS_public);
+    CFConstantStringTagDecl->addDecl(Field);
   }
 
+  CFConstantStringTagDecl->completeDefinition();
+  // This type is designed to be compatible with NSConstantString, but cannot
+  // use the same name, since NSConstantString is an interface.
+  auto tagType = getTagDeclType(CFConstantStringTagDecl);
+  CFConstantStringTypeDecl =
+      buildImplicitTypedef(tagType, "__NSConstantString");
+
   return CFConstantStringTypeDecl;
 }