Lines Matching defs:File
1 //===--- ASTWriter.cpp - AST File Writer ----------------------------------===//
5 // This file is distributed under the University of Illinois Open Source
10 // This file defines the ASTWriter class, which writes AST files.
996 /// \param Filename the file name to adjust.
998 /// \param isysroot When non-NULL, the PCH file is a relocatable PCH file and
1005 assert(Filename && "No file name to adjust?");
1020 // If the file name has a '/' at the current position, skip over the '/'.
1069 // Module map file
1097 Record.push_back((*M)->File->getSize());
1098 Record.push_back((*M)->File->getModificationTime());
1163 // Note: we don't serialize the log or serialization file names, because they
1167 // File system options.
1236 // Original file name and file ID
1241 FileAbbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 6)); // File ID
1242 FileAbbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Blob)); // File name
1266 Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Blob)); // File name
1287 /// \brief An input file.
1289 const FileEntry *File;
1303 // Create input-file abbreviation.
1310 IFAbbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Blob)); // File name
1313 // Get all ContentCache objects for files, sorted by whether the file is a
1321 // We only care about file entries that were not overridden.
1329 Entry.File = Cache->OrigEntry;
1345 uint32_t &InputFileID = InputFileIDs[Entry.File];
1347 continue; // already recorded this file.
1361 // Emit size/modification time for this file.
1362 Record.push_back(Entry.File->getSize());
1363 Record.push_back(Entry.File->getModificationTime());
1365 // Whether this file was overridden.
1368 // Turn the file name into an absolute path, if it isn't already.
1369 const char *Filename = Entry.File->getName();
1372 // Ask the file manager to fixup the relative path for us. This will
1388 // Create input file offsets abbreviation.
1397 // Write input file offsets.
1410 /// file.
1420 Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 6)); // Input File ID
1491 // The hash is based only on size/time of the file, so that the reader can
1586 const FileEntry *File = FilesByUID[UID];
1587 if (!File)
1593 if (!HS.tryGetFileInfo(File, HFI) ||
1598 // Turn the file name into an absolute path, if it isn't already.
1599 const char *Filename = File->getName();
1602 // If we performed any translation on the file name at all, we need to
1604 if (Filename != File->getName()) {
1609 HeaderFileInfoTrait::key_type key = { File, Filename };
1653 /// blob), indexed based on the file name, so that we only create
1655 /// errors), we probably won't have to create file entries for any of
1702 const SrcMgr::FileInfo &File = SLoc->getFile();
1703 Record.push_back(File.getIncludeLoc().getRawEncoding());
1704 Record.push_back(File.getFileCharacteristic()); // FIXME: stable encoding
1705 Record.push_back(File.hasLineDirectives());
1707 const SrcMgr::ContentCache *Content = File.getContentCache();
1710 "Writing to AST an overridden file is not supported");
1712 // The source location entry is a file. Emit input file ID.
1713 assert(InputFileIDs[Content->OrigEntry] != 0 && "Missed file entry");
1716 Record.push_back(File.NumCreatedFIDs);
1808 // Emit the file names
1811 // Emit the file name
1827 // Emit the file ID
1933 // If the AST file contains __DATE__ or __TIME__ emit a warning about this.
1939 // Loop over all the macro directives that are live at the end of the file,
2935 /// \brief Write the selectors referenced in @selector expression into AST file.
3242 // The only way a "from AST file" decl would be more recent from a local one
3262 /// \brief Write the identifier table into the AST file.
3282 // file.
3640 /// DeclContext in a dependent AST file. As such, they only exist for the TU
3916 // Only store offsets new to this AST file. Other identifier names are looked
3928 // file.
3971 // Emit the file header.
4037 // in the original PCH file.
4065 // If we saw any DeclContext updates before we started writing the AST file,
4074 // Build a record containing all of the tentative definitions in this file, in
4080 // Build a record containing all of the file scoped decls in this file.
4108 // declarations in this header file. Generally, this record will be
4111 // FIXME: This is filling in the AST file in densemap order which is
4245 // an AST file, are registered for serialization.
4382 // Write the record containing unused file scoped decls.
4669 // Don't emit builtin macros like __LINE__ to the AST file unless they
4853 // If D comes from an AST file, its declaration ID is already known and
4879 // If D comes from an AST file, its declaration ID is already known and
4896 // We only keep track of the file-level declarations of each file.
5465 // the AST file.