@@ -40,7 +40,27 @@ namespace vast::core {
40
40
// Symbol Reference Attributes
41
41
//
42
42
struct VarSymbolRefAttr : mlir::FlatSymbolRefAttr {};
43
+ struct TypeSymbolRefAttr : mlir::FlatSymbolRefAttr {};
44
+ struct FuncSymbolRefAttr : mlir::FlatSymbolRefAttr {};
45
+ struct LabelSymbolRefAttr : mlir::FlatSymbolRefAttr {};
46
+ struct EnumConstantSymbolRefAttr : mlir::FlatSymbolRefAttr {};
47
+ struct MemberVarSymbolRefAttr : mlir::FlatSymbolRefAttr {};
48
+ struct ElaboratedTypeSymbolRefAttr : mlir::FlatSymbolRefAttr {};
43
49
44
- using var_symbol_ref_attr = VarSymbolRefAttr;
50
+ using var_symbol_ref_attr = VarSymbolRefAttr;
51
+ using type_symbol_ref_attr = TypeSymbolRefAttr;
52
+ using func_symbol_ref_attr = FuncSymbolRefAttr;
53
+ using label_symbol_ref_attr = LabelSymbolRefAttr;
54
+ using enum_constant_symbol_ref_attr = EnumConstantSymbolRefAttr;
55
+ using member_var_symbol_ref_attr = MemberVarSymbolRefAttr;
56
+ using elaborated_type_symbol_ref_attr = ElaboratedTypeSymbolRefAttr;
45
57
46
58
} // namespace vast::core
59
+
60
+ MLIR_DECLARE_EXPLICIT_TYPE_ID (vast::core::VarSymbolRefAttr);
61
+ MLIR_DECLARE_EXPLICIT_TYPE_ID (vast::core::TypeSymbolRefAttr);
62
+ MLIR_DECLARE_EXPLICIT_TYPE_ID (vast::core::FuncSymbolRefAttr);
63
+ MLIR_DECLARE_EXPLICIT_TYPE_ID (vast::core::LabelSymbolRefAttr);
64
+ MLIR_DECLARE_EXPLICIT_TYPE_ID (vast::core::EnumConstantSymbolRefAttr);
65
+ MLIR_DECLARE_EXPLICIT_TYPE_ID (vast::core::MemberVarSymbolRefAttr);
66
+ MLIR_DECLARE_EXPLICIT_TYPE_ID (vast::core::ElaboratedTypeSymbolRefAttr);
0 commit comments