Changelog entry and small fixes.

This commit is contained in:
chriseth 2016-10-19 16:39:16 +02:00
parent 6172590b87
commit 62492b67e7
3 changed files with 9 additions and 5 deletions

View File

@ -1,6 +1,7 @@
### 0.4.5 (unreleased)
Features:
* Function types
* Do-while loops: support for a C-style do{<block>}while(<expr>); control structure
* Inline assembly: support ``invalidJumpLabel`` as a jump label.
* Type checker: now more eagerly searches for a common type of an inline array with mixed types

View File

@ -228,8 +228,13 @@ bool ASTJsonConverter::visit(UserDefinedTypeName const& _node)
bool ASTJsonConverter::visit(FunctionTypeName const& _node)
{
string visibility = "internal";
if (_node.visibility() == Declaration::Visibility::External)
visibility = "external";
addJsonNode(_node, "FunctionTypeName", {
make_pair("payable", _node.isPayable()),
make_pair("visibility", visibility),
make_pair("constant", _node.isDeclaredConst())
});
return true;

View File

@ -2077,12 +2077,10 @@ TypePointer FunctionType::encodingType() const
TypePointer FunctionType::interfaceType(bool /*_inLibrary*/) const
{
if (m_location != Location::External && m_location != Location::Internal)
return TypePointer();
if (m_location != Location::External)
return TypePointer();
else
if (m_location == Location::External)
return make_shared<IntegerType>(8 * storageBytes());
else
return TypePointer();
}
bool FunctionType::canTakeArguments(TypePointers const& _argumentTypes, TypePointer const& _selfType) const