diff options
author | Lefteris Karapetsas <lefteris@refu.co> | 2015-02-13 00:59:52 +0800 |
---|---|---|
committer | Lefteris Karapetsas <lefteris@refu.co> | 2015-02-14 06:16:14 +0800 |
commit | 012e32942df6ef7e48ebf0735eca2cd8fe062af0 (patch) | |
tree | 28052abd11444c3200308d411cc751b93588d020 /AST.cpp | |
parent | e7f40863ef223c47dffe69c812d363b7553151d1 (diff) | |
download | dexon-solidity-012e32942df6ef7e48ebf0735eca2cd8fe062af0.tar.gz dexon-solidity-012e32942df6ef7e48ebf0735eca2cd8fe062af0.tar.zst dexon-solidity-012e32942df6ef7e48ebf0735eca2cd8fe062af0.zip |
Enum type conversion and member value access.
- Added tests for the type conversion part.
- Enum member value access still needs some work
Diffstat (limited to 'AST.cpp')
-rw-r--r-- | AST.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -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); |