chriseth
7c7c2baa82
Re-allow multiple modifiers per function.
2017-07-27 13:45:39 +02:00
Alex Beregszaszi
e0dc74b895
Warn about shadowing variables.
2017-07-25 16:32:37 +02:00
Rhett Aultman
a2a759f792
Migrate over to ErrorReporter
2017-07-19 07:19:21 -07:00
Alex Beregszaszi
b3db1c361c
Warn if this is used in constructor
2017-07-19 06:47:36 -07:00
Alex Beregszaszi
033fc0cb1a
Include types in explicit conversion error message
2017-07-13 23:09:01 +02:00
Alex Beregszaszi
4229caaadc
Disable large arrays for memory location too
2017-07-13 22:47:35 +02:00
Alex Beregszaszi
cb4875a28b
Issue error properly for oversized arrays for calldata
2017-07-13 22:33:46 +02:00
Federico Bond
f20b150f38
Add type error when attempting value transfer to a non-payable contract
2017-07-12 23:57:53 -03:00
Alex Beregszaszi
db7ad508f8
Issue proper warning trying to access calldata variables in inline assembly
2017-07-12 10:48:44 +02:00
chriseth
883666d2c0
Fix invalid "explicit storage keyword" warning for reference members of structs.
2017-07-10 18:30:41 +02:00
chriseth
0400e61e28
Deprecate throw.
2017-07-05 21:15:00 +02:00
chriseth
dd34277ca6
Warn if local storage reference variable does not use "storage" explicitly.
2017-07-05 19:38:00 +02:00
Alex Beregszaszi
a46b3479bb
Remove parsing of why3 doc strings
2017-06-30 22:34:03 +01:00
chriseth
044058276e
Warn about callcode.
2017-06-30 16:37:32 +02:00
Alex Beregszaszi
06fe61f89b
Rename to isHexNumber()
2017-06-28 17:01:55 +01:00
Alex Beregszaszi
8b0c866f02
Add hasHexPrefix() to AST::Literal
2017-06-28 16:57:32 +01:00
chriseth
c3e5d6b7ef
Give min and max values in warning message.
2017-06-28 15:02:25 +02:00
chriseth
9f19bc8cbc
Warn if using var x = 0
2017-06-28 11:41:03 +02:00
chriseth
708d17d13f
Merge pull request #2464 from federicobond/deprecate-function-type-names
...
Warn deprecated usage of parameter names in function types
2017-06-27 16:32:48 +02:00
Federico Bond
70fd5c1770
Warn deprecated usage of parameter names in function types
2017-06-26 15:39:01 -03:00
chriseth
d0b6de0b34
Warn about copies in storage that might overwrite unexpectedly.
2017-06-26 16:31:36 +02:00
Alex Beregszaszi
a0b0df2d98
Merge pull request #2460 from ethereum/disallowMultiModifier
...
Disallow invoking the same modifier multiple times.
2017-06-26 11:51:12 +01:00
chriseth
f879489291
Merge pull request #2449 from federicobond/warn-bytesxx-decimal
...
Warn if decimal literals are used in a bytesXX context
2017-06-26 09:13:41 +02:00
Federico Bond
7a3ea61ffd
Warn if decimal literals are used in a bytesXX context
...
Fixes #2349
2017-06-23 23:21:19 -03:00
chriseth
5a75581f66
Disallow invoking the same modifier multiple times.
2017-06-23 20:12:22 +02:00
Federico Bond
0fb1621a98
Fix address literals not being treated as compile-time constants
...
The early return implemented for address literals in TypeChecker was
preventing the isPure annotation from getting applied. Closes #2441
2017-06-23 11:19:57 +02:00
Federico Bond
0f8ad1d68f
Fix segmentation fault with constant function parameters
2017-06-21 22:46:27 -03:00
chriseth
29e7ad3d7b
Silence compiler warning.
2017-06-14 17:39:36 +02:00
chriseth
07cc84fade
Fix a crash about a non-callable expression.
2017-06-14 14:26:20 +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
chriseth
ba5ee71b7f
Generate only single error in inline assembly.
2017-06-08 15:52:45 +02:00
chriseth
97cc968a13
Initial EVM1.5 assembly implementation.
2017-06-08 15:52:44 +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
8fe79fe706
Introduce Julia mode in AsmAnalyzer
2017-05-26 20:39:30 +01:00
chriseth
261731f7ee
Adapt EVM codegen to new namespace.
2017-05-26 15:08:27 +02:00
Alex Beregszaszi
e9b106cd0e
Merge pull request #2292 from roadriverrail/inline_asm_unused_warning
...
Drop the inline asm includes from StaticAnalyzer
2017-05-23 23:11:03 +01:00
Rhett Aultman
f735207732
Drop the inline asm includes from StaticAnalyzer
2017-05-23 06:38:17 -07:00
chriseth
74d2e7311a
Merge pull request #2265 from roadriverrail/inline_asm_unused_warning
...
Analyze InlineAssembly for variable use
2017-05-22 16:34:29 +02:00
djudjuu
e82df073d1
minor fixes and changelog update
2017-05-22 12:25:50 +02:00
Rhett Aultman
621c3fa22f
Analyze InlineAssembly for variable use
...
The unused variable checker in StaticAnalyzer did not conssider
InlineAssembly objects. This commit introduces that missing feature.
2017-05-21 15:23:05 -07:00
djudjuu
1d22233a43
refactoring functionCallAnnotation
2017-05-19 15:48:07 +02:00
Erik Quenon Steggall
0489c99870
Added change to make compile happy on MacOS 10.9.5
2017-05-05 16:49:09 -07:00
chriseth
230f51efb7
Cleanup, style and additional test.
2017-05-03 11:26:21 +02:00
chriseth
e0266b79f3
Refactor: Combine bool and function pointer.
2017-05-03 11:26:21 +02:00
Rhett Aultman
a6faa5acf3
Treat returns with expressions as return param use
...
There are many cases of code where the return parameters exist mostly
as a form of documentation. This change ensures that they do not have
to be used in the function body so long as there is a return supplying
values
2017-05-03 11:26:21 +02:00
Rhett Aultman
a40c8cfb68
Warn on unused local variables
...
Analyze functions for all local variables, parameters, and named
return variables which are never used in the function, and issue
a warning.
2017-05-03 11:26:21 +02:00
chriseth
acab525fef
Merge pull request #2199 from roadriverrail/no_unary_plus
...
Deprecate use of unary '+'
2017-05-02 16:43:47 +02:00
chriseth
96870686a9
Style and stricter tests.
2017-05-02 15:48:58 +02:00
chriseth
2891b98882
Merge pull request #2110 from federicobond/fix-posttypechecker
...
Fix PostTypeChecker retaining state across contracts
2017-05-02 12:12:46 +02:00
Rhett Aultman
e544698ad3
Deprecate use of unary '+'
...
The unary '+' serves no meaningful purpose in Solidity and it makes it
possible to produce typos with dagerous implications (e.g. 'a =+5 '),
so we are deprecating it. The SyntaxChecker currently issues warnings
on the unary '+' but will still compile it for now.
2017-04-28 17:43:19 -07:00