1//
2// EnumValue.cpp
3//
4// Library: CppParser
5// Package: SymbolTable
6// Module: EnumValue
7//
8// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
9// and Contributors.
10//
11// SPDX-License-Identifier: BSL-1.0
12//
13
14
15#include "Poco/CppParser/EnumValue.h"
16#include "Poco/CppParser/Enum.h"
17
18
19namespace Poco {
20namespace CppParser {
21
22
23EnumValue::EnumValue(const std::string& name, const std::string& value, Enum* pEnum):
24 Symbol(name, pEnum->nameSpace()),
25 _value(value)
26{
27 pEnum->addValue(this);
28}
29
30
31EnumValue::~EnumValue()
32{
33}
34
35
36Symbol::Kind EnumValue::kind() const
37{
38 return Symbol::SYM_ENUM_VALUE;
39}
40
41
42std::string EnumValue::toString() const
43{
44 std::string result(name());
45 if (!_value.empty())
46 {
47 result.append(" = ");
48 result.append(_value);
49 }
50 return result;
51}
52
53
54} } // namespace Poco::CppParser
55