Lines Matching full:backend

41 std::string AidlHelper::translateHeaderFile(const FQName& fqName, AidlBackend backend) {  in translateHeaderFile()  argument
42 switch (backend) { in translateHeaderFile()
53 std::string AidlHelper::translateSourceFile(const FQName& fqName, AidlBackend backend) { in translateSourceFile() argument
54 switch (backend) { in translateSourceFile()
67 static const std::string aidlTypePackage(const NamedType& type, AidlBackend backend) { in aidlTypePackage() argument
68 const std::string prefix = (backend == AidlBackend::NDK) ? "aidl::" : std::string(); in aidlTypePackage()
69 const std::string separator = (backend == AidlBackend::JAVA) ? "." : "::"; in aidlTypePackage()
72 separator + AidlHelper::getAidlType(type, type.fqName(), backend); in aidlTypePackage()
75 static void emitEnumStaticAssert(Formatter& out, const NamedType& namedType, AidlBackend backend) { in emitEnumStaticAssert() argument
88 out << "static_assert(" << aidlTypePackage(namedType, backend) << "::" << (*it)->name() in emitEnumStaticAssert()
89 << " == static_cast<" << aidlTypePackage(namedType, backend) << ">(" in emitEnumStaticAssert()
97 AidlBackend backend) { in emitStaticAsserts() argument
98 CHECK(backend != AidlBackend::JAVA); in emitStaticAsserts()
101 emitEnumStaticAssert(out, *namedType, backend); in emitStaticAsserts()
108 AidlBackend backend) { in namedTypeTranslation() argument
128 if (backend == AidlBackend::JAVA) { in namedTypeTranslation()
136 if (backend == AidlBackend::JAVA) { in namedTypeTranslation()
141 out << aidlTypePackage(*type, backend) << " " << field.field->name() << ";\n"; in namedTypeTranslation()
144 out << "out->set<" << aidlTypePackage(*parent, backend) << "::" << field.fullName in namedTypeTranslation()
153 AidlBackend backend) { in h2aScalarChecks() argument
167 // needed in the Java backend. in h2aScalarChecks()
168 if (backend != AidlBackend::JAVA && scalarType->getKind() == ScalarType::KIND_UINT16) { in h2aScalarChecks()
181 std::string limit = (backend == AidlBackend::JAVA) in h2aScalarChecks()
187 if (backend == AidlBackend::JAVA) { in h2aScalarChecks()
201 static std::string wrapToString16(const std::string& payload, AidlBackend backend) { in wrapToString16() argument
202 if (backend == AidlBackend::CPP) { in wrapToString16()
210 const FQName& fqName, AidlBackend backend) { in wrapStaticCast() argument
216 aidlTypePackage(static_cast<const android::NamedType&>(type), backend) + ">(" + in wrapStaticCast()
228 AidlBackend backend) { in wrapCppSource() argument
230 return wrapToString16(payload, backend); in wrapCppSource()
233 fqName, backend); in wrapCppSource()
235 return wrapStaticCast(payload, type, fqName, backend); in wrapCppSource()
240 const CompoundType* parent, AidlBackend backend) { in containerTranslation() argument
278 if (backend == AidlBackend::JAVA) { in containerTranslation()
290 h2aScalarChecks(out, *elementType, inputAccess + javaElementAccess, backend); in containerTranslation()
306 out << "out->set<" << aidlTypePackage(*parent, backend) in containerTranslation()
312 h2aScalarChecks(out, *elementType, inputAccessElement, backend); in containerTranslation()
315 out << "get<" << aidlTypePackage(*parent, backend) in containerTranslation()
327 backend) in containerTranslation()
332 backend) in containerTranslation()
343 const CompoundType* parent, AidlBackend backend) { in simpleTranslation() argument
345 if (backend == AidlBackend::JAVA) { in simpleTranslation()
346 // HIDL uses short(signed) in the Java backend for uint16_t and int16_t in simpleTranslation()
353 h2aScalarChecks(out, field.field->type(), inputAccess, backend); in simpleTranslation()
357 h2aScalarChecks(out, field.field->type(), inputAccess, backend); in simpleTranslation()
363 h2aScalarChecks(out, field.field->type(), inputAccess, backend); in simpleTranslation()
366 backend) in simpleTranslation()
370 h2aScalarChecks(out, field.field->type(), inputAccess, backend); in simpleTranslation()
371 out << "out->set<" << aidlTypePackage(*parent, backend) << "::" << field.fullName in simpleTranslation()
373 << wrapCppSource(inputAccess, field.field->type(), parent->fqName(), backend) in simpleTranslation()
381 AidlBackend backend) { in h2aFieldTranslation() argument
383 namedTypeTranslation(out, namedTypes, field, parent, backend); in h2aFieldTranslation()
385 containerTranslation(out, field, parent, backend); in h2aFieldTranslation()
388 simpleTranslation(out, field, parent, backend); in h2aFieldTranslation()
396 static const std::string declareAidlFunctionSignature(const NamedType* type, AidlBackend backend) { in declareAidlFunctionSignature() argument
397 if (backend == AidlBackend::JAVA) { in declareAidlFunctionSignature()
398 return "static public " + aidlTypePackage(*type, backend) + " h2aTranslate(" + in declareAidlFunctionSignature()
402 "& in, " + aidlTypePackage(*type, backend) + "* out)"; in declareAidlFunctionSignature()
432 static const std::string aidlIncludeFile(const NamedType* type, AidlBackend backend) { in aidlIncludeFile() argument
433 const std::string prefix = (backend == AidlBackend::NDK) ? "aidl/" : std::string(); in aidlIncludeFile()
442 AidlBackend backend) { in emitCppTranslateHeader() argument
443 CHECK(backend == AidlBackend::CPP || backend == AidlBackend::NDK); in emitCppTranslateHeader()
446 "include/" + AidlHelper::translateHeaderFile(fqName, backend)); in emitCppTranslateHeader()
449 out << "// FIXME Remove this file if you don't need to translate types in this backend.\n\n"; in emitCppTranslateHeader()
458 includes.insert(aidlIncludeFile(AidlHelper::getTopLevelType(type), backend)); in emitCppTranslateHeader()
469 out << declareAidlFunctionSignature(type, backend) << ";\n"; in emitCppTranslateHeader()
478 AidlBackend backend) { in emitTranslateSource() argument
480 AidlHelper::translateSourceFile(fqName, backend)); in emitTranslateSource()
482 out << "// FIXME Remove this file if you don't need to translate types in this backend.\n\n"; in emitTranslateSource()
483 if (backend == AidlBackend::JAVA) { in emitTranslateSource()
488 << AidlHelper::translateHeaderFile((*namedTypes.begin())->fqName(), backend) + "\"\n\n"; in emitTranslateSource()
490 emitStaticAsserts(out, namedTypes, backend); in emitTranslateSource()
501 // HIDL Java backend doesn't support union so don't add a comment. in emitTranslateSource()
502 if (backend != AidlBackend::JAVA) { in emitTranslateSource()
505 out << "// " << declareAidlFunctionSignature(type, backend) << "\n\n"; in emitTranslateSource()
510 out << declareAidlFunctionSignature(type, backend) << " {\n"; in emitTranslateSource()
513 if (backend == AidlBackend::JAVA) { in emitTranslateSource()
514 out << aidlTypePackage(*type, backend) << " out = new " in emitTranslateSource()
515 << aidlTypePackage(*type, backend) << "();\n"; in emitTranslateSource()
521 if (backend == AidlBackend::JAVA) { in emitTranslateSource()
529 h2aFieldTranslation(out, namedTypes, compound, field, backend); in emitTranslateSource()
534 if (backend == AidlBackend::JAVA) { in emitTranslateSource()
547 if (backend == AidlBackend::JAVA) { in emitTranslateSource()
548 out << aidlTypePackage(*type, backend) << " out = new " in emitTranslateSource()
549 << aidlTypePackage(*type, backend) << "();\n"; in emitTranslateSource()
553 h2aFieldTranslation(out, namedTypes, compound, field, backend); in emitTranslateSource()
557 if (backend == AidlBackend::JAVA) { in emitTranslateSource()
564 if (backend == AidlBackend::JAVA) { in emitTranslateSource()
576 for (auto backend : {AidlBackend::NDK, AidlBackend::CPP, AidlBackend::JAVA}) { in emitTranslation()
577 if (backend != AidlBackend::JAVA) { in emitTranslation()
578 emitCppTranslateHeader(coordinator, fqName, namedTypes, processedTypes, backend); in emitTranslation()
580 emitTranslateSource(coordinator, fqName, namedTypes, processedTypes, backend); in emitTranslation()