Refactor the asmparser hook to work with a new OperationState type that fully
encapsulates an operation that is yet to be created.  This is a patch towards
custom ops providing create methods that don't need to be templated, allowing
them to move out of line in the future.

PiperOrigin-RevId: 207725557
diff --git a/lib/IR/OperationSet.cpp b/lib/IR/OperationSet.cpp
index 9bbc84e..98bf5fe 100644
--- a/lib/IR/OperationSet.cpp
+++ b/lib/IR/OperationSet.cpp
@@ -27,9 +27,8 @@
 OpAsmParser::~OpAsmParser() {}
 
 // The fallback for the printer is to reject the short form.
-OpAsmParserResult OpBaseState::parse(OpAsmParser *parser) {
-  parser->emitError(parser->getNameLoc(), "has no concise form");
-  return {};
+bool OpBaseState::parse(OpAsmParser *parser, OperationState *result) {
+  return parser->emitError(parser->getNameLoc(), "has no concise form");
 }
 
 // The fallback for the printer is to print it the longhand form.