Merge pull request #2820 from ethereum/fallthrough

Fix some other fallthrough cases
This commit is contained in:
chriseth 2017-08-25 19:37:59 +02:00 committed by GitHub
commit 9e90ddcae5
4 changed files with 8 additions and 6 deletions

View File

@ -913,10 +913,10 @@ void ArrayUtils::accessIndex(ArrayType const& _arrayType, bool _doBoundsCheck) c
switch (location)
{
case DataLocation::Memory:
if (_arrayType.isDynamicallySized())
m_context << u256(32) << Instruction::ADD;
// fall-through
case DataLocation::CallData:
if (location == DataLocation::Memory && _arrayType.isDynamicallySized())
m_context << u256(32) << Instruction::ADD;
if (!_arrayType.isByteArray())
{
m_context << Instruction::SWAP1;

View File

@ -829,6 +829,7 @@ void CompilerUtils::convertType(
break;
}
}
// fall-through
default:
// All other types should not be convertible to non-equal types.
solAssert(_typeOnStack == _targetType, "Invalid type conversion requested.");

View File

@ -1047,6 +1047,7 @@ bool ExpressionCompiler::visit(MemberAccess const& _memberAccess)
if (!alsoSearchInteger)
break;
}
// fall-through
case Type::Category::Integer:
if (member == "balance")
{

View File

@ -1263,15 +1263,15 @@ ASTPointer<Expression> Parser::parseLeftHandSideExpression(
nodeFactory.markEndPosition();
expectToken(Token::RBrack);
expression = nodeFactory.createNode<IndexAccess>(expression, index);
break;
}
break;
case Token::Period:
{
m_scanner->next();
nodeFactory.markEndPosition();
expression = nodeFactory.createNode<MemberAccess>(expression, expectIdentifierToken());
break;
}
break;
case Token::LParen:
{
m_scanner->next();
@ -1281,8 +1281,8 @@ ASTPointer<Expression> Parser::parseLeftHandSideExpression(
nodeFactory.markEndPosition();
expectToken(Token::RParen);
expression = nodeFactory.createNode<FunctionCall>(expression, arguments, names);
break;
}
break;
default:
return expression;
}