mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #8628 from ethereum/fiximmutableastexport
Export immutability.
This commit is contained in:
@@ -411,11 +411,24 @@ ASTPointer<VariableDeclaration> ASTJsonImporter::createVariableDeclaration(Json:
|
||||
{
|
||||
astAssert(_node["name"].isString(), "Expected 'name' to be a string!");
|
||||
|
||||
VariableDeclaration::Constantness constantness{};
|
||||
if (memberAsBool(_node, "constant"))
|
||||
constantness = VariableDeclaration::Constantness::Constant;
|
||||
VariableDeclaration::Mutability mutability{};
|
||||
astAssert(member(_node, "mutability").isString(), "'mutability' expected to be string.");
|
||||
string const mutabilityStr = member(_node, "mutability").asString();
|
||||
if (mutabilityStr == "constant")
|
||||
{
|
||||
mutability = VariableDeclaration::Mutability::Constant;
|
||||
astAssert(memberAsBool(_node, "constant"), "");
|
||||
}
|
||||
else
|
||||
constantness = VariableDeclaration::Constantness::Mutable;
|
||||
{
|
||||
astAssert(!memberAsBool(_node, "constant"), "");
|
||||
if (mutabilityStr == "mutable")
|
||||
mutability = VariableDeclaration::Mutability::Mutable;
|
||||
else if (mutabilityStr == "immutable")
|
||||
mutability = VariableDeclaration::Mutability::Immutable;
|
||||
else
|
||||
astAssert(false, "");
|
||||
}
|
||||
|
||||
return createASTNode<VariableDeclaration>(
|
||||
_node,
|
||||
@@ -425,7 +438,7 @@ ASTPointer<VariableDeclaration> ASTJsonImporter::createVariableDeclaration(Json:
|
||||
visibility(_node),
|
||||
memberAsBool(_node, "stateVariable"),
|
||||
_node.isMember("indexed") ? memberAsBool(_node, "indexed") : false,
|
||||
constantness,
|
||||
mutability,
|
||||
_node["overrides"].isNull() ? nullptr : createOverrideSpecifier(member(_node, "overrides")),
|
||||
location(_node)
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user