================
@@ -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

Reply via email to