solidity/libsolidity/interface
Rhett Aultman f3a84eab91 Error out when contracts collide on name
The previous behaviour, courtesy of the [] operator in std::map, would
uncritically store a new ContractDefinition in m_contracts even when a
ContractDefinition already existed.  This "resolved" collissions on contract
names by clobbering the original one with the new one, and could lead to
scenarios where the clobber would only be discovered when the original
ContractDefinition could not be found or referred to, which was an unhelpful
InternalCompilerError.

This change checks the m_contracts map for a collision first and will not let
the ContractDefinition be changed to a new one once it's set, throwing a
CompilerError with information about the conflict.
2017-01-16 12:32:57 -05:00
..
CompilerStack.cpp Error out when contracts collide on name 2017-01-16 12:32:57 -05:00
CompilerStack.h cleanup 2017-01-11 11:03:02 -06:00
Exceptions.cpp Fix licensing headers 2016-11-23 12:22:33 +01:00
Exceptions.h Fix licensing headers 2016-11-23 12:22:33 +01:00
GasEstimator.cpp Fix licensing headers 2016-11-23 12:22:33 +01:00
GasEstimator.h Fix licensing headers 2016-11-23 12:22:33 +01:00
InterfaceHandler.cpp Include payable for the constructor in the ABI 2016-11-17 17:23:35 +00:00
InterfaceHandler.h Fix licensing headers 2016-11-23 12:22:33 +01:00
SourceReferenceFormatter.cpp Fix licensing headers 2016-11-23 12:22:33 +01:00
SourceReferenceFormatter.h Fix licensing headers 2016-11-23 12:22:33 +01:00
Utils.h Fix licensing headers 2016-11-23 12:22:33 +01:00
Version.cpp Fix licensing headers 2016-11-23 12:22:33 +01:00
Version.h Fix licensing headers 2016-11-23 12:22:33 +01:00