Commit Graph
51 Commits
Author SHA1 Message Date
chriseth 8ab7dc036a Register overload for `revert()` that can receive a reason string. 2018-04-12 13:09:37 +02:00
chriseth f00bb43593 Allow function overloads involving MagicVariableDeclarations. 2018-04-12 13:09:37 +02:00
chriseth 88a5c66f4a Only active variables at the point of their declaration. 2018-02-27 12:17:25 +01:00
chriseth 6b9dda06f3 Enable C99-scoping with the 0.5.0-experimental pragma. 2018-02-27 12:17:25 +01:00
chriseth e6d48bb72a Blocks and for loops can be scopes. 2018-02-27 12:17:25 +01:00
chriseth 5f20129e65 Scopes do not have to be declarations. 2018-02-27 12:17:25 +01:00
chriseth 53289e15a2 Make all lookups recursive by default. 2018-02-27 12:17:25 +01:00
chriseth 4272d16f30 Fix shadowing for imports with aliases. 2018-02-20 13:06:28 +01:00
Balajiganapathi S 8a491c77ba Restructure code for alternative identifier suggestions 2018-02-13 15:00:15 +00:00
Balajiganapathi S b1417b318f Move string distance function to utils and format error message 2018-02-13 14:59:33 +00:00
Balajiganapathi S 2859834e58 Suggest alternatives when identifier not found. 2018-02-13 14:54:36 +00:00
Federico Bond 76d3d24842 Do not consider shadowing in variable names inside event declarations 2017-10-04 13:30:26 -03:00
chriseth 060d229a22 Search for shadowee starting from parent scope. 2017-08-04 19:06:24 +02:00
Alex Beregszaszi 32acadf43d Do not mark overloaded functions as shadowing 2017-08-04 19:06:23 +02:00
Alex Beregszaszi e0dc74b895 Warn about shadowing variables. 2017-07-25 16:32:37 +02:00
Yoichi Hirai 8775e77305 Add a warning about a varialbe of the name of an instruction 2017-06-13 16:57:08 +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
chriseth c3c3cccbec Fix early exist for fatal errors. 2017-02-16 14:57:00 +01:00
chriseth a791ec75e2 Review comments. 2017-02-14 13:32:48 +01:00
chriseth b1bb228ab3 Allow different entry scope for registerDeclarations. 2017-02-14 13:23:44 +01:00
chriseth e67faa9839 Extract scopes into compiler stack. 2017-02-14 13:23:44 +01:00
chriseth c87bafd2ed Refactor type system to allow multiple entry points. 2017-02-14 13:23:44 +01:00
chriseth fc8e50f688 Refactor NameAndTypeResolver and SyntaxChecker to allow other entry points. 2017-02-14 13:23:44 +01:00
Yoichi Hirai 846f7dc3ea analysis: Resolve event overloading 2017-01-23 15:25:13 +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
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
VoR0220 3f9f725737 Fix licensing headers
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-23 12:22:33 +01:00
moneroexample 9d237fbfdc fix: error: call of overloaded ‘list(int, <brace-enclosed initializer list>)’
Issue: https://github.com/ethereum/solidity/issues/574

Compilation of webthree-umbrella on Arch with gcc 6.1 results in the following
error:

/home/mwo/webthree-umbrella/solidity/libsolidity/analysis/NameAndTypeResolver.cpp:299:51: error: call of overloaded ‘list(int, <brace-enclosed initializer list>)’ is ambiguous
  list<list<ContractDefinition const*>> input(1, {});

This can be overcome by explicitly specifying initial value, for example:

  list<list<ContractDefinition const*>> input(1, list<ContractDefinition const*>{})
2016-05-17 13:27:39 +08:00
chriseth f20a604c5a Allow aliases during import. 2016-01-11 13:56:02 +01:00
chriseth 0e2fa39fad Use paths instead of simple identifiers wherever possible. 2015-12-21 18:44:21 +01:00
chriseth 603dc58040 Simple aliasing during import. 2015-12-18 12:46:56 +01:00
chriseth d3c459b5a9 Parse complex import directives. 2015-12-18 12:46:54 +01:00
chriseth 53da78e609 Style. 2015-12-15 09:57:05 +01:00
chriseth f8228e8ab1 Relative paths in import directives. 2015-12-09 19:21:02 +01:00
chriseth 7cb7818cea Source units are independent scopes. 2015-12-09 19:09:24 +01:00
chriseth e510e7e792 Bugfix concerning pointers to moved data. 2015-12-08 12:41:24 +01:00
chriseth b47d593252 Do not store elements of a contract by AST node type. 2015-11-26 15:37:55 +01:00
chriseth 86495dfc57 Make members context-sensitive. 2015-11-26 15:37:55 +01:00
chriseth e06768e8b5 Fix MSVC errors and warnings. 2015-11-26 14:47:28 +01:00
LianaHus da47f9df7b style fixes 2015-11-06 20:56:14 +01:00
LianaHus 63060fc1f0 fixed test framework 2015-11-06 18:45:06 +01:00
LianaHus 7eb162c0df fix 2015-11-06 18:45:06 +01:00
LianaHus 79177de80b fixed return valu for resolver 2015-11-06 18:45:06 +01:00
LianaHus ff421a9d65 passed SourceLocations instead of nodes to the error reporting function 2015-11-06 18:45:06 +01:00
LianaHus 02d060ea5c fixed build 2015-11-06 18:45:06 +01:00
LianaHus 1a27bf8a39 added errors tu ReferencesResolver 2015-11-06 18:45:06 +01:00