Commit Graph

1660 Commits

Author SHA1 Message Date
chriseth
908b46e9a7
Merge pull request #3476 from ethereum/scoping
C99/C++ scoping rules
2018-02-27 17:06:10 +01:00
Alex Beregszaszi
afa4a48e37 Remove ROL/ROR as they are not part of EIP145 anymore 2018-02-27 13:42:41 +01:00
Alex Beregszaszi
468d0f6199 Warn on using shift instructions 2018-02-27 13:42:31 +01: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
Alex Beregszaszi
5c0d82059f Turn throw into a syntax error for 0.5.0 2018-02-27 02:10:24 +01:00
Alex Beregszaszi
b62d43912b
Merge pull request #3589 from ethereum/identifiers
Clean up type identifiers
2018-02-26 20:27:26 +01:00
Alex Beregszaszi
b471983e3c Use new escaping helpers for type identifiers 2018-02-26 19:09:43 +01:00
Alex Beregszaszi
2e7067fbe4 Rename Types::identifier to Types::richIdentifier 2018-02-26 19:09:43 +01:00
Alex Beregszaszi
751705978e Add helpers escapeIdentifier to Types 2018-02-26 19:09:39 +01:00
chriseth
4da20bdf01 Fix: Function types for getters should not have storage pointers. 2018-02-26 11:17:40 +01:00
chriseth
917dd28eef Simplify FunctionType constructors. 2018-02-26 10:45:41 +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
chriseth
c182284d28 Do not warn about analysis-only experimental features. 2018-02-22 14:50:20 +01:00
Alex Beregszaszi
42856e0f53 Add assertion for boolean literals in Julia-mode 2018-02-22 01:02:23 +01:00
Alex Beregszaszi
ae02bb5aad Raise error on oversized number literals in assembly 2018-02-22 01:02:19 +01:00
chriseth
3076a434ba
Merge pull request #3554 from ethereum/reuseScannerOrNot
Expect end of string at end of top-level block for assembly parser.
2018-02-21 00:41:57 +01:00
chriseth
e2bf5de8a2 Expect end of string at end of top-level block for assembly parser. 2018-02-21 00:41:39 +01:00
Alexander Arlt
0f29ac4e56 Add new JSON API for better abstraction and for supporting strict JSON parsing 2018-02-20 21:58:26 +01:00
chriseth
4272d16f30 Fix shadowing for imports with aliases. 2018-02-20 13:06:28 +01:00
chriseth
930485cd24 Properly warn about the use of constants in inline assembly in connection with `_offset and _slot`. 2018-02-19 19:22:39 +01:00
chriseth
abc23ac608
Merge pull request #3135 from federicobond/formatter-instance
Convert static SourceReferenceFormatter functions to member ones
2018-02-19 17:34:07 +01:00
Emilio Almansi
ca6957da37 Added property _documentation_ to Function, Event, and Modifier definition classes. 2018-02-19 16:45:38 +01:00
chriseth
305d5f70c2 Fix scannerFromSourceName use-after-free. 2018-02-19 15:13:49 +01:00
Federico Bond
d7532f7b9c Convert static SourceReferenceFormatter functions to member ones 2018-02-19 15:04:22 +01:00
Alexander Arlt
1d4547ab03 Minor improvement: check sources
- returns error, if "sources" is an array, an empty object or not defined
- Added new test-cases in test/libsolidity/StandardCompiler.cpp
2018-02-16 18:44:46 +01:00
chriseth
2b5a5a8669 Make addmod and mulmod revert if the last argument is zero. 2018-02-15 13:52:17 +01:00
chriseth
e08a206070 Disallow uninitialized storage pointers as experimental 0.5.0 feature. 2018-02-15 11:58:50 +01:00
chriseth
23484ba6a4
Merge pull request #3498 from ethereum/allowthisfselector
Allow `this.f.selector` to be pure.
2018-02-13 17:08:35 +01:00
chriseth
1dcd7c5e0b Fix: remove reference. 2018-02-13 15:04:10 +00:00
chriseth
dc0a25f1cd Minor changes. 2018-02-13 15:04:03 +00: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
Alex Beregszaszi
8f8ad3840e
Merge pull request #3349 from federicobond/number-improv
Avoid output messages size blow-up using huge bignums literals
2018-02-13 12:36:05 +00:00
chriseth
560fbd0df1 Always use shortened literal number representation. 2018-02-13 11:43:47 +01:00
chriseth
5916cf1e0a Allow this.f.selector to be pure. 2018-02-13 11:00:59 +01:00
Federico Bond
a320ffeafd Avoid output messages size blow-up using huge bignums literals 2018-02-12 22:53:33 +00:00
Jimmy Vogel
dc5ad899d0 Deprecate the var keyword (and mark it an error as experimental 0.5.0 feature) 2018-02-12 22:37:26 +00:00
Federico Bond
75a3a707a2 Fix segfault with undeclared array types 2018-02-11 21:40:41 -03:00
Alex Beregszaszi
32300ea3ff
Merge pull request #3360 from federicobond/nonfatal-reference-errors
Replace some fatal errors when resolving references with normal ones
2018-02-04 13:07:55 +00:00
Federico Bond
600e66e605 Replace some fatal errors when resolving references with normal ones 2018-02-02 14:09:32 -03:00
Alex Beregszaszi
b545987ec7 Issue warning for using public visibility for interface functions 2018-02-01 10:28:00 +00:00
chriseth
6807010dc7 Prevent libraries from being called. 2018-01-19 16:27:44 +01:00
Alex Beregszaszi
8b20a7cd53 Disallow non-functional instructions in parseExpression early 2018-01-10 14:16:46 +01:00
Alex Beregszaszi
42f8875770 Show restricted instruction warning before argument mismatch issue 2018-01-08 00:39:22 +00:00