================ @@ -898,23 +898,29 @@ namespace { } class EnumArgument : public Argument { - std::string type; + std::string fullType; + StringRef shortType; std::vector<StringRef> values, enums, uniques; + bool isExternal; public: EnumArgument(const Record &Arg, StringRef Attr) - : Argument(Arg, Attr), type(std::string(Arg.getValueAsString("Type"))), - values(Arg.getValueAsListOfStrings("Values")), + : Argument(Arg, Attr), values(Arg.getValueAsListOfStrings("Values")), enums(Arg.getValueAsListOfStrings("Enums")), - uniques(uniqueEnumsInOrder(enums)) { + uniques(uniqueEnumsInOrder(enums)), + isExternal(Arg.getValueAsBit("External")) { + StringRef Type = Arg.getValueAsString("Type"); + shortType = isExternal ? getAttrName().rsplit("::").second : Type; ---------------- bogner wrote:
Since we do compile the generated code right away it should fail to compile anyway, so I think all this would really do is improve the error someone gets if they make a mistake. I think I'll probably just leave it as is unless you feel strongly that we should do something here. https://github.com/llvm/llvm-project/pull/70835 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits