Mathias Baumann
|
5b8ff78176
|
Implement virtual keyword
|
2019-11-14 11:49:39 +01:00 |
|
chriseth
|
06588cde76
|
Reconstruct function definition for magic variables in overload error message.
|
2019-11-14 10:13:22 +01:00 |
|
Mathias Baumann
|
15df2b30d7
|
List candidates when overload failed
fixes #7146
|
2019-11-13 15:54:36 +01:00 |
|
Daniel Kirchner
|
8148619d5b
|
Merge branch 'develop' into develop_060
|
2019-11-12 10:32:41 +01:00 |
|
Mathias Baumann
|
e35a23bbcc
|
Add `switch (..) to style checker
|
2019-11-11 17:44:21 +01:00 |
|
Mathias Baumann
|
e643c4ca28
|
Add `while (..) to style checker
|
2019-11-11 17:28:41 +01:00 |
|
Christian Parpart
|
f15d47f165
|
Yul: Remove obsoleted FunctionalInstruction.
|
2019-11-11 16:04:39 +01:00 |
|
Alexander Arlt
|
ce0cef7cbc
|
Output which functions are not implemented
|
2019-11-08 14:06:57 -05:00 |
|
Daniel Kirchner
|
0556f64722
|
Analyze inline assembly variable declarations for invalid or shadowing names.
|
2019-11-07 13:04:37 +01:00 |
|
chriseth
|
5388c919f0
|
Some changes to "abstract".
|
2019-11-05 13:55:31 +01:00 |
|
Daniel Kirchner
|
3321fc56ea
|
Split fallback function and introduce "fallback()" and "receive()" syntax.
|
2019-11-04 17:17:58 +01:00 |
|
chriseth
|
5392532d70
|
Fix override error message.
|
2019-11-04 13:37:23 +01:00 |
|
Alexander Arlt
|
f3f652e290
|
Update TypeChecker.cpp
|
2019-11-01 14:54:47 -05:00 |
|
Alexander Arlt
|
c908c16acd
|
Remove InternalCompilerError on abstract contract instantiation.
|
2019-11-01 14:54:47 -05:00 |
|
Alexander Arlt
|
62950a9234
|
Support for abstract contracts.
|
2019-11-01 14:54:47 -05:00 |
|
Mathias Baumann
|
6c6a9054b2
|
Implement override checking
|
2019-10-30 17:31:33 +01:00 |
|
Mathias Baumann
|
5ff02c12e2
|
Add reference to contract in FunctionDefinition annotation
|
2019-10-30 17:31:33 +01:00 |
|
Mathias Baumann
|
20e227afb5
|
Ensure list of overrides consists of contracts
|
2019-10-30 17:31:33 +01:00 |
|
Mathias Baumann
|
f4c40080c4
|
Move if-condition to function for re-use
|
2019-10-30 17:31:33 +01:00 |
|
chriseth
|
ceb8ee9124
|
[Yul] leave statement.
|
2019-10-29 14:32:16 +01:00 |
|
chriseth
|
edf1e83fda
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-10-28 15:21:49 +01:00 |
|
chriseth
|
607bf24afe
|
Merge pull request #7386 from ethereum/060-strict-inline-assembly
Defaulting to strict inline assembly (instead of loose)
|
2019-10-28 12:48:58 +01:00 |
|
chriseth
|
9719f099aa
|
Merge pull request #7551 from ethereum/060-cxx17-std-optional
Use `std::optional<>` rather than `boost::optional<>`
|
2019-10-28 12:17:31 +01:00 |
|
chriseth
|
07c67b98f6
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2019-10-28 12:12:52 +01:00 |
|
Christian Parpart
|
df729b3084
|
Make use of C++17 std::optional<> instead of boost::optional<>.
|
2019-10-28 11:39:30 +01:00 |
|
Henry Lee
|
24cbb4dd17
|
Treat magic variables as unknown identifiers in inline assembly
This fixes #4575. For keywords such as 'super' and 'this', will be
treated as unknown identifiers.
|
2019-10-28 14:59:50 +11:00 |
|
Christian Parpart
|
3c1d12b16c
|
Assembly: Remove errorTypeForLoose property from AsmAnalyzer.
|
2019-10-25 15:01:26 +02:00 |
|
Christian Parpart
|
dc2adb3d9d
|
Assembly: Removing EVMDialect::looseAssemblyForEVM().
|
2019-10-25 15:01:26 +02:00 |
|
Christian Parpart
|
e23998fc6e
|
Assembly: Remove Label instruction.
|
2019-10-25 15:01:25 +02:00 |
|
Christian Parpart
|
5e8d348f66
|
Assembly: Remove StackAssignment instruction.
|
2019-10-25 15:01:25 +02:00 |
|
Mathias Baumann
|
8c5d1da5a5
|
Check for use of modifiers in invalid contexts
|
2019-10-23 12:36:20 +02:00 |
|
Mathias Baumann
|
ad7cf42aad
|
Add missing dots in deprecation warning
|
2019-10-23 12:23:21 +02:00 |
|
Mathias Baumann
|
6ac12afd06
|
Disallow call of same-class-ctor as modifier
|
2019-10-23 10:29:41 +02:00 |
|
chriseth
|
f884373142
|
Merge branch 'origin/develop' into develop_060
|
2019-10-02 16:29:36 +02:00 |
|
Christian Parpart
|
00d7dac15f
|
Fixes source location in warning for shadowing import delcarations.
|
2019-09-30 11:45:46 +02:00 |
|
Leonardo
|
ca714a2d3d
|
Merge pull request #7485 from ethereum/develop
Merge develop into develop_060
|
2019-09-26 15:43:12 +02:00 |
|
chriseth
|
ca21659749
|
Fix error message about accessing storage pointers.
|
2019-09-24 10:52:02 +02:00 |
|
chriseth
|
8e736a9f49
|
Type Checker for try/catch.
|
2019-09-23 17:22:56 +02:00 |
|
chriseth
|
b5bc52f2a7
|
Control flow for try statements.
|
2019-09-23 17:22:56 +02:00 |
|
Leonardo Alt
|
43d6e00b14
|
Add push() for dynamic storage arrays
|
2019-09-17 13:47:33 +02:00 |
|
Daniel Kirchner
|
4782c800ec
|
Initial introduction of array slices with partial implementation for dynamic calldata arrays.
|
2019-09-13 10:57:53 +02:00 |
|
Leonardo Alt
|
5cfe0b7670
|
Allow explicit conversion from address to address payable
|
2019-09-09 23:46:00 +02:00 |
|
krk
|
33f7f960cf
|
Allow exponentials with signed base and unsigned power.
|
2019-09-04 17:32:47 +02:00 |
|
Daniel Kirchner
|
4354ef2ef4
|
Add update suggestion.
|
2019-08-19 14:58:05 +02:00 |
|
chriseth
|
c047803b80
|
Change BreadthFirstSearch to use value types instead of pointers.
|
2019-08-15 16:10:10 +02:00 |
|
Daniel Kirchner
|
e545103ec8
|
Extract reasonOfFailure to lambda function.
|
2019-08-14 17:59:48 +02:00 |
|
Daniel Kirchner
|
b0a5666b43
|
Better error messages when writing to expressions that cannot be written to.
|
2019-08-14 17:59:48 +02:00 |
|
chriseth
|
57125de9ef
|
Remove ContainsMSize from side-effect-collector.
|
2019-08-13 13:34:33 +02:00 |
|
chriseth
|
9cb9021c36
|
Cope with constants without value in inline assembly.
|
2019-07-09 11:12:13 +02:00 |
|
chriseth
|
18072586c9
|
Remove trailing whitespace in error message.
|
2019-07-08 14:28:38 +02:00 |
|
chriseth
|
2b91022b25
|
Fix view/pure checker for access to base.
|
2019-07-03 11:19:57 +02:00 |
|
chriseth
|
cdd137e3d1
|
Support constant numbers in inline assembly.
|
2019-07-02 14:01:05 +02:00 |
|
Leonardo Alt
|
b7634faa3d
|
Improve error message for delegatecall.value
|
2019-06-06 12:55:12 +02:00 |
|
chriseth
|
df96648b1c
|
Do not allow msize in inline assembly if the Yul optimizer is active.
|
2019-05-28 12:54:33 +02:00 |
|
chriseth
|
0291abf10f
|
Merge pull request #6818 from ethereum/alwaysUseBuiltins
Provide builtin functions even in loose assembly mode.
|
2019-05-23 12:29:12 +02:00 |
|
chriseth
|
9a00729ce7
|
Provide dialect to Parser and InlineAssembly AST nodes.
|
2019-05-23 00:24:58 +02:00 |
|
chriseth
|
7506b5752a
|
Do not require payable for callvalue instruction.
|
2019-05-22 11:30:29 +02:00 |
|
Erik Kundt
|
07744dbd12
|
Throws error on library calling itself externally.
|
2019-05-02 12:41:07 +02:00 |
|
Mathias Baumann
|
cf35e5ba02
|
Issue warning for variables called super or this
|
2019-05-02 11:30:24 +02:00 |
|
chriseth
|
0bfd587363
|
Merge pull request #6527 from rocky/move-SemVerHandler
Move SemVerHandler to analysis to parsing to increase modularity...
|
2019-04-18 13:00:45 +02:00 |
|
rocky
|
b424446c5f
|
Move SemVerHandler to analysis to parsing to increase modularity...
If ever you want to separate building analysis from scanning/parsing/ast, this will help.
|
2019-04-17 10:13:42 -04:00 |
|
Christian Parpart
|
721bf367a3
|
[libsolidity] TypeProvider: eliminate redundant "Type" suffix in provider function signatures.
|
2019-04-17 14:42:07 +02:00 |
|
Christian Parpart
|
862b65d6e3
|
[libsolidity] remove ReferenceType::copyForLocationIfReference (use TypeProvider instead)
|
2019-04-17 13:25:03 +02:00 |
|
Christian Parpart
|
b83097bdc6
|
[libsolidity] Types: eliminate redundant MagicType::metaType() (use TypeProvider instead)
|
2019-04-17 12:59:48 +02:00 |
|
Christian Parpart
|
58a45f2cb6
|
[libsolidity] TypeProvider: adds explicit uint256() accessor and removes default params in integerType(...).
|
2019-04-16 18:28:40 +02:00 |
|
Christian Parpart
|
a2a3b007f3
|
TypeProvider: storageType() to make all parameters explicit
|
2019-04-16 18:26:46 +02:00 |
|
Christian Parpart
|
bf43eebea9
|
libsolidity: Introducing TypeProvider API, for clear type system ownership.
|
2019-04-16 18:26:45 +02:00 |
|
chriseth
|
2308904f68
|
Remove "using namespace" from header and move Instruction to dev::eth.
|
2019-03-28 13:48:11 +01:00 |
|
Mathias Baumann
|
8e899a0d32
|
Disallow internal function types as parameters for public/external library function
|
2019-03-21 07:25:57 +01:00 |
|
Mathias Baumann
|
0fbea8a1a0
|
Change return type for interfaceType() to ResultType
|
2019-03-21 07:25:28 +01:00 |
|
Mathias Baumann
|
84b68006ba
|
Fix function calls with named arguments for overloaded functions
|
2019-03-20 14:54:41 +01:00 |
|
Leonardo Alt
|
9acec99c31
|
Issue error for callvalue in nonpayable function
|
2019-03-19 20:45:27 +01:00 |
|
Mathias Baumann
|
4d060ef991
|
Merge interfaceType() canBeUsedExternally()
And cache the result for expensive calls.
|
2019-03-14 17:19:59 +01:00 |
|
Christian Parpart
|
cfefa2c1d1
|
Merge pull request #6136 from ethereum/yul-break-continue
[Yul] introduce break/continue keywords.
|
2019-03-11 20:38:57 +01:00 |
|
Daniel Kirchner
|
66fc7ffab2
|
Allow dynamically encoded calldata structs with ABIEncoderV2.
|
2019-03-11 16:40:13 +01:00 |
|
Christian Parpart
|
05e2d362c8
|
[Yul] Adds break/continue statements and some general tests for for-loop syntax.
|
2019-03-11 15:05:05 +01:00 |
|
Daniel Kirchner
|
f7c6eda2c3
|
Allow calldata arrays with dynamically encoded base type.
|
2019-03-06 18:04:12 +01:00 |
|
Mathias Baumann
|
9919670ddd
|
Check base contracts for abi encoder compatibility
|
2019-03-06 11:16:54 +01:00 |
|
Mathias Baumann
|
de98e38b78
|
Prepare code to output errors returned by isImplicitlyConvertibleTo()
|
2019-03-05 10:44:36 +01:00 |
|
chriseth
|
9a949c1bda
|
Set default EVM version to Petersburg.
|
2019-03-04 14:53:00 +01:00 |
|
Alex Beregszaszi
|
ecd246aeb6
|
Support petersburg in evmVersion
|
2019-03-04 14:10:41 +01:00 |
|
chriseth
|
ab33ff1408
|
Merge pull request #6132 from ethereum/ossfuzz-nullref-typechecker
TypeChecker: Check if type exists before dereferencing it
|
2019-02-28 16:38:54 +01:00 |
|
Mathias Baumann
|
50b4193705
|
TypeChecker: Check if type exists before dereferencing it
|
2019-02-28 15:49:15 +01:00 |
|
Mathias Baumann
|
f782125463
|
Fix SMT Checker crash due to missing type information
|
2019-02-28 11:55:45 +01:00 |
|
Mathias Baumann
|
e4a52aa2f6
|
Allow dynamic types in public mappings
|
2019-02-26 15:48:54 +01:00 |
|
Alex Beregszaszi
|
d2f493268b
|
Provide access to the name of contracts.
|
2019-02-26 14:07:03 +00:00 |
|
Erik Kundt
|
2d0daae796
|
Disallows index access on contracts and libraries.
|
2019-02-25 23:05:33 +00:00 |
|
Leonardo Alt
|
2405b2151a
|
EVMVersion in langutil namespace instead of solidity
|
2019-02-25 15:29:57 +01:00 |
|
chriseth
|
7f5b335b47
|
Make EVM version part of EVM dialect.
|
2019-02-21 21:59:46 +01:00 |
|
Alex Beregszaszi
|
52496ea719
|
Proper error message for missing variables in inline assembly
|
2019-02-20 10:36:55 +00:00 |
|
Mathias Baumann
|
a63f7ca9df
|
Fix crash due to missing type info
|
2019-02-19 17:28:44 +01:00 |
|
Alex Beregszaszi
|
2949bd14dd
|
Merge pull request #6028 from ethereum/warn-about-unused-struct-array-expr
Detect custom type expressions that have no effect
|
2019-02-18 21:12:04 +00:00 |
|
Mathias Baumann
|
e3d4155fa8
|
Detect custom type expressions that have no effect
|
2019-02-18 18:59:31 +01:00 |
|
Mathias Baumann
|
093b9ced97
|
Make sure "value" error hint is only displayed in the right context
Before, the hint would be shown for any "value" member, even a user-specified one.
|
2019-02-18 16:29:57 +01:00 |
|
chriseth
|
db7b38e3c4
|
Merge pull request #5978 from ethereum/fix-broken-hint
Fix error msg hint for non-payable contracts
|
2019-02-18 11:49:07 +01:00 |
|
Daniel Kirchner
|
809b9a95f9
|
Even more style checks.
|
2019-02-14 11:53:00 +01:00 |
|
Mathias Baumann
|
223dac3eca
|
TypeChecker: Use cast instead of category() check
|
2019-02-14 11:39:51 +01:00 |
|
Mathias Baumann
|
10a9960eb3
|
Fix error msg hint for non-payable contracts
|
2019-02-14 11:39:19 +01:00 |
|
chriseth
|
f003696d7e
|
Merge pull request #5994 from ethereum/error-to-assert
Turn unreachable error into assert
|
2019-02-13 17:54:01 +01:00 |
|
chriseth
|
1a823f0bf8
|
Fix tabs/spaces.
|
2019-02-13 17:05:48 +01:00 |
|