Merge pull request #1700 from ethereum/fixNoMobile

Some checks for the existence of mobile type.
This commit is contained in:
chriseth
2017-02-24 15:50:45 +01:00
committed by GitHub
3 changed files with 9 additions and 2 deletions
+5 -2
View File
@@ -252,9 +252,9 @@ TypePointer Type::commonType(TypePointer const& _a, TypePointer const& _b)
{
if (!_a || !_b)
return TypePointer();
else if (_b->isImplicitlyConvertibleTo(*_a->mobileType()))
else if (_a->mobileType() && _b->isImplicitlyConvertibleTo(*_a->mobileType()))
return _a->mobileType();
else if (_a->isImplicitlyConvertibleTo(*_b->mobileType()))
else if (_b->mobileType() && _a->isImplicitlyConvertibleTo(*_b->mobileType()))
return _b->mobileType();
else
return TypePointer();
@@ -1897,7 +1897,10 @@ TypePointer TupleType::closestTemporaryType(TypePointer const& _targetType) cons
size_t si = fillRight ? i : components().size() - i - 1;
size_t ti = fillRight ? i : targetComponents.size() - i - 1;
if (components()[si] && targetComponents[ti])
{
tempComponents[ti] = components()[si]->closestTemporaryType(targetComponents[ti]);
solAssert(tempComponents[ti], "");
}
}
return make_shared<TupleType>(tempComponents);
}