Lines Matching defs:fqName

51     using ShouldGenerateFunction = std::function<bool(const FQName& fqName)>;
52 using FileNameForFQName = std::function<std::string(const FQName& fqName)>;
53 using GenerationFunction = std::function<status_t(Formatter& out, const FQName& fqName,
60 std::string getFileName(const FQName& fqName) const {
61 return mFileNameForFqName ? mFileNameForFqName(fqName) : "";
64 status_t getOutputFile(const FQName& fqName, const Coordinator* coordinator,
66 if (!mShouldGenerateForFqName(fqName)) {
70 return coordinator->getFilepath(fqName, location, getFileName(fqName), file);
73 status_t appendOutputFiles(const FQName& fqName, const Coordinator* coordinator,
80 if (mShouldGenerateForFqName(fqName)) {
82 status_t err = getOutputFile(fqName, coordinator, location, &fileName);
92 status_t generate(const FQName& fqName, const Coordinator* coordinator,
97 if (!mShouldGenerateForFqName(fqName)) {
101 Formatter out = coordinator->getFormatter(fqName, location, getFileName(fqName));
106 return mGenerationFunction(out, fqName, coordinator);
110 static bool generateForTypes(const FQName& fqName) {
111 const auto names = fqName.names();
114 static bool generateForInterfaces(const FQName& fqName) { return !generateForTypes(fqName); }
118 // Represents a -L option, takes a fqName and generates files
121 const FQName& fqName, const Coordinator* coordinator, const std::string& language)>;
128 ValidationFunction mValidate; // if a given fqName is allowed for this option
134 status_t generate(const FQName& fqName, const Coordinator* coordinator) const;
135 status_t validate(const FQName& fqName, const Coordinator* coordinator,
137 return mValidate(fqName, coordinator, language);
140 status_t writeDepFile(const FQName& fqName, const Coordinator* coordinator) const;
143 status_t appendTargets(const FQName& fqName, const Coordinator* coordinator,
145 status_t appendOutputFiles(const FQName& fqName, const Coordinator* coordinator,
151 static status_t appendPerTypeTargets(const FQName& fqName, const Coordinator* coordinator,
153 CHECK(fqName.isFullyQualified());
154 if (fqName.name() != "types") {
155 exportedPackageInterfaces->push_back(fqName);
159 AST* typesAST = coordinator->parse(fqName);
161 fprintf(stderr, "ERROR: Could not parse %s. Aborting.\n", fqName.string().c_str());
169 FQName rootTypeName(fqName.package(), fqName.version(), "types." + rootType->localName());
175 status_t OutputHandler::appendTargets(const FQName& fqName, const Coordinator* coordinator,
179 targets->push_back(fqName.getPackageAndVersion());
182 if (fqName.isFullyQualified()) {
183 targets->push_back(fqName);
186 status_t err = coordinator->appendPackageInterfacesToVector(fqName, targets);
190 if (fqName.isFullyQualified()) {
191 status_t err = appendPerTypeTargets(fqName, coordinator, targets);
196 status_t err = coordinator->appendPackageInterfacesToVector(fqName, &packageInterfaces);
210 status_t OutputHandler::generate(const FQName& fqName, const Coordinator* coordinator) const {
212 status_t err = appendTargets(fqName, coordinator, &targets);
215 for (const FQName& fqName : targets) {
217 status_t err = file.generate(fqName, coordinator, mLocation);
225 status_t OutputHandler::appendOutputFiles(const FQName& fqName, const Coordinator* coordinator,
228 status_t err = appendTargets(fqName, coordinator, &targets);
231 for (const FQName& fqName : targets) {
233 err = file.appendOutputFiles(fqName, coordinator, mLocation, outputFiles);
241 status_t OutputHandler::writeDepFile(const FQName& fqName, const Coordinator* coordinator) const {
243 status_t err = appendOutputFiles(fqName, coordinator, &outputFiles);
261 return [generate](Formatter& out, const FQName& fqName,
263 AST* ast = coordinator->parse(fqName);
265 fprintf(stderr, "ERROR: Could not parse %s. Aborting.\n", fqName.string().c_str());
285 static status_t generateJavaForPackage(Formatter& out, const FQName& fqName,
291 if (fqName.name().find("types.") == 0) {
292 limitToType = fqName.name().substr(strlen("types."));
294 FQName typesName = fqName.getTypesForPackage();
297 ast = coordinator->parse(fqName);
300 fprintf(stderr, "ERROR: Could not parse %s. Aborting.\n", fqName.string().c_str());
319 for (const auto& fqName : unreferencedDefinitions) {
322 << fqName.string()
326 for (const auto& fqName : unreferencedImports) {
329 << fqName.string()
358 const FQName fqName = todo.back();
361 AST *ast = coordinator->parse(fqName);
429 bool validateIsPackage(const FQName& fqName, const Coordinator*,
431 if (fqName.package().empty()) {
436 if (fqName.version().empty()) {
441 if (!fqName.name().empty()) {
450 bool isHidlTransportPackage(const FQName& fqName) {
451 return fqName.package() == gIBaseFqName.package() ||
452 fqName.package() == gIManagerFqName.package();
455 bool isSystemProcessSupportedPackage(const FQName& fqName) {
458 return fqName.string() == "android.hardware.graphics.common@1.0" ||
459 fqName.string() == "android.hardware.graphics.common@1.1" ||
460 fqName.string() == "android.hardware.graphics.mapper@2.0" ||
461 fqName.string() == "android.hardware.graphics.mapper@2.1" ||
462 fqName.string() == "android.hardware.renderscript@1.0" ||
463 fqName.string() == "android.hidl.memory.token@1.0" ||
464 fqName.string() == "android.hidl.memory@1.0";
475 status_t isTestPackage(const FQName& fqName, const Coordinator* coordinator, bool* isTestPackage) {
482 status_t err = coordinator->getFilepath(fqName, Coordinator::Location::PACKAGE_ROOT,
552 for (const auto& fqName : packageInterfaces) {
553 AST* ast = coordinator->parse(fqName);
556 fprintf(stderr, "ERROR: Could not parse %s. Aborting.\n", fqName.string().c_str());
561 if (fqName.name() == "types") {
611 for (const auto& fqName : packageInterfaces) {
612 out << "\"" << fqName.name() << ".hal\",\n";
617 for (const auto& fqName : importedPackagesHierarchy) {
618 out << "\"" << fqName.string() << "\",\n";
629 return a->fqName() < b->fqName();
667 for (const auto &fqName : packageInterfaces) {
668 AST *ast = coordinator->parse(fqName);
673 fqName.string().c_str());
704 for (const auto &fqName : packageInterfaces) {
705 if (fqName.name() == "types") {
708 out << "\"" << fqName.getInterfaceBaseName() << ".cpp\",\n";
734 bool validateForSource(const FQName& fqName, const Coordinator* coordinator,
736 if (fqName.package().empty()) {
741 if (fqName.version().empty()) {
746 const std::string &name = fqName.name();
767 status_t err = isPackageJavaCompatible(fqName, coordinator, &isJavaCompatible);
777 fqName.string().c_str());
804 for (const auto &fqName : packageInterfaces) {
805 AST *ast = coordinator->parse(fqName);
810 fqName.string().c_str());
870 static status_t generateHashOutput(Formatter& out, const FQName& fqName,
872 CHECK(fqName.isFullyQualified());
874 AST* ast = coordinator->parse(fqName, {} /* parsed */,
878 fprintf(stderr, "ERROR: Could not parse %s. Aborting.\n", fqName.string().c_str());
883 out << Hash::getHash(ast->getFilename()).hexString() << " " << fqName.string() << "\n";
901 [](const FQName& fqName) { return fqName.name() + ".h"; },
906 [](const FQName& fqName) {
907 return fqName.isInterfaceName() ? fqName.getInterfaceHwName() + ".h" : "hwtypes.h";
913 [](const FQName& fqName) { return fqName.getInterfaceStubName() + ".h"; },
918 [](const FQName& fqName) { return fqName.getInterfaceProxyName() + ".h"; },
923 [](const FQName& fqName) { return fqName.getInterfacePassthroughName() + ".h"; },
931 [](const FQName& fqName) {
932 return fqName.isInterfaceName() ? fqName.getInterfaceBaseName() + "All.cpp" : "types.cpp";
941 [](const FQName& fqName) { return fqName.getInterfaceBaseName() + ".h"; },
949 [](const FQName& fqName) { return fqName.getInterfaceBaseName() + ".cpp"; },
957 [](const FQName& fqName) {
958 return fqName.isInterfaceName() ? fqName.getInterfaceAdapterName() + ".h" : "Atypes.h";
967 [](const FQName& fqName) {
968 return fqName.isInterfaceName() ? fqName.getInterfaceAdapterName() + ".cpp" : "Atypes.cpp";
1099 [](const FQName& fqName) {
1100 return StringHelper::LTrim(fqName.name(), "types.") + ".java";
1125 [](const FQName& fqName) {
1126 return fqName.isInterfaceName() ? fqName.getInterfaceBaseName() + ".vts" : "types.vts";
1172 nullptr /* file name for fqName */,
1374 FQName fqName;
1375 if (!FQName::parse(argv[i], &fqName)) {
1383 dumpDefinedButUnreferencedTypeNames(fqName.getPackageAndVersion(), &coordinator);
1387 if (!outputFormat->validate(fqName, &coordinator, outputFormat->name())) {
1393 status_t err = outputFormat->generate(fqName, &coordinator);
1396 err = outputFormat->writeDepFile(fqName, &coordinator);