mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-06-06 22:53:35 +00:00
ast: Remove non-group DecorationKind enums
The following DecorationKinds were sub-types of core decoration types: kStride, kStage, kWorkgroup, kStructMemberOffset, kAccess, kBinding, kBuiltin, kConstantId, kLocation These only existed for casting (not for error messages), and are no longer needed, so remove them. Change-Id: I1e4bb9bf51952c6e86bac984d0d667a071ca80bf Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/34303 Reviewed-by: dan sinclair <dsinclair@chromium.org>
This commit is contained in:
parent
370d20a4c6
commit
26e944bc4e
@ -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;
|
||||
}
|
||||
|
@ -26,18 +26,12 @@ namespace ast {
|
||||
/// An access decoration
|
||||
class AccessDecoration : public Castable<AccessDecoration, TypeDecoration> {
|
||||
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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -26,18 +26,12 @@ namespace ast {
|
||||
class BindingDecoration
|
||||
: public Castable<BindingDecoration, VariableDecoration> {
|
||||
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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -25,18 +25,12 @@ namespace ast {
|
||||
class BuiltinDecoration
|
||||
: public Castable<BuiltinDecoration, VariableDecoration> {
|
||||
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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -25,18 +25,12 @@ namespace ast {
|
||||
class ConstantIdDecoration
|
||||
: public Castable<ConstantIdDecoration, VariableDecoration> {
|
||||
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;
|
||||
|
||||
|
@ -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 << "<unknown>";
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -26,18 +26,12 @@ namespace ast {
|
||||
class LocationDecoration
|
||||
: public Castable<LocationDecoration, VariableDecoration> {
|
||||
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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -24,18 +24,12 @@ namespace ast {
|
||||
/// A workgroup decoration
|
||||
class StageDecoration : public Castable<StageDecoration, FunctionDecoration> {
|
||||
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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -27,18 +27,12 @@ namespace ast {
|
||||
/// A stride decoration
|
||||
class StrideDecoration : public Castable<StrideDecoration, ArrayDecoration> {
|
||||
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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -28,19 +28,12 @@ namespace ast {
|
||||
class StructMemberOffsetDecoration
|
||||
: public Castable<StructMemberOffsetDecoration, StructMemberDecoration> {
|
||||
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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -28,9 +28,6 @@ namespace ast {
|
||||
class WorkgroupDecoration
|
||||
: public Castable<WorkgroupDecoration, FunctionDecoration> {
|
||||
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;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user