Commit Graph
77 Commits
Author SHA1 Message Date
Mathias Baumann b7d5de59c5 Implement overridding of functions by public variables 2019-12-05 12:48:52 +00:00
Christian Parpart 7bbdfe070f Make shadowing of inherited state variables an error. 2019-12-03 21:20:03 +01:00
chriseth 1ebcc757e1 Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-27 19:14:08 +01:00
chriseth 0bb88dabb7 Restrict usage of plain "new". 2019-11-27 17:55:11 +01:00
chriseth 216e1749f4 Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-14 13:42:46 +01:00
chriseth b099374d8c Fix assembly parsing by passing evm version. 2019-11-14 13:06:36 +01:00
Mathias Baumann 5ff02c12e2 Add reference to contract in FunctionDefinition annotation 2019-10-30 17:31:33 +01:00
chriseth f884373142 Merge branch 'origin/develop' into develop_060 2019-10-02 16:29:36 +02:00
Christian Parpart 00d7dac15f Fixes source location in warning for shadowing import delcarations. 2019-09-30 11:45:46 +02:00
chriseth 8e736a9f49 Type Checker for try/catch. 2019-09-23 17:22:56 +02:00
Mathias Baumann cf35e5ba02 Issue warning for variables called super or this 2019-05-02 11:30:24 +02:00
Christian Parpart bf43eebea9 libsolidity: Introducing TypeProvider API, for clear type system ownership. 2019-04-16 18:26:45 +02:00
chriseth 2308904f68 Remove "using namespace" from header and move Instruction to dev::eth. 2019-03-28 13:48:11 +01:00
chriseth 1a823f0bf8 Fix tabs/spaces. 2019-02-13 17:05:48 +01:00
Leonardo Alt 36d8a98664 Sort includes in libsolidity/analysis 2018-12-17 12:35:16 +01:00
Christian Parpart c48a5264be liblangutil: SourceLocation: adds (shared) pointer to underlying CharStream source, eliminating sourceName
Also, adapted affecting code to those changes.
2018-11-30 17:07:12 +01:00
Christian Parpart d67322a186 Introduce namespace langutil in liblangutil directory.
Also:
- Use {}-style list initialisation for SourceLocation construction
- Introduce new system includes
- Changes the API of the Scanner to take source as value (with move) as opposed to as a reference
2018-11-21 19:13:44 +00:00
Christian Parpart 87821c53c3 Isolating files shared between Yul- and Solidity language frontend. 2018-11-21 18:58:12 +00:00
Chase McDermott 683bce1869 Refactor data location check. 2018-08-14 18:07:15 +02:00
chriseth 43d6a9d763 Do not stop after the first error in reference resolution. 2018-08-07 22:04:59 +02:00
Jesse Busman 3fcd62921e Renamed FunctionType::hasEqualArgumentTypes to FunctionType::hasEqualParameterTypes 2018-08-06 13:05:06 +02:00
Erik Kundt b0b35e1e6b Adds warning if function is shadowing a contract. 2018-07-18 14:29:01 +02:00
Erik Kundt 182a0a9551 Disallows old constructor syntax. 2018-07-18 14:29:01 +02:00
Leonardo Alt cee4775a58 Add comment explaining new code 2018-07-10 18:54:46 +02:00
Leonardo Alt c286cdaa62 Fix crash for double variable declaration in the same scope. 2018-07-10 18:54:46 +02:00
Leonardo Alt 8862b3092b C99 scoping rules by default 2018-06-20 12:53:38 +02:00
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