diff --git a/src/ast/access_decoration.cc b/src/ast/access_decoration.cc index a22b99bad3..f192b068a8 100644 --- a/src/ast/access_decoration.cc +++ b/src/ast/access_decoration.cc @@ -17,17 +17,11 @@ namespace tint { namespace ast { -constexpr const DecorationKind AccessDecoration::Kind; - AccessDecoration::AccessDecoration(AccessControl val, const Source& source) : Base(source), value_(val) {} AccessDecoration::~AccessDecoration() = default; -DecorationKind AccessDecoration::GetKind() const { - return Kind; -} - bool AccessDecoration::IsAccess() const { return true; } diff --git a/src/ast/access_decoration.h b/src/ast/access_decoration.h index 41baa63e66..15f7e122f2 100644 --- a/src/ast/access_decoration.h +++ b/src/ast/access_decoration.h @@ -26,18 +26,12 @@ namespace ast { /// An access decoration class AccessDecoration : public Castable { public: - /// The kind of decoration that this type represents - static constexpr const DecorationKind Kind = DecorationKind::kAccess; - /// constructor /// @param value the access value /// @param source the source of this decoration explicit AccessDecoration(AccessControl value, const Source& source); ~AccessDecoration() override; - /// @return the decoration kind - DecorationKind GetKind() const override; - /// @returns true if this is an access decoration bool IsAccess() const override; diff --git a/src/ast/binding_decoration.cc b/src/ast/binding_decoration.cc index 73f3836a3f..2b85ddac02 100644 --- a/src/ast/binding_decoration.cc +++ b/src/ast/binding_decoration.cc @@ -17,17 +17,11 @@ namespace tint { namespace ast { -constexpr const DecorationKind BindingDecoration::Kind; - BindingDecoration::BindingDecoration(uint32_t val, const Source& source) : Base(source), value_(val) {} BindingDecoration::~BindingDecoration() = default; -DecorationKind BindingDecoration::GetKind() const { - return Kind; -} - bool BindingDecoration::IsBinding() const { return true; } diff --git a/src/ast/binding_decoration.h b/src/ast/binding_decoration.h index 8799656531..c4bbf9dd32 100644 --- a/src/ast/binding_decoration.h +++ b/src/ast/binding_decoration.h @@ -26,18 +26,12 @@ namespace ast { class BindingDecoration : public Castable { public: - /// The kind of decoration that this type represents - static constexpr const DecorationKind Kind = DecorationKind::kBinding; - /// constructor /// @param value the binding value /// @param source the source of this decoration BindingDecoration(uint32_t value, const Source& source); ~BindingDecoration() override; - /// @return the decoration kind - DecorationKind GetKind() const override; - /// @returns true if this is a binding decoration bool IsBinding() const override; diff --git a/src/ast/builtin_decoration.cc b/src/ast/builtin_decoration.cc index a6202905d5..34d48f5210 100644 --- a/src/ast/builtin_decoration.cc +++ b/src/ast/builtin_decoration.cc @@ -17,17 +17,11 @@ namespace tint { namespace ast { -constexpr const DecorationKind BuiltinDecoration::Kind; - BuiltinDecoration::BuiltinDecoration(Builtin builtin, const Source& source) : Base(source), builtin_(builtin) {} BuiltinDecoration::~BuiltinDecoration() = default; -DecorationKind BuiltinDecoration::GetKind() const { - return Kind; -} - bool BuiltinDecoration::IsBuiltin() const { return true; } diff --git a/src/ast/builtin_decoration.h b/src/ast/builtin_decoration.h index 4aaf215b09..251a40946d 100644 --- a/src/ast/builtin_decoration.h +++ b/src/ast/builtin_decoration.h @@ -25,18 +25,12 @@ namespace ast { class BuiltinDecoration : public Castable { public: - /// The kind of decoration that this type represents - static constexpr const DecorationKind Kind = DecorationKind::kBuiltin; - /// constructor /// @param builtin the builtin value /// @param source the source of this decoration BuiltinDecoration(Builtin builtin, const Source& source); ~BuiltinDecoration() override; - /// @return the decoration kind - DecorationKind GetKind() const override; - /// @returns true if this is a builtin decoration bool IsBuiltin() const override; diff --git a/src/ast/constant_id_decoration.cc b/src/ast/constant_id_decoration.cc index 405d06418d..86eaa7af74 100644 --- a/src/ast/constant_id_decoration.cc +++ b/src/ast/constant_id_decoration.cc @@ -17,17 +17,11 @@ namespace tint { namespace ast { -constexpr const DecorationKind ConstantIdDecoration::Kind; - ConstantIdDecoration::ConstantIdDecoration(uint32_t val, const Source& source) : Base(source), value_(val) {} ConstantIdDecoration::~ConstantIdDecoration() = default; -DecorationKind ConstantIdDecoration::GetKind() const { - return Kind; -} - bool ConstantIdDecoration::IsConstantId() const { return true; } diff --git a/src/ast/constant_id_decoration.h b/src/ast/constant_id_decoration.h index ec8512c002..0a1192f103 100644 --- a/src/ast/constant_id_decoration.h +++ b/src/ast/constant_id_decoration.h @@ -25,18 +25,12 @@ namespace ast { class ConstantIdDecoration : public Castable { public: - /// The kind of decoration that this type represents - static constexpr const DecorationKind Kind = DecorationKind::kConstantId; - /// constructor /// @param val the constant_id value /// @param source the source of this decoration ConstantIdDecoration(uint32_t val, const Source& source); ~ConstantIdDecoration() override; - /// @return the decoration kind - DecorationKind GetKind() const override; - /// @returns true if this is a constant_id decoration bool IsConstantId() const override; diff --git a/src/ast/decoration.cc b/src/ast/decoration.cc index 5c8af19aa4..f507183972 100644 --- a/src/ast/decoration.cc +++ b/src/ast/decoration.cc @@ -23,34 +23,16 @@ std::ostream& operator<<(std::ostream& out, DecorationKind data) { switch (data) { case DecorationKind::kArray: return out << "array"; - case DecorationKind::kStride: - return out << "stride"; case DecorationKind::kFunction: return out << "function"; - case DecorationKind::kStage: - return out << "stage"; - case DecorationKind::kWorkgroup: - return out << "workgroup"; case DecorationKind::kStruct: return out << "struct"; case DecorationKind::kStructMember: return out << "struct member"; - case DecorationKind::kStructMemberOffset: - return out << "offset"; case DecorationKind::kType: return out << "type"; - case DecorationKind::kAccess: - return out << "access"; case DecorationKind::kVariable: return out << "variable"; - case DecorationKind::kBinding: - return out << "binding"; - case DecorationKind::kBuiltin: - return out << "builtin"; - case DecorationKind::kConstantId: - return out << "constant_id"; - case DecorationKind::kLocation: - return out << "location"; } return out << ""; } diff --git a/src/ast/decoration.h b/src/ast/decoration.h index 69e3287645..7a92d4ad15 100644 --- a/src/ast/decoration.h +++ b/src/ast/decoration.h @@ -28,20 +28,11 @@ namespace ast { /// The decoration kind enumerator enum class DecorationKind { kArray, - /*|*/ kStride, kFunction, - /*|*/ kStage, - /*|*/ kWorkgroup, kStruct, kStructMember, - /*|*/ kStructMemberOffset, kType, - /*|*/ kAccess, kVariable, - /*|*/ kBinding, - /*|*/ kBuiltin, - /*|*/ kConstantId, - /*|*/ kLocation, }; std::ostream& operator<<(std::ostream& out, DecorationKind data); diff --git a/src/ast/decoration_test.cc b/src/ast/decoration_test.cc index d5149795f0..f3feae864d 100644 --- a/src/ast/decoration_test.cc +++ b/src/ast/decoration_test.cc @@ -64,21 +64,20 @@ TEST_F(DecorationTest, Is) { TEST_F(DecorationTest, Kinds) { EXPECT_EQ(ArrayDecoration::Kind, DecorationKind::kArray); - EXPECT_EQ(StrideDecoration::Kind, DecorationKind::kStride); + EXPECT_EQ(StrideDecoration::Kind, DecorationKind::kArray); EXPECT_EQ(FunctionDecoration::Kind, DecorationKind::kFunction); - EXPECT_EQ(StageDecoration::Kind, DecorationKind::kStage); - EXPECT_EQ(WorkgroupDecoration::Kind, DecorationKind::kWorkgroup); + EXPECT_EQ(StageDecoration::Kind, DecorationKind::kFunction); + EXPECT_EQ(WorkgroupDecoration::Kind, DecorationKind::kFunction); EXPECT_EQ(StructDecoration::Kind, DecorationKind::kStruct); EXPECT_EQ(StructMemberDecoration::Kind, DecorationKind::kStructMember); - EXPECT_EQ(StructMemberOffsetDecoration::Kind, - DecorationKind::kStructMemberOffset); + EXPECT_EQ(StructMemberOffsetDecoration::Kind, DecorationKind::kStructMember); EXPECT_EQ(TypeDecoration::Kind, DecorationKind::kType); - EXPECT_EQ(AccessDecoration::Kind, DecorationKind::kAccess); + EXPECT_EQ(AccessDecoration::Kind, DecorationKind::kType); EXPECT_EQ(VariableDecoration::Kind, DecorationKind::kVariable); - EXPECT_EQ(BindingDecoration::Kind, DecorationKind::kBinding); - EXPECT_EQ(BuiltinDecoration::Kind, DecorationKind::kBuiltin); - EXPECT_EQ(ConstantIdDecoration::Kind, DecorationKind::kConstantId); - EXPECT_EQ(LocationDecoration::Kind, DecorationKind::kLocation); + EXPECT_EQ(BindingDecoration::Kind, DecorationKind::kVariable); + EXPECT_EQ(BuiltinDecoration::Kind, DecorationKind::kVariable); + EXPECT_EQ(ConstantIdDecoration::Kind, DecorationKind::kVariable); + EXPECT_EQ(LocationDecoration::Kind, DecorationKind::kVariable); } } // namespace diff --git a/src/ast/location_decoration.cc b/src/ast/location_decoration.cc index bc0c625f27..3001b61b35 100644 --- a/src/ast/location_decoration.cc +++ b/src/ast/location_decoration.cc @@ -17,17 +17,11 @@ namespace tint { namespace ast { -constexpr const DecorationKind LocationDecoration::Kind; - LocationDecoration::LocationDecoration(uint32_t val, const Source& source) : Base(source), value_(val) {} LocationDecoration::~LocationDecoration() = default; -DecorationKind LocationDecoration::GetKind() const { - return Kind; -} - bool LocationDecoration::IsLocation() const { return true; } diff --git a/src/ast/location_decoration.h b/src/ast/location_decoration.h index 2d1d029a63..e04c50376a 100644 --- a/src/ast/location_decoration.h +++ b/src/ast/location_decoration.h @@ -26,18 +26,12 @@ namespace ast { class LocationDecoration : public Castable { public: - /// The kind of decoration that this type represents - static constexpr const DecorationKind Kind = DecorationKind::kLocation; - /// constructor /// @param value the location value /// @param source the source of this decoration explicit LocationDecoration(uint32_t value, const Source& source); ~LocationDecoration() override; - /// @return the decoration kind - DecorationKind GetKind() const override; - /// @returns true if this is a location decoration bool IsLocation() const override; diff --git a/src/ast/stage_decoration.cc b/src/ast/stage_decoration.cc index da0f52b276..ecb923f731 100644 --- a/src/ast/stage_decoration.cc +++ b/src/ast/stage_decoration.cc @@ -17,17 +17,11 @@ namespace tint { namespace ast { -constexpr const DecorationKind StageDecoration::Kind; - StageDecoration::StageDecoration(ast::PipelineStage stage, const Source& source) : Base(source), stage_(stage) {} StageDecoration::~StageDecoration() = default; -DecorationKind StageDecoration::GetKind() const { - return Kind; -} - bool StageDecoration::IsStage() const { return true; } diff --git a/src/ast/stage_decoration.h b/src/ast/stage_decoration.h index 15d7490f6b..0846b6df20 100644 --- a/src/ast/stage_decoration.h +++ b/src/ast/stage_decoration.h @@ -24,18 +24,12 @@ namespace ast { /// A workgroup decoration class StageDecoration : public Castable { public: - /// The kind of decoration that this type represents - static constexpr const DecorationKind Kind = DecorationKind::kStage; - /// constructor /// @param stage the pipeline stage /// @param source the source of this decoration StageDecoration(ast::PipelineStage stage, const Source& source); ~StageDecoration() override; - /// @return the decoration kind - DecorationKind GetKind() const override; - /// @returns true if this is a stage decoration bool IsStage() const override; diff --git a/src/ast/stride_decoration.cc b/src/ast/stride_decoration.cc index a0b2c4e515..eea3053270 100644 --- a/src/ast/stride_decoration.cc +++ b/src/ast/stride_decoration.cc @@ -17,15 +17,9 @@ namespace tint { namespace ast { -constexpr const DecorationKind StrideDecoration::Kind; - StrideDecoration::StrideDecoration(uint32_t stride, const Source& source) : Base(source), stride_(stride) {} -DecorationKind StrideDecoration::GetKind() const { - return Kind; -} - bool StrideDecoration::IsStride() const { return true; } diff --git a/src/ast/stride_decoration.h b/src/ast/stride_decoration.h index 84acdd3b1f..ac4fd371d1 100644 --- a/src/ast/stride_decoration.h +++ b/src/ast/stride_decoration.h @@ -27,18 +27,12 @@ namespace ast { /// A stride decoration class StrideDecoration : public Castable { public: - /// The kind of decoration that this type represents - static constexpr const DecorationKind Kind = DecorationKind::kStride; - /// constructor /// @param stride the stride value /// @param source the source of this decoration StrideDecoration(uint32_t stride, const Source& source); ~StrideDecoration() override; - /// @return the decoration kind - DecorationKind GetKind() const override; - /// @returns true if this is a stride decoration bool IsStride() const override; diff --git a/src/ast/struct_member_offset_decoration.cc b/src/ast/struct_member_offset_decoration.cc index 9ded0faff0..f1ceb43b98 100644 --- a/src/ast/struct_member_offset_decoration.cc +++ b/src/ast/struct_member_offset_decoration.cc @@ -17,16 +17,10 @@ namespace tint { namespace ast { -constexpr const DecorationKind StructMemberOffsetDecoration::Kind; - StructMemberOffsetDecoration::StructMemberOffsetDecoration(uint32_t offset, const Source& source) : Base(source), offset_(offset) {} -DecorationKind StructMemberOffsetDecoration::GetKind() const { - return Kind; -} - bool StructMemberOffsetDecoration::IsOffset() const { return true; } diff --git a/src/ast/struct_member_offset_decoration.h b/src/ast/struct_member_offset_decoration.h index e0f015cb1d..21c2cf4758 100644 --- a/src/ast/struct_member_offset_decoration.h +++ b/src/ast/struct_member_offset_decoration.h @@ -28,19 +28,12 @@ namespace ast { class StructMemberOffsetDecoration : public Castable { public: - /// The kind of decoration that this type represents - static constexpr const DecorationKind Kind = - DecorationKind::kStructMemberOffset; - /// constructor /// @param offset the offset value /// @param source the source of this decoration StructMemberOffsetDecoration(uint32_t offset, const Source& source); ~StructMemberOffsetDecoration() override; - /// @return the decoration kind - DecorationKind GetKind() const override; - /// @returns true if this is an offset decoration bool IsOffset() const override; diff --git a/src/ast/workgroup_decoration.cc b/src/ast/workgroup_decoration.cc index 1d3040169a..248718b8a1 100644 --- a/src/ast/workgroup_decoration.cc +++ b/src/ast/workgroup_decoration.cc @@ -17,8 +17,6 @@ namespace tint { namespace ast { -constexpr const DecorationKind WorkgroupDecoration::Kind; - WorkgroupDecoration::WorkgroupDecoration(uint32_t x, const Source& source) : Base(source), x_(x) {} @@ -35,10 +33,6 @@ WorkgroupDecoration::WorkgroupDecoration(uint32_t x, WorkgroupDecoration::~WorkgroupDecoration() = default; -DecorationKind WorkgroupDecoration::GetKind() const { - return Kind; -} - bool WorkgroupDecoration::IsWorkgroup() const { return true; } diff --git a/src/ast/workgroup_decoration.h b/src/ast/workgroup_decoration.h index bc6bd99fa7..47cc51a428 100644 --- a/src/ast/workgroup_decoration.h +++ b/src/ast/workgroup_decoration.h @@ -28,9 +28,6 @@ namespace ast { class WorkgroupDecoration : public Castable { public: - /// The kind of decoration that this type represents - static constexpr const DecorationKind Kind = DecorationKind::kWorkgroup; - /// constructor /// @param x the workgroup x dimension size /// @param source the source of this decoration @@ -48,9 +45,6 @@ class WorkgroupDecoration WorkgroupDecoration(uint32_t x, uint32_t y, uint32_t z, const Source& source); ~WorkgroupDecoration() override; - /// @return the decoration kind - DecorationKind GetKind() const override; - /// @returns true if this is a workgroup decoration bool IsWorkgroup() const override;