Commit Graph
1340 Commits
Author SHA1 Message Date
Kamil Śliwak a019f400d0 Better error message when trying to call things that are not functions 2023-04-04 17:30:37 +02:00
Kamil Śliwak c95108169d Fix member call on null pointer when type-checking built-in unary operators 2023-03-06 19:20:18 +01:00
wechman 5b03c13f90 User-defined operators: Analysis 2023-02-22 00:39:25 +01:00
Kamil Śliwak 1a981af548 Only suggest removing parentheses from a construction call if they're empty 2023-02-15 14:27:03 +01:00
Kamil Śliwak 73183d3df9 Fix missing base constructor arguments being treated as an unimplemented function 2023-02-15 14:27:03 +01:00
Matheus Aguiar 2b70b08d5f Allow library external functions to be bound with using for 2023-02-02 13:39:19 -03:00
Nikola Matic e7543d487d Issue warning when using deprecated SELFDESTRUCT 2023-01-25 16:55:11 +01:00
ef6ff2f055 Adds support for the EVM version "Paris".
Deprecates `block.difficulty` and disallow `difficulty()` in inline assembly for EVM versions >= paris.
The change is due to the renaming introduced by EIP-4399 (see: https://eips.ethereum.org/EIPS/eip-4399).
Introduces `block.prevrandao` in Solidity and `prevrandao()` in inline assembly for EVM versions >= paris.

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Daniel <daniel@ekpyron.org>
Co-authored-by: matheusaaguiar <95899911+matheusaaguiar@users.noreply.github.com>
Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>
2023-01-23 18:50:36 +00:00
Matheus Aguiar 7779b6f352 Forbid private library functions to be attached outside their declaration scope 2023-01-17 16:27:35 -03:00
Daniel f441e1323a Merge pull request #13384 from zemse/develop
Allow named parameters in mapping types
2023-01-09 17:59:29 +01:00
fa78e0f3d4 feat: allow named parameters in mapping types
Co-authored-by: Hari <webmail.hari@gmail.com>

test: add parser and abi test cases

docs: add example on using named parameters for mappings

- Add changelog

feat: update antlr grammar to allow named parameters in mappings

fix: prevent conflicting mapping parameter names

ref: change order of mapping initializers

test: update expectations and fix build

test: add more tests

fix: use common error & code for conflicting params

fix: issue with accessing nested mapping

test: add conflicting params tests for more nested levels

Update libsolidity/analysis/DeclarationTypeChecker.cpp

Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>

fix: error reported with the same code twice

test: add more tests for 3 level nested mapping

Address review comments
2022-12-08 11:56:58 +01:00
wechman 64a4f32bc2 Consistent terminology for attached/bound functions 2022-12-07 19:31:41 +01:00
Vinay 9e7b85ac4b Improve Error Reporting of SemVer Parser 2022-11-25 13:09:09 -03:00
wechman edb4bfa398 ViewPureChecker: Extract reportFunctionCallMutability() helper from endVisit(FunctionCall) 2022-11-23 13:27:26 +01:00
wechman 27df07c4ce TypeChecker: Minor simplifications for operators and using for 2022-11-23 13:27:26 +01:00
wechman fbe1181517 CFGNode: For function calls store a pointer to a resolved function definition rather than the FunctionCall AST node 2022-11-09 17:51:32 +01:00
Kamil Śliwak a866aaebf3 Refactor several error messages in TypeChecker to use fmtlib 2022-11-07 17:13:41 +01:00
wechman 6da09e8d9a Error message tweak: built-in unary/binary operator 2022-11-07 17:13:41 +01:00
wechman 4c9a58eb0f Don't include location in a message about binding function to a type 2022-11-07 17:13:09 +01:00
wechman d5428af5bb Make the message about name not referring to a user-defined type more generic 2022-11-04 08:46:53 +01:00
Alex Beregszaszi 725253551e Improve FunctionSelector helpers 2022-09-27 17:58:32 +02:00
Marenz f7cc29bec1 Add std:: qualifier to move() calls 2022-08-30 11:12:15 +02:00
Daniel Kirchner 9a429e2300 Fix ICE on invalid tuple assignments. 2022-08-09 12:41:47 +02:00
Nikola Matic 40de2b0442 Add full stops to error messages 2022-08-05 09:52:48 +02:00
Duc Thanh Nguyen a9e03f5e4a Fix out-of-range compiler crash for nested tuple assignment involving
outer unary tuple
2022-08-04 12:45:46 -04:00
Matheus Aguiar 9acf693aa2 Fixed bad cast when abiEncodeCall receives a tuple from a function. 2022-08-03 18:48:38 -03:00
Duc Thanh Nguyen 5072472917 Fix abi.encodeCall checks 2022-07-25 12:40:54 -04:00
chriseth e2675002ca Settings struct for name resolution. 2022-07-14 17:22:17 +02:00
Duc Thanh Nguyen 0a14368315 Display human readable type name in conversion error message 2022-07-06 10:49:51 -04:00
Mathias L. BaumannandDamian Wechman 03409beb1d Update libsolidity/analysis/NameAndTypeResolver.h
Co-authored-by: Damian Wechman <damian.wechman.it@gmail.com>
2022-06-22 13:25:24 +02:00
Marenz 18784cff81 Add all path declarations in IdentifierPath annotation 2022-06-20 18:08:57 +02:00
Ryan 3b2c6de61c Propagate purity information for member access to foreign pure variables 2022-06-16 17:11:55 +05:30
Daniel KirchnerandKamil Śliwak 16245f7b9b Warn about multiple assignments to storage byte pushes and fix warnings about multiple storage to storage copies.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-06-15 13:53:05 +02:00
Daniel Kirchner d30b04674e Add resolveUnaryTuples helper. 2022-06-15 13:15:26 +02:00
Daniel Kirchner 53c4facf4e Fix compilation error. 2022-06-15 11:14:50 +02:00
Ryan 4b7ed2d47a Display human readable type name in conversion error message 2022-06-08 18:23:51 +05:30
chriseth dfa0bcf760 More strict override check for data locations. 2022-05-17 13:02:12 +02:00
chriseth 505fa7763f Fix checks for "using for ... global" for libraries. 2022-05-02 12:40:56 +02:00
Ryan 3a17274691 Improve error message for static array with size too large 2022-04-05 17:36:37 +02:00
chriseth 755e043a6d Use error message for unary operators. 2022-04-04 16:53:36 +05:30
nishant-sachdeva 4c6066bfad typeCheckAbiEncodeCallFunction should type check the arguments on functionPointerType->asExternallyCallableFunction instead of teh plain function type 2022-03-24 18:53:46 +05:30
chriseth 28593839d9 Add helper to see if a switch has a default case. 2022-03-15 14:29:54 +01:00
chriseth 9188519f11 Using for with global binding. 2022-03-14 17:39:14 +01:00
Daniel Kirchner 0f1a63c3fa Fix import directive visits in type checker and view pure checker. 2022-03-14 14:53:06 +01:00
hrkrshnn 672951ccc7 Extend using-for. 2022-03-14 12:33:44 +01:00
Daniel Kirchner 09f667948b Merge pull request #12746 from tfire/fix/remove-namespace-ast-annotations
Remove use of `using namespace` in header file
2022-03-11 12:49:13 +01:00
nishant-sachdeva 624d2d3968 Error messages from abi encodecall are giving more details about the types of the involved variables 2022-03-11 16:14:55 +05:30
Tyler 047034544e Merge branch 'develop' of github.com:tfire/solidity into fix/remove-namespace-ast-annotations 2022-03-09 18:55:22 -05:00
Tyler 519e1c9402 Specify namespaces
Fix references into solidity::util
2022-03-08 00:09:17 -05:00
Daniel Kirchner 290b1c3a90 Allow memory-safe inline assembly dialect flag. 2022-03-02 17:07:11 +01:00