aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/codegen/ExpressionCompiler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libsolidity/codegen/ExpressionCompiler.cpp')
-rw-r--r--libsolidity/codegen/ExpressionCompiler.cpp36
1 files changed, 18 insertions, 18 deletions
diff --git a/libsolidity/codegen/ExpressionCompiler.cpp b/libsolidity/codegen/ExpressionCompiler.cpp
index 63d7f1e6..b286594a 100644
--- a/libsolidity/codegen/ExpressionCompiler.cpp
+++ b/libsolidity/codegen/ExpressionCompiler.cpp
@@ -1051,26 +1051,26 @@ bool ExpressionCompiler::visit(MemberAccess const& _memberAccess)
else
alsoSearchInteger = true;
- if (!alsoSearchInteger)
- break;
-
- if (member == "balance")
+ if (alsoSearchInteger)
{
- utils().convertType(
- *_memberAccess.expression().annotation().type,
- IntegerType(0, IntegerType::Modifier::Address),
- true
- );
- m_context << Instruction::BALANCE;
+ if (member == "balance")
+ {
+ utils().convertType(
+ *_memberAccess.expression().annotation().type,
+ IntegerType(0, IntegerType::Modifier::Address),
+ true
+ );
+ m_context << Instruction::BALANCE;
+ }
+ else if ((set<string>{"send", "transfer", "call", "callcode", "delegatecall"}).count(member))
+ utils().convertType(
+ *_memberAccess.expression().annotation().type,
+ IntegerType(0, IntegerType::Modifier::Address),
+ true
+ );
+ else
+ solAssert(false, "Invalid member access to integer");
}
- else if ((set<string>{"send", "transfer", "call", "callcode", "delegatecall"}).count(member))
- utils().convertType(
- *_memberAccess.expression().annotation().type,
- IntegerType(0, IntegerType::Modifier::Address),
- true
- );
- else
- solAssert(false, "Invalid member access to integer");
break;
}
case Type::Category::Function: