Rhett Aultman
f8914c6b28
Fix contract lookup in tests
...
The fully-qualified name of a contract with no source unit is :<Name>
instead of just <Name>, so the test system needed to be adjusted
accordingly.
2017-01-16 12:32:57 -05:00
Rhett Aultman
f10bf36ae3
Move fullyQualified() name to Declaration
2017-01-16 12:32:57 -05:00
Rhett Aultman
0c98e4b2da
Stylistic corrections
2017-01-16 12:32:57 -05:00
Rhett Aultman
220ccfb492
Move clashing libraries to common source in test
...
Since contracts and libraries only collide if they share a common
source file now, this test only works if both libraries are in the
same source.
2017-01-16 12:32:57 -05:00
Rhett Aultman
e3b0827721
Push the error instead of throwing it
...
Throwing a CompilerError on multiple contract definition violates the
expectations of the test suite, which thinks that compile() will
return false if the code can't compile. This brings contract
collision reporting in line with most of the other errors.
2017-01-16 12:32:57 -05:00
Rhett Aultman
8f25bd54e3
Drop ':' if the source file name is empty
...
A large number of tests compile contracts while passing in an empty
string for the source name. This leads to it being keyed by the name
":<contract>", while the tests try to look it up under the name
"<contract>". This change resolves that issue by dropping the ':' in
cases where there is, effectively, no source file to prepend anyway.
2017-01-16 12:32:57 -05:00
Rhett Aultman
071b936b37
Only avoid collision if it's the same file
...
@chriseth had suggested that it would be better if contracts were
referenced in a file:contract notation, and that we output .bin files
that prepend original path names if necessary to avoid a collision.
This commit is mostly a draft; it still needs to be run through the test
suite.
2017-01-16 12:32:57 -05:00
Rhett Aultman
9e88f1eebe
Tab whitespace cleanup (again)
2017-01-16 12:32:57 -05:00
Rhett Aultman
ce3082dec2
Tidy up the error message
2017-01-16 12:32:57 -05:00
Rhett Aultman
b24ca4fa23
Fix tab, drop stupid '!!!', change error message.
2017-01-16 12:32:57 -05:00
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
Nicola
79e5772b8a
Update SolidityLexer.py ( #1567 )
...
Added number unit keywords
2017-01-16 10:26:09 +01:00
chriseth
8bdb99dcc5
Merge pull request #1564 from natzei/patch-1
...
Update SolidityLexer.py
2017-01-13 15:59:02 +01:00
Nicola
fb5583857a
Update SolidityLexer.py
...
'payable' added as a keyword
2017-01-13 15:40:46 +01:00
chriseth
42ae5d0282
Merge pull request #1562 from ethereum/gas-tier-enum-class
...
Make enum Tier into an enum class
2017-01-13 14:35:36 +01:00
chriseth
392ef5f4e1
Merge pull request #1563 from ethereum/updateVersion
...
Update version to 0.4.9.
2017-01-13 13:57:30 +01:00
chriseth
10c2df8b33
Update version to 0.4.9.
2017-01-13 13:56:55 +01:00
Yoichi Hirai
20c62a132d
Make enum Tier into an enum class
2017-01-13 13:19:14 +01:00
chriseth
e22672b7c7
Update Changelog.md
2017-01-13 12:18:22 +01:00
chriseth
bde0b40634
Merge pull request #1479 from ethereum/function_variable_mixin
...
Disallow mixin of functions and attributes under the same name
2017-01-13 09:36:00 +01:00
chriseth
14703ca002
Merge pull request #1560 from ethereum/cmake
...
Travis CI: Install latest CMake
2017-01-13 00:28:09 +01:00
chriseth
6b364fc2fe
Merge pull request #1549 from ethereum/optimizeOptimizer
...
Optimize optimizer
2017-01-12 18:43:55 +01:00
chriseth
3cfa851f6f
Minor changes from review.
2017-01-12 17:53:06 +01:00
chriseth
a32def5c42
Changelog entry.
2017-01-12 17:52:50 +01:00
chriseth
d34b561f68
Windows build fix.
2017-01-12 17:52:27 +01:00
chriseth
58509ca3aa
Fix match groups.
2017-01-12 17:52:27 +01:00
chriseth
7127f2fdfd
Fix debug output.
2017-01-12 17:52:27 +01:00
chriseth
da5e171f3b
Optimize constant optimization.
2017-01-12 17:52:27 +01:00
chriseth
f1a4976ce6
Optimise simplification rules (sort into bins).
2017-01-12 17:52:26 +01:00
chriseth
a3b01eca27
Do not evaluate strings if assertion succeeds.
2017-01-12 17:52:26 +01:00
chriseth
652d8dab19
Optimize pattern matcher.
2017-01-12 17:52:26 +01:00
chriseth
afad40ac5a
Optimise AssemblyItem::m_data.
2017-01-12 17:52:26 +01:00
Alex Beregszaszi
0cb95ac35e
LLL: add test for (panic) in a sequence
2017-01-12 14:52:01 +00:00
chriseth
4713dd625d
Fix error tag usage in lll.
2017-01-23 15:46:03 +01:00
Paweł Bylica
ee0bf07487
Travis CI: Install latest CMake
2017-01-12 14:14:19 +01:00
chriseth
74d74fb00b
Merge pull request #1548 from VoR0220/remappingBugFix
...
Remapping bug fix
2017-01-12 12:02:30 +01:00
chriseth
b983c7492f
Merge pull request #1558 from anders94/doc-rewording
...
Re-wording for Clarity
2017-01-12 11:42:46 +01:00
Yoichi Hirai
abc24420a7
ast: events have FunctionType too
2017-01-11 20:06:59 +01:00
Yoichi Hirai
7fea4b7360
analysis: use Declaration::functionType() in another location
2017-01-11 19:55:55 +01:00
Yoichi Hirai
eda147f47b
ast: add Declaration::functionType()
2017-01-11 19:55:50 +01:00
Anders Brownworth
5e29b4cde2
Re-word somewhat bumpy sentence to be more clear.
2017-01-11 13:13:11 -05:00
VoR0220
b6508ca992
fixed
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-11 12:03:54 -06:00
VoR0220
4542f459f1
added fix and a test for order independence of nested prefixing
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-11 11:45:14 -06:00
Yoichi Hirai
e254a59bd2
Changelog: add a line about #1479
2017-01-11 18:28:11 +01:00
Yoichi Hirai
bd6e65a89c
docs: document the resriction about a function and an event of the same name, and so on
2017-01-11 18:28:11 +01:00
Yoichi Hirai
9602318eab
test: allow multiple errors in modifier-function overriding
2017-01-11 18:28:11 +01:00
Yoichi Hirai
0216f34010
analysis: avoid emscripten build failure
2017-01-11 18:28:11 +01:00
Yoichi Hirai
91d4e8e0ba
analysis: changes necessary to compile std/StandardToken.sol
2017-01-11 18:28:11 +01:00
Yoichi Hirai
42b6726173
analysis: allow some shadowings explicitly
2017-01-11 18:28:11 +01:00
Yoichi Hirai
bff76c1ca0
analysis: report errors when inheritance causes collision
2017-01-11 18:28:11 +01:00