Lines Matching refs:Poly
2888 struct Poly { struct
2895 Poly(NodeKind Kind) : Kind(Kind) {} in Poly() argument
2897 virtual ~Poly() = default;
2902 struct Scalar : Poly { argument
2914 Scalar() : Poly(NK_Scalar), SKind(SK_Unknown) {} in Scalar()
2916 : Poly(NK_Scalar), SKind(SK_Double), DoubleValue(DoubleValue) {} in Scalar()
2918 : Poly(NK_Scalar), SKind(SK_Bool), BoolValue(BoolValue) {} in Scalar()
2920 static bool classof(const Poly *N) { return N->getKind() == NK_Scalar; } in classof()
2923 struct Seq : Poly, std::vector<std::unique_ptr<Poly>> {
2924 Seq() : Poly(NK_Seq) {} in Seq()
2926 static bool classof(const Poly *N) { return N->getKind() == NK_Seq; } in classof()
2929 struct Map : Poly, llvm::StringMap<std::unique_ptr<Poly>> {
2930 Map() : Poly(NK_Map) {} in Map()
2932 static bool classof(const Poly *N) { return N->getKind() == NK_Map; } in classof()
2938 template <> struct PolymorphicTraits<std::unique_ptr<Poly>> {
2939 static NodeKind getKind(const std::unique_ptr<Poly> &N) { in getKind()
2949 static Scalar &getAsScalar(std::unique_ptr<Poly> &N) { in getAsScalar()
2955 static Seq &getAsSequence(std::unique_ptr<Poly> &N) { in getAsSequence()
2961 static Map &getAsMap(std::unique_ptr<Poly> &N) { in getAsMap()
3030 static std::unique_ptr<Poly> &element(IO &IO, Seq &A, size_t Index) { in element()
3042 std::unique_ptr<Poly> node = std::make_unique<Scalar>(true); in TEST()
3059 auto node = llvm::unique_dyn_cast<Poly>(seq); in TEST()
3067 std::unique_ptr<Poly> node; in TEST()
3091 std::unique_ptr<Poly> node = llvm::unique_dyn_cast<Poly>(map); in TEST()
3099 std::unique_ptr<Poly> node; in TEST()