aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2016-10-25 18:50:24 +0800
committerGitHub <noreply@github.com>2016-10-25 18:50:24 +0800
commite00a4b47c06d412cd9342b8be2163e861c591c28 (patch)
tree3c8584a2d12591f6dd5766f0c3f074bf0a6ffd97 /libsolidity/analysis
parentd190f016ad70f78f3abb06a09472235844e7c04d (diff)
parent59f6c18c2be86152261bb20732161c60fd2a6485 (diff)
downloaddexon-solidity-e00a4b47c06d412cd9342b8be2163e861c591c28.tar.gz
dexon-solidity-e00a4b47c06d412cd9342b8be2163e861c591c28.tar.zst
dexon-solidity-e00a4b47c06d412cd9342b8be2163e861c591c28.zip
Merge pull request #1264 from ethereum/988
State variable under contract's name
Diffstat (limited to 'libsolidity/analysis')
-rw-r--r--libsolidity/analysis/TypeChecker.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/libsolidity/analysis/TypeChecker.cpp b/libsolidity/analysis/TypeChecker.cpp
index 10d24e5a..46f4f7f6 100644
--- a/libsolidity/analysis/TypeChecker.cpp
+++ b/libsolidity/analysis/TypeChecker.cpp
@@ -1386,6 +1386,11 @@ bool TypeChecker::visit(MemberAccess const& _memberAccess)
}
else if (exprType->category() == Type::Category::FixedBytes)
annotation.isLValue = false;
+ else if (TypeType const* typeType = dynamic_cast<decltype(typeType)>(exprType.get()))
+ {
+ if (ContractType const* contractType = dynamic_cast<decltype(contractType)>(typeType->actualType().get()))
+ annotation.isLValue = annotation.referencedDeclaration->isLValue();
+ }
return false;
}