Nikola Matic
de1a017ccb
Purge using namespace std from libsolidity/analysis
2023-08-14 11:44:50 +02:00
Kamil Śliwak
dad2bf6472
Relax restrictions on immutable initialization
2023-07-14 15:29:32 +02:00
Nikola Matic
9a87b587d5
Disallow immutable initialization in try catch statements
...
Trigger github
2023-05-09 14:48:14 +02:00
Kamil Śliwak
34da6c8811
Remove the inaccurate Type::categoryName() and change the error message for invalid calls to one independent of the category
2023-04-20 13:50:22 +02:00
Kamil Śliwak
b85a95f52d
Refactor TokenTraits::isUnaryOp() not to treat + as a unary operator
2023-04-18 16:49:31 +02:00
Kamil Śliwak
8a14680851
Disallow unary plus at the parsing stage
2023-04-18 16:47:00 +02:00
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
Rodrigo Q. Saramago
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
Soham Zemse
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. Baumann
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 Kirchner
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