Add parsing for attributes and attibutes on operations. Add IR representation
for attributes on operations. Split Operation out from OperationInst so it
can be shared with OperationStmt one day.
PiperOrigin-RevId: 203325366
diff --git a/lib/IR/Attributes.cpp b/lib/IR/Attributes.cpp
index 0a773f1..df23424 100644
--- a/lib/IR/Attributes.cpp
+++ b/lib/IR/Attributes.cpp
@@ -38,15 +38,11 @@
break;
case Kind::Array: {
auto elts = cast<ArrayAttr>(this)->getValue();
- if (elts.empty())
- os << "[]";
- else {
- os << "[ ";
- interleave(elts,
- [&](Attribute *attr) { attr->print(os); },
- [&]() { os << ", "; });
- os << " ]";
- }
+ os << '[';
+ interleave(elts,
+ [&](Attribute *attr) { attr->print(os); },
+ [&]() { os << ", "; });
+ os << ']';
break;
}
}