Skip to content

Commit f8110fb

Browse files
Merge pull request #159 from SWISensorHub/pr_EnumMember_hasValue
Re-implement EnumMember::hasValue()
2 parents 3813a4a + c8de7d3 commit f8110fb

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

erpcgen/src/types/EnumMember.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ class EnumMember : public Symbol
3737
EnumMember(const Token &tok, uint32_t value)
3838
: Symbol(kEnumMemberSymbol, tok)
3939
, m_value(value)
40+
, m_valueSet(true)
4041
{
4142
}
4243

@@ -50,6 +51,7 @@ class EnumMember : public Symbol
5051
EnumMember(const Token &tok)
5152
: Symbol(kEnumMemberSymbol, tok)
5253
, m_value(-1)
54+
, m_valueSet(false)
5355
{
5456
}
5557

@@ -58,7 +60,10 @@ class EnumMember : public Symbol
5860
*
5961
* @param[in] value Value of enum member.
6062
*/
61-
void setValue(IntegerValue value) { m_value = value; }
63+
void setValue(IntegerValue value) {
64+
m_value = value;
65+
m_valueSet = true;
66+
}
6267

6368
/*!
6469
* @brief This function returns enum member value.
@@ -73,7 +78,7 @@ class EnumMember : public Symbol
7378
* @retval true When enum member has set value.
7479
* @retval false When enum member has not set value.
7580
*/
76-
bool hasValue() const { return -1 != (int32_t)m_value.getValue(); }
81+
bool hasValue() const { return m_valueSet; }
7782

7883
/*!
7984
* @brief This function returns description about the enum member.
@@ -93,6 +98,7 @@ class EnumMember : public Symbol
9398

9499
protected:
95100
IntegerValue m_value; /*!< Integer value of enum member. */
101+
bool m_valueSet;
96102
};
97103

98104
} // namespace erpcgen

0 commit comments

Comments
 (0)