Lines Matching refs:Association

749   enum struct Association {  in generateGetDirectiveAssociation()  enum
762 auto GetAssocValue = [](StringRef Name) -> Association { in generateGetDirectiveAssociation()
763 return StringSwitch<Association>(Name) in generateGetDirectiveAssociation()
764 .Case("AS_Block", Association::Block) in generateGetDirectiveAssociation()
765 .Case("AS_Declaration", Association::Declaration) in generateGetDirectiveAssociation()
766 .Case("AS_Delimited", Association::Delimited) in generateGetDirectiveAssociation()
767 .Case("AS_Loop", Association::Loop) in generateGetDirectiveAssociation()
768 .Case("AS_None", Association::None) in generateGetDirectiveAssociation()
769 .Case("AS_Separating", Association::Separating) in generateGetDirectiveAssociation()
770 .Case("AS_FromLeaves", Association::FromLeaves) in generateGetDirectiveAssociation()
771 .Default(Association::Invalid); in generateGetDirectiveAssociation()
774 auto GetAssocName = [&](Association A) -> StringRef { in generateGetDirectiveAssociation()
775 if (A != Association::Invalid && A != Association::FromLeaves) { in generateGetDirectiveAssociation()
791 auto Reduce = [&](Association A, Association B) -> Association { in generateGetDirectiveAssociation()
799 if (A == Association::None || A == B) in generateGetDirectiveAssociation()
801 if (A == Association::Block && B == Association::Loop) in generateGetDirectiveAssociation()
803 if (A == Association::Loop && B == Association::Block) in generateGetDirectiveAssociation()
805 return Association::Invalid; in generateGetDirectiveAssociation()
808 DenseMap<const Record *, Association> AsMap; in generateGetDirectiveAssociation()
810 auto CompAssocImpl = [&](const Record *R, auto &&Self) -> Association { in generateGetDirectiveAssociation()
815 Association AS = GetAssocValue(D.getAssociation()->getName()); in generateGetDirectiveAssociation()
816 if (AS == Association::Invalid) { in generateGetDirectiveAssociation()
821 if (AS != Association::FromLeaves) { in generateGetDirectiveAssociation()
833 Association Result = Self(Leaves[0], Self); in generateGetDirectiveAssociation()
835 Association A = Self(Leaves[I], Self); in generateGetDirectiveAssociation()
836 Association R = Reduce(Result, A); in generateGetDirectiveAssociation()
837 if (R == Association::Invalid) { in generateGetDirectiveAssociation()
845 assert(Result != Association::Invalid); in generateGetDirectiveAssociation()
846 assert(Result != Association::FromLeaves); in generateGetDirectiveAssociation()