std::string OutputFilesComputer::determineBaseNameOfOutput(const InputFile &input) const { std::string nameToStem = input.isPrimary() ? input.file() : ModuleNameArg ? ModuleNameArg->getValue() : FirstInput; return llvm::sys::path::stem(nameToStem).str(); }
void FrontendInputsAndOutputs::addInput(const InputFile &input) { const unsigned index = AllInputs.size(); AllInputs.push_back(input); if (input.isPrimary()) { PrimaryInputsInOrder.push_back(index); PrimaryInputsByName.insert(std::make_pair(AllInputs.back().file(), index)); } }
StringRef SupplementaryOutputPathsComputer:: deriveDefaultSupplementaryOutputPathExcludingExtension( StringRef outputFilename, const InputFile &input) const { // Put the supplementary output file next to the output file if possible. if (!outputFilename.empty() && outputFilename != "-") return outputFilename; if (input.isPrimary() && input.file() != "-") return llvm::sys::path::filename(input.file()); return ModuleName; }
bool CompilerInstance::setUpForInput(const InputFile &input) { bool failed = false; Optional<unsigned> bufferID = getRecordedBufferID(input, failed); if (failed) return true; if (!bufferID) return false; if (isInSILMode() || (isInputSwift() && llvm::sys::path::filename(input.file()) == "main.swift")) { assert(MainBufferID == NO_SUCH_BUFFER && "re-setting MainBufferID"); MainBufferID = *bufferID; } if (input.isPrimary()) { recordPrimaryInputBuffer(*bufferID); } return false; }