Kristofer Peterson
f927da9182
Refactor of bool TypeChecker::visit(FunctionCall const& _functionCall).
...
Visit method now cleanly determines if node represents a function call,
struct construction or type conversion. Type checking, validation and
error message logic is moved to separate methods.
2018-11-09 16:35:54 +00:00
Erik Kundt
763ae30023
Fixes crash on non-unsigned array index.
2018-10-10 19:49:25 +02:00
chriseth
624dbbe142
Fix abi.decode returning single value.
2018-09-04 18:19:00 +02:00
chriseth
9328ea4c3c
Add abi.decode(bytes data, (...))
2018-08-15 10:45:16 +02:00
Christian Parpart
81faafe7f2
Adds support for structs in interfaces.
...
Closes #4733 .
2018-08-14 15:36:03 +02:00
Alex Beregszaszi
13e37df97c
Allow enums in interfaces
2018-08-07 13:28:53 +01:00
Daniel Kirchner
c0a169ca90
Disallow assignments to mappings within tuple assignments.
2018-08-03 15:46:26 +02:00
Cryptomental
140dbfdbd8
Code, Changelog, ReleaseChecklist: Fix typos.
...
Refs: #4442
2018-07-11 00:26:23 +02:00
Daniel Kirchner
b918a105a4
Move constructor argument override check to TypeChecker and reuse annotations in ContractCompiler.
2018-04-09 15:26:08 +02:00
chriseth
a53d6b499d
Use EVM version in type checker.
2018-03-01 17:19:35 +01:00
chriseth
8c1a8ecc2e
Warn about using events without emit.
2018-02-22 15:17:42 +01:00
chriseth
388718b59f
Introduce emit statement.
2018-02-22 15:17:30 +01:00
Kwang Yul Seo
33664c04a8
Update outdated comments
...
_errors -> _errorReporter.
2017-11-16 00:28:41 +09:00
Federico Bond
1e7b6875b7
Extract duplicate function or event finding logic
2017-09-29 19:45:56 -03:00
Federico Bond
6d95447955
Emit error when declaring event with same name and arguments twice
2017-09-29 19:17:31 -03:00
chriseth
342367d5dc
Store super function.
2017-09-06 13:50:49 +02:00
Federico Bond
d4997dd9a3
Use a secondary location for function override errors
2017-08-11 22:45:25 +01:00
Federico Bond
a6949851f3
Refactor function override check to remove duplicate logic
2017-08-11 22:45:25 +01:00
Federico Bond
a5ceaac8df
Improve override changes signature error message
2017-08-11 22:45:25 +01:00
chriseth
d0b6de0b34
Warn about copies in storage that might overwrite unexpectedly.
2017-06-26 16:31:36 +02:00
Rhett Aultman
89b60ffbd4
Refactor error reporting
...
This commit introduces ErrorReporter, a utility class which consolidates
all of the error logging functionality into a common set of functions.
It also replaces all direct interactions with an ErrorList with calls to
an ErrorReporter.
This commit resolves issue #2209
2017-05-30 07:28:31 -07:00
Alex Beregszaszi
2c4bce2d62
Disallow enums in interfaces
2017-03-17 17:06:52 +00:00
chriseth
c87bafd2ed
Refactor type system to allow multiple entry points.
2017-02-14 13:23:44 +01:00
VoR0220
3f9f725737
Fix licensing headers
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-23 12:22:33 +01:00
chriseth
22b4d1b29a
Check that no internals are used in any external function type.
2016-11-16 14:37:18 +01:00
chriseth
cc6314cd01
Warn about unused return values.
2016-06-26 13:53:32 +02:00
chriseth
f049430723
Code generation (missing external access and source locations).
2016-03-30 02:37:00 +02:00
Lu Guanqun
82ee9503e9
[cond-expr] change endVisit() to visit()
2016-01-22 17:14:00 +00:00
Lu Guanqun
047172eb9a
[cond-expr] add type checker
2016-01-22 17:14:00 +00:00
chriseth
d71cd3aa2b
Added the using x for y
directive.
2015-11-26 17:49:39 +01:00
chriseth
86495dfc57
Make members context-sensitive.
2015-11-26 15:37:55 +01:00
chriseth
6a2a946200
Make some functions const.
2015-11-26 13:44:09 +01:00
chriseth
30b325fdc1
Allow "new expressions" also for general type names.
...
Breaking change: If you want to send value with a contract creation, you
have to use parentheses now:
`(new ContractName).value(2 ether)(arg1, arg2)`
2015-11-26 13:10:12 +01:00
LianaHus
ff421a9d65
passed SourceLocations instead of nodes to the error reporting function
2015-11-06 18:45:06 +01:00
chriseth
e3dffb611f
File reorganisation.
2015-10-21 00:46:01 +02:00