aboutsummaryrefslogtreecommitdiffstats
path: root/AST.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'AST.cpp')
-rw-r--r--AST.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/AST.cpp b/AST.cpp
index 488bd4cd..7653952f 100644
--- a/AST.cpp
+++ b/AST.cpp
@@ -277,6 +277,19 @@ TypePointer EnumDefinition::getType(ContractDefinition const*) const
return make_shared<TypeType>(make_shared<EnumType>(*this));
}
+
+unsigned int EnumDefinition::getMemberValue(ASTString const& _member) const
+{
+ unsigned int index = 0;
+ for (ASTPointer<EnumDeclaration> const& decl: m_members)
+ {
+ if (decl->getName() == _member)
+ return index;
+ ++index;
+ }
+ BOOST_THROW_EXCEPTION(createTypeError("Requested unknown enum value ." + _member));
+}
+
TypePointer FunctionDefinition::getType(ContractDefinition const*) const
{
return make_shared<FunctionType>(*this);