Correctly check for string prefix plus indentation change.

This commit is contained in:
Christian 2014-12-15 01:02:33 +01:00
parent c0bba438b1
commit 739192ae65
2 changed files with 13 additions and 9 deletions

View File

@ -291,7 +291,7 @@ void ExpressionCompiler::endVisit(MemberAccess const& _memberAccess)
IntegerType(0, IntegerType::Modifier::ADDRESS), true); IntegerType(0, IntegerType::Modifier::ADDRESS), true);
m_context << eth::Instruction::BALANCE; m_context << eth::Instruction::BALANCE;
} }
else if (member == "send" || member.substr(0, 4) == "call") else if (member == "send" || member.substr(0, min<size_t>(member.size(), 4)) == "call")
appendTypeConversion(*_memberAccess.getExpression().getType(), appendTypeConversion(*_memberAccess.getExpression().getType(),
IntegerType(0, IntegerType::Modifier::ADDRESS), true); IntegerType(0, IntegerType::Modifier::ADDRESS), true);
else else

View File

@ -193,14 +193,18 @@ u256 IntegerType::literalValue(Literal const& _literal) const
} }
const MemberList IntegerType::AddressMemberList = const MemberList IntegerType::AddressMemberList =
MemberList({{"balance", make_shared<IntegerType const>(256)}, MemberList({{"balance",
{"callstring32", make_shared<FunctionType const>(TypePointers({make_shared<StaticStringType const>(32)}), make_shared<IntegerType const>(256)},
TypePointers(), FunctionType::Location::BARE)}, {"callstring32",
{"callstring32string32", make_shared<FunctionType const>(TypePointers({make_shared<StaticStringType const>(32), make_shared<FunctionType const>(TypePointers({make_shared<StaticStringType const>(32)}),
make_shared<StaticStringType const>(32)}), TypePointers(), FunctionType::Location::BARE)},
TypePointers(), FunctionType::Location::BARE)}, {"callstring32string32",
{"send", make_shared<FunctionType const>(TypePointers({make_shared<IntegerType const>(256)}), make_shared<FunctionType const>(TypePointers({make_shared<StaticStringType const>(32),
TypePointers(), FunctionType::Location::SEND)}}); make_shared<StaticStringType const>(32)}),
TypePointers(), FunctionType::Location::BARE)},
{"send",
make_shared<FunctionType const>(TypePointers({make_shared<IntegerType const>(256)}),
TypePointers(), FunctionType::Location::SEND)}});
shared_ptr<StaticStringType> StaticStringType::smallestTypeForLiteral(string const& _literal) shared_ptr<StaticStringType> StaticStringType::smallestTypeForLiteral(string const& _literal)
{ {