aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/codegen
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-01-18 21:28:00 +0800
committerGitHub <noreply@github.com>2017-01-18 21:28:00 +0800
commit005e1908854fe26611a175640fad87b430609d16 (patch)
tree7a9f257478ce326508dd56d42fe9dfd8a7d998eb /libsolidity/codegen
parent4f4963131bd969fa063a3aad980139dad2034087 (diff)
parent94b092d87c051e8846f5d61eaa1a4581b6588c71 (diff)
downloaddexon-solidity-005e1908854fe26611a175640fad87b430609d16.tar
dexon-solidity-005e1908854fe26611a175640fad87b430609d16.tar.gz
dexon-solidity-005e1908854fe26611a175640fad87b430609d16.tar.bz2
dexon-solidity-005e1908854fe26611a175640fad87b430609d16.tar.lz
dexon-solidity-005e1908854fe26611a175640fad87b430609d16.tar.xz
dexon-solidity-005e1908854fe26611a175640fad87b430609d16.tar.zst
dexon-solidity-005e1908854fe26611a175640fad87b430609d16.zip
Merge pull request #1397 from roadriverrail/contract_collision
Error out when contracts collide on name
Diffstat (limited to 'libsolidity/codegen')
-rw-r--r--libsolidity/codegen/ContractCompiler.cpp2
-rw-r--r--libsolidity/codegen/ExpressionCompiler.cpp4
2 files changed, 3 insertions, 3 deletions
diff --git a/libsolidity/codegen/ContractCompiler.cpp b/libsolidity/codegen/ContractCompiler.cpp
index a0f196bc..fa77c1aa 100644
--- a/libsolidity/codegen/ContractCompiler.cpp
+++ b/libsolidity/codegen/ContractCompiler.cpp
@@ -575,7 +575,7 @@ bool ContractCompiler::visit(InlineAssembly const& _inlineAssembly)
else if (auto contract = dynamic_cast<ContractDefinition const*>(decl))
{
solAssert(contract->isLibrary(), "");
- _assembly.appendLibraryAddress(contract->name());
+ _assembly.appendLibraryAddress(contract->fullyQualifiedName());
}
else
solAssert(false, "Invalid declaration type.");
diff --git a/libsolidity/codegen/ExpressionCompiler.cpp b/libsolidity/codegen/ExpressionCompiler.cpp
index 3922da88..37bd1458 100644
--- a/libsolidity/codegen/ExpressionCompiler.cpp
+++ b/libsolidity/codegen/ExpressionCompiler.cpp
@@ -892,7 +892,7 @@ bool ExpressionCompiler::visit(MemberAccess const& _memberAccess)
solAssert(funType->location() == FunctionType::Location::DelegateCall, "");
auto contract = dynamic_cast<ContractDefinition const*>(funType->declaration().scope());
solAssert(contract && contract->isLibrary(), "");
- m_context.appendLibraryAddress(contract->name());
+ m_context.appendLibraryAddress(contract->fullyQualifiedName());
m_context << funType->externalIdentifier();
utils().moveIntoStack(funType->selfType()->sizeOnStack(), 2);
}
@@ -1270,7 +1270,7 @@ void ExpressionCompiler::endVisit(Identifier const& _identifier)
else if (auto contract = dynamic_cast<ContractDefinition const*>(declaration))
{
if (contract->isLibrary())
- m_context.appendLibraryAddress(contract->name());
+ m_context.appendLibraryAddress(contract->fullyQualifiedName());
}
else if (dynamic_cast<EventDefinition const*>(declaration))
{