Mathias Baumann
dd81d05559
Make annotations `SetOnce
or
optional
` where feasible
2020-09-22 17:38:21 +02:00
a3d4
6b77a20134
Introduce CompositeType
2020-09-21 16:18:04 +02:00
a3d4
d8520b0af0
Move collision warnings to StaticAnalyzer
2020-09-14 02:52:00 +02:00
chriseth
9324fb4f20
Free functions.
2020-08-18 11:46:59 +02:00
Jason Cobb
888d7037cd
Make FunctionCallAnnotation::kind a SetOnce
2020-08-12 11:57:01 -04:00
Sachin Grover
b7adb2aa42
Add SPDX license identifier if not present already in source file
...
Fixes : #9220
2020-07-17 20:24:12 +05:30
a3d4
efc5ee207d
Fix internal compiler error caused by oversized objects
2020-07-10 11:39:07 +02:00
a3d4
5e4aeaa460
Add variable name to the "Variable covers a large part of storage ...." message
2020-07-06 13:49:09 +02:00
a3d4
1c7a0dcbea
Add warnings for oversized subtypes
2020-07-03 15:18:02 +02:00
a3d4
c2e1273ff4
Fixed recursive check in structureSizeEstimate
2020-07-02 04:14:58 +02:00
a3d4
8f68c04358
Add unique IDs to error reporting calls
2020-05-06 13:53:46 +02:00
Christian Parpart
6b23412fae
C++ namespace cleanup (except tests).
2020-01-07 15:51:50 +01:00
Daniel Kirchner
8148619d5b
Merge branch 'develop' into develop_060
2019-11-12 10:32:41 +01:00
Mathias Baumann
e643c4ca28
Add `while (..)
to style checker
2019-11-11 17:28:41 +01:00
chriseth
8e736a9f49
Type Checker for try/catch.
2019-09-23 17:22:56 +02:00
Erik Kundt
07744dbd12
Throws error on library calling itself externally.
2019-05-02 12:41:07 +02:00
Christian Parpart
bf43eebea9
libsolidity: Introducing TypeProvider API, for clear type system ownership.
2019-04-16 18:26:45 +02:00
chriseth
4669b06ab4
Warn if type(..).runtimeCode is used with assembly in the constructor.
2019-01-17 20:36:48 +01:00
Leonardo Alt
36d8a98664
Sort includes in libsolidity/analysis
2018-12-17 12:35:16 +01:00
Leonardo Alt
53537864a2
Disable unused var warning for functions with empty body
2018-12-12 14:43:44 +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
Erik Kundt
75a92b0ffd
Warns if modifier uses msg.value in non-payable function.
2018-09-03 18:35:57 +02:00
Erik Kundt
b5ecfbe5bc
Enforces visibility specifier and updates docs.
2018-07-17 17:44:51 +02:00
Leonardo Alt
8202d512e0
Enforcing error on msg.gas and block.blockhash()
2018-07-04 11:42:05 +02:00
Daniel Kirchner
9aefe2f118
Remove trailing whitespace in missing visibility warning.
2018-07-02 13:14:58 +02:00
Alex Beregszaszi
a17059573f
Disallow raw callcode (was deprecated in 0.4.12)
2018-06-19 19:31:07 +02:00
Daniel Kirchner
be37e3a912
Stricter check for member access to "this" in constructor.
2018-04-13 15:57:13 +02:00
Daniel Kirchner
daa69df447
Error on invalid arithmetic with constant expressions.
2018-04-11 21:17:10 +02:00
Daniel Kirchner
b2753aa053
Static Analyzer: Fix non-deterministic order of unused variable warnings.
2018-04-06 18:10:26 +02:00
Erik Kundt
f9efa41749
Makes visibility warning more concise.
2018-04-03 11:16:50 +02:00
bitshift
8fe1cfb12e
Defaults to external visibility for interfaces.
2018-04-03 11:16:44 +02:00
bitshift
2c56e53046
Changes deprecation and adjusts tests.
2018-03-27 03:30:03 +01:00
Daniel Kirchner
91b13b734d
Use StaticAnalyzer to deprecate msg.gas instead of conditionally removing it in MagicType.
2018-03-05 23:16:26 +01:00
Alex Beregszaszi
10677125ae
Turn usage of callcode into an error as experimental 0.5.0 feature
2017-10-19 02:20:30 +01:00
chriseth
3f3bcc4f8a
Merge pull request #2848 from ethereum/checkViewPure
...
Enforce view and pure.
2017-09-13 18:29:13 +02:00
Suman
10d290cb9b
Display helpful warning for unused function arguments/return parameters
2017-09-12 15:35:03 +01:00
chriseth
eacee5b25c
Remove previous warning about pureness not being enforced.
2017-09-06 13:50:49 +02:00
Alex Beregszaszi
5668377c72
Introduce pure specifier on functions
2017-08-24 13:46:18 +01:00
chriseth
da3ac86403
Warn about large storage structures.
2017-08-11 20:57:57 +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
chriseth
044058276e
Warn about callcode.
2017-06-30 16:37:32 +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
Rhett Aultman
f735207732
Drop the inline asm includes from StaticAnalyzer
2017-05-23 06:38:17 -07: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
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