Lines Matching defs:AsFortran
56 llvm::raw_ostream &ConstantBase<RESULT, VALUE>::AsFortran(
63 o << '[' << GetType().AsFortran() << "::";
78 value.AsFortran(o, Result::kind);
91 StructureConstructor{result_.derivedTypeSpec(), value}.AsFortran(o);
102 llvm::raw_ostream &Constant<Type<TypeCategory::Character, KIND>>::AsFortran(
109 o << '[' << GetType().AsFortran(std::to_string(length_)) << "::";
155 return x.AsFortran(o);
209 llvm::raw_ostream &ActualArgument::AssumedType::AsFortran(
214 llvm::raw_ostream &ActualArgument::AsFortran(llvm::raw_ostream &o) const {
226 expr.value().AsFortran(o);
228 [&](const AssumedType &assumedType) { assumedType.AsFortran(o); },
238 llvm::raw_ostream &SpecificIntrinsic::AsFortran(llvm::raw_ostream &o) const {
242 llvm::raw_ostream &ProcedureRef::AsFortran(llvm::raw_ostream &o) const {
245 arg->AsFortran(o) << '%';
249 proc_.AsFortran(o);
254 expr.AsFortran(o << "<<<");
257 expr.AsFortran(o << ",");
265 arg->AsFortran(o << separator);
438 return OperatorSpelling{"", AsFortran(x.logicalOperator), ""};
442 return OperatorSpelling{"", AsFortran(x.opr), ""};
446 llvm::raw_ostream &Operation<D, R, O...>::AsFortran(
454 left().AsFortran(o << '(') << ')';
456 left().AsFortran(o);
462 left().AsFortran(o << '(') << ')';
464 left().AsFortran(o);
469 right().AsFortran(o << '(') << ')';
471 right().AsFortran(o);
478 llvm::raw_ostream &Convert<TO, FROMCAT>::AsFortran(llvm::raw_ostream &o) const {
487 this->left().AsFortran(o << "achar(iachar(") << ')';
489 this->left().AsFortran(o << "int(");
491 this->left().AsFortran(o << "real(");
493 this->left().AsFortran(o << "cmplx(");
495 this->left().AsFortran(o << "logical(");
497 this->left().AsFortran(o << "uint(");
502 llvm::raw_ostream &Relational<SomeType>::AsFortran(llvm::raw_ostream &o) const {
503 common::visit([&](const auto &rel) { rel.AsFortran(o); }, u);
509 return expr.AsFortran(o);
520 o << ',' << ImpliedDoIndex::Result::AsFortran()
522 implDo.lower().AsFortran(o) << ',';
523 implDo.upper().AsFortran(o) << ',';
524 implDo.stride().AsFortran(o) << ')';
541 llvm::raw_ostream &ArrayConstructor<T>::AsFortran(llvm::raw_ostream &o) const {
542 o << '[' << GetType().AsFortran() << "::";
549 ArrayConstructor<Type<TypeCategory::Character, KIND>>::AsFortran(
553 o << GetType().AsFortran(len->AsFortran()) << "::";
559 llvm::raw_ostream &ArrayConstructor<SomeDerived>::AsFortran(
561 o << '[' << GetType().AsFortran() << "::";
567 std::string ExpressionBase<RESULT>::AsFortran() const {
570 AsFortran(ss);
575 llvm::raw_ostream &ExpressionBase<RESULT>::AsFortran(
583 s.value().AsFortran(o);
586 [&](const auto &x) { x.AsFortran(o); },
606 value.GetExplicit()->AsFortran(ss);
615 llvm::raw_ostream &StructureConstructor::AsFortran(llvm::raw_ostream &o) const {
622 value.value().AsFortran(EmitVar(o << ch, *symbol) << '=');
629 std::string DynamicType::AsFortran() const {
646 result += length->AsFortran();
661 std::string DynamicType::AsFortran(std::string &&charLenExpr) const {
666 return AsFortran();
670 std::string SomeDerived::AsFortran() const {
678 llvm::raw_ostream &BaseObject::AsFortran(llvm::raw_ostream &o) const {
682 llvm::raw_ostream &TypeParamInquiry::AsFortran(llvm::raw_ostream &o) const {
684 base_.value().AsFortran(o) << '%';
689 llvm::raw_ostream &Component::AsFortran(llvm::raw_ostream &o) const {
690 base_.value().AsFortran(o);
694 llvm::raw_ostream &NamedEntity::AsFortran(llvm::raw_ostream &o) const {
697 [&](const Component &c) { c.AsFortran(o); },
703 llvm::raw_ostream &Triplet::AsFortran(llvm::raw_ostream &o) const {
710 llvm::raw_ostream &Subscript::AsFortran(llvm::raw_ostream &o) const {
714 llvm::raw_ostream &ArrayRef::AsFortran(llvm::raw_ostream &o) const {
715 base_.AsFortran(o);
718 ss.AsFortran(o << separator);
724 llvm::raw_ostream &CoarrayRef::AsFortran(llvm::raw_ostream &o) const {
758 llvm::raw_ostream &DataRef::AsFortran(llvm::raw_ostream &o) const {
762 llvm::raw_ostream &Substring::AsFortran(llvm::raw_ostream &o) const {
768 llvm::raw_ostream &ComplexPart::AsFortran(llvm::raw_ostream &o) const {
769 return complex_.AsFortran(o) << '%' << EnumToString(part_);
772 llvm::raw_ostream &ProcedureDesignator::AsFortran(llvm::raw_ostream &o) const {
777 llvm::raw_ostream &Designator<T>::AsFortran(llvm::raw_ostream &o) const {
780 [&](const auto &x) { x.AsFortran(o); },
786 llvm::raw_ostream &DescriptorInquiry::AsFortran(llvm::raw_ostream &o) const {
804 base_.AsFortran(o);
817 llvm::raw_ostream &Assignment::AsFortran(llvm::raw_ostream &o) const {
821 rhs.AsFortran(lhs.AsFortran(o) << '=');
823 [&](const ProcedureRef &proc) { proc.AsFortran(o << "CALL "); },
825 lhs.AsFortran(o);
829 bound.AsFortran(o << sep) << ':';
834 rhs.AsFortran(o << " => ");
837 lhs.AsFortran(o);
841 bound.first.AsFortran(o << sep) << ':';
842 bound.second.AsFortran(o);
847 rhs.AsFortran(o << " => ");