Skip to content

Commit 0b1cc06

Browse files
committed
hl: Let enum declarations use SymbolNameAttr.
1 parent e156eea commit 0b1cc06

File tree

2 files changed

+9
-15
lines changed

2 files changed

+9
-15
lines changed

include/vast/Dialect/HighLevel/HighLevelOps.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ def HighLevel_EnumRegion : Region< Core_HasOneBlock, "enum constants region" >;
213213

214214
def HighLevel_EnumDeclOp
215215
: HighLevel_Op< "enum", [NoTerminator, Core_TypeSymbol] >
216-
, Arguments<(ins StrAttr:$name, OptionalAttr<TypeAttr>:$type)>
216+
, Arguments<(ins SymbolNameAttr:$name, OptionalAttr<TypeAttr>:$type)>
217217
{
218218
let summary = "VAST enum declaration";
219219
let description = [{

lib/vast/Dialect/HighLevel/HighLevelOps.cpp

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -375,21 +375,15 @@ namespace vast::hl
375375
mlir::TypeAttr typeAttr;
376376
std::unique_ptr< Region > constantsRegion = std::make_unique< Region >();
377377

378-
if (parser.parseCustomAttributeWithFallback(
379-
nameAttr, parser.getBuilder().getType< mlir::NoneType >()
380-
))
381-
{
378+
if (parser.parseSymbolName(nameAttr))
379+
return mlir::failure();
380+
if (nameAttr) result.attributes.append("name", nameAttr);
381+
382+
parser.getCurrentLocation();
383+
if (parser.parseOptionalAttrDict(result.attributes)) {
382384
return mlir::failure();
383385
}
384-
if (nameAttr) {
385-
result.attributes.append("name", nameAttr);
386-
}
387-
{
388-
parser.getCurrentLocation();
389-
if (parser.parseOptionalAttrDict(result.attributes)) {
390-
return mlir::failure();
391-
}
392-
}
386+
393387
if (mlir::succeeded(parser.parseOptionalColon())) {
394388
if (parser.parseCustomAttributeWithFallback(
395389
typeAttr, parser.getBuilder().getType< mlir::NoneType >()
@@ -415,7 +409,7 @@ namespace vast::hl
415409

416410
void EnumDeclOp::print(Printer &odsPrinter) {
417411
odsPrinter << ' ';
418-
odsPrinter.printAttributeWithoutType(getNameAttr());
412+
odsPrinter.printSymbolName(getNameAttr().getValue());
419413
llvm::SmallVector< llvm::StringRef, 2 > elidedAttrs;
420414
elidedAttrs.push_back("name");
421415
elidedAttrs.push_back("type");

0 commit comments

Comments
 (0)