Erik Kundt
|
e5cb0fe839
|
Reports doctring error on named return mismatch.
|
2019-12-04 15:38:11 +01:00 |
|
chriseth
|
e3ee67da6c
|
Merge pull request #7792 from ethereum/enableYulOptimizer
Enable yul optimizer by default.
|
2019-12-03 21:24:22 +01:00 |
|
Christian Parpart
|
7bbdfe070f
|
Make shadowing of inherited state variables an error.
|
2019-12-03 21:20:03 +01:00 |
|
Daniel Kirchner
|
05baa23e8a
|
Require unimplemented functions to be virtual.
|
2019-12-02 21:59:00 +01:00 |
|
Daniel Kirchner
|
77a9e91443
|
Enable yul optimizer by default.
|
2019-12-02 19:30:14 +01:00 |
|
Mathias Baumann
|
7bc6645218
|
Disallow use of virtual and private together
|
2019-11-27 18:52:41 +01:00 |
|
chriseth
|
400667fddf
|
Update tests after merge from develop.
|
2019-11-26 16:27:07 +01:00 |
|
chriseth
|
b0db64ff5b
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-26 16:19:35 +01:00 |
|
chriseth
|
0973ae751a
|
Do not warn about enabled ABIEncoderV2 anymore.
|
2019-11-26 15:49:42 +01:00 |
|
Gaith Hallak
|
4a1e85436b
|
Allow splitting string literals into multiple parts
|
2019-11-26 14:41:30 +03:00 |
|
chriseth
|
a00f824479
|
Merge pull request #7773 from ethereum/develop
Merge develop into develop_060
|
2019-11-21 21:49:22 +01:00 |
|
chriseth
|
d5e9271592
|
Merge pull request #7350 from ethereum/array-length-rvalue
Make `length` member read-only
|
2019-11-21 19:22:42 +01:00 |
|
chriseth
|
8f2595957b
|
Merge pull request #7719 from ethereum/librarySignatuŕes
Add selector member to public and external library functions.
|
2019-11-20 18:43:14 +01:00 |
|
Leonardo Alt
|
389da5228e
|
Merge remote-tracking branch 'origin/develop' into merge_develop_060
|
2019-11-20 12:27:40 +01:00 |
|
Erik Kundt
|
d05afb34d6
|
Adjusts syntax tests to read-only array length.
|
2019-11-19 21:11:09 +01:00 |
|
chriseth
|
d696b3c92b
|
Merge pull request #7743 from ethereum/fixice-7558
Disallow conversion from ``super``
|
2019-11-19 18:52:33 +01:00 |
|
Mathias Baumann
|
23cad71c88
|
Disallow conversion from `super `
|
2019-11-19 17:14:11 +01:00 |
|
chriseth
|
6797879128
|
Merge pull request #7647 from ethereum/virtual-5424
Implement virtual keyword
|
2019-11-19 13:21:27 +01:00 |
|
Erik Kundt
|
8faa6ffeaf
|
Adjusts syntax and semantic tests to 0.6.0
|
2019-11-19 12:10:07 +01:00 |
|
Daniel Kirchner
|
a0ae36ba70
|
Add selector member to public and external library functions.
|
2019-11-15 16:12:29 +01:00 |
|
chriseth
|
216e1749f4
|
Merge remote-tracking branch 'origin/develop' into develop_060
|
2019-11-14 13:42:46 +01:00 |
|
chriseth
|
766309b6e4
|
Merge pull request #7713 from ethereum/no-lib-instance-7625
Disallow variables of library types
|
2019-11-14 13:39:56 +01:00 |
|
Mathias Baumann
|
0891b9451b
|
Disallow variables of library types
|
2019-11-14 13:20:31 +01:00 |
|
chriseth
|
b099374d8c
|
Fix assembly parsing by passing evm version.
|
2019-11-14 13:06:36 +01:00 |
|
Mathias Baumann
|
5b8ff78176
|
Implement virtual keyword
|
2019-11-14 11:49:39 +01:00 |
|
Mathias Baumann
|
7d4e4b6088
|
Parse "virtual" keyword
|
2019-11-13 13:28:01 +01:00 |
|
Daniel Kirchner
|
ce7268272d
|
Allow obtaining the address of a library by conversion to `address `.
|
2019-11-12 17:09:13 +01: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 |
|
chriseth
|
cac2e843e6
|
Merge pull request #7618 from ethereum/addMoreAbstractKeywordsInTests
Add some more abstract keywords in test to make sure the correct property is tested.
|
2019-11-05 13:38:21 +01:00 |
|
chriseth
|
7c258873bd
|
Add some more abstract keywords in test to make sure the correct property is tested.
|
2019-11-04 17:26:38 +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
|
c908c16acd
|
Remove InternalCompilerError on abstract contract instantiation.
|
2019-11-01 14:54:47 -05:00 |
|
Alexander Arlt
|
cd3ad73b5a
|
Update tests.
|
2019-11-01 14:54:47 -05:00 |
|
Alexander Arlt
|
54c5e604e5
|
Add new tests.
|
2019-11-01 14:54:47 -05:00 |
|
Mathias Baumann
|
6c6a9054b2
|
Implement override checking
|
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
|
b76106fc4a
|
Parse override keyword for modifier definitions
|
2019-10-30 17:31:33 +01:00 |
|
chriseth
|
499fe57d33
|
Tests
|
2019-10-29 14:32:16 +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
|
07c67b98f6
|
Merge remote-tracking branch 'origin/develop' into HEAD
|
2019-10-28 12:12:52 +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
|
f05718ef5d
|
Syntax tests: Adapted to changes.
|
2019-10-25 15:01:27 +02:00 |
|
Christian Parpart
|
e40c498260
|
Adapting the tests to strict inline assembly.
|
2019-10-25 15:01:25 +02:00 |
|
chriseth
|
15e39f7d65
|
Merge pull request #7556 from ethereum/ice-7550
Check for use of modifiers in invalid contexts
|
2019-10-24 10:32:49 +02:00 |
|
Mathias Baumann
|
c3e8023ad5
|
Fix wrong assert in overflow check
|
2019-10-23 14:59:34 +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 |
|
Daniel Kirchner
|
7202ebb5b2
|
Fix internal compiler error for arrays of recursive structs.
|
2019-10-01 16:51:14 +02:00 |
|
Christian Parpart
|
00d7dac15f
|
Fixes source location in warning for shadowing import delcarations.
|
2019-09-30 11:45:46 +02:00 |
|
Leonardo Alt
|
b40895c100
|
Fix try catch test
|
2019-09-26 18:27:09 +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
|
f3c4f466f6
|
Merge remote-tracking branch 'origin/develop' into develop_060
Had to adjust gas costs during merge.
|
2019-09-24 10:28:22 +02:00 |
|
chriseth
|
b5bc52f2a7
|
Control flow for try statements.
|
2019-09-23 17:22:56 +02:00 |
|
chriseth
|
644a402166
|
Tests.
|
2019-09-23 17:22:56 +02:00 |
|
chriseth
|
bfc8fd23ac
|
Document chainid and selfbalance.
|
2019-09-19 15:35:37 +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 |
|
Daniel Kirchner
|
6f3341a204
|
Allow underscores in hex strings.
|
2019-09-06 17:58:35 +02:00 |
|
krk
|
33f7f960cf
|
Allow exponentials with signed base and unsigned power.
|
2019-09-04 17:32:47 +02:00 |
|
Daniel Kirchner
|
2b938d703c
|
Allow global enum definitions.
|
2019-09-02 11:52:51 +02:00 |
|
Daniel Kirchner
|
fae0e10d26
|
Import tests.
|
2019-09-02 11:17:57 +02:00 |
|
Daniel Kirchner
|
872d21f527
|
Allow global struct definitions.
|
2019-09-02 11:17:42 +02:00 |
|
Mathias Baumann
|
24716404f8
|
Parse override keyword
|
2019-08-26 17:34:21 +02:00 |
|
Mathias L. Baumann
|
502bf01be2
|
Merge pull request #7278 from ethereum/develop
Merge develop into develop_060
|
2019-08-26 10:26:48 +02:00 |
|
Daniel Kirchner
|
4354ef2ef4
|
Add update suggestion.
|
2019-08-19 14:58:05 +02:00 |
|
Daniel Kirchner
|
20b23e124b
|
Add test case.
|
2019-08-19 14:56:04 +02:00 |
|
Daniel Kirchner
|
9f6fff2120
|
Replace casting of external functions to address by a member named "address".
|
2019-08-19 14:56:04 +02:00 |
|
Daniel Kirchner
|
aa2167b208
|
Extract some import tests.
|
2019-08-19 14:45:26 +02:00 |
|
Daniel Kirchner
|
6ed219ebe8
|
Support multiple sources for syntax tests.
|
2019-08-19 14:45:26 +02:00 |
|
Daniel Kirchner
|
4a65c5ebaa
|
Compile succeeding syntax tests.
|
2019-08-16 17:14:49 +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
|
9cb9021c36
|
Cope with constants without value in inline assembly.
|
2019-07-09 11:12:13 +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 |
|
Daniel Kirchner
|
4d38df6920
|
Set state mutability of function type members `gas and value ` to pure.
|
2019-06-13 18:27:53 +02:00 |
|
Leonardo
|
d2019f49ea
|
Merge pull request #6906 from ethereum/delegatecall_value_msg
Improve error message for delegatecall.value
|
2019-06-12 21:14:54 +02:00 |
|
Daniel Kirchner
|
6368cd4c82
|
AsmParser: disallow trailing commas in function call arguments.
|
2019-06-06 13:16:27 +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 |
|
mingchuan
|
bf8af89bba
|
Fix assignment of struct containing array of mappings
|
2019-05-25 01:33:49 +08: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
|
90e8594858
|
Update tests.
|
2019-05-23 11:30:12 +02:00 |
|
chriseth
|
7506b5752a
|
Do not require payable for callvalue instruction.
|
2019-05-22 11:30:29 +02:00 |
|
Erik Kundt
|
656364d967
|
Fixes Natspec parser error when whitespace is missing.
|
2019-05-10 10:53:32 +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 |
|
Mathias Baumann
|
00172192bf
|
Reorganize 'shadows builtin" syntax tests
|
2019-04-30 15:37:03 +02:00 |
|
Erik Kundt
|
381ed5a302
|
Unifies behavior for member access of ABI functions.
|
2019-04-29 14:27:10 +02:00 |
|
chriseth
|
f9ec1231b6
|
Support period as part of identifiers for Yul and Inline Assembly.
|
2019-04-25 16:48:16 +02:00 |
|
Mathias Baumann
|
efc8d79d53
|
Fix wrong location for inline asm blocks
|
2019-04-15 16:40:07 +02: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
|
84b68006ba
|
Fix function calls with named arguments for overloaded functions
|
2019-03-20 14:54:41 +01:00 |
|
Leonardo Alt
|
0386d39942
|
Add test with internal function
|
2019-03-19 20:45:27 +01:00 |
|
Leonardo Alt
|
9acec99c31
|
Issue error for callvalue in nonpayable function
|
2019-03-19 20:45:27 +01:00 |
|
chriseth
|
6683ec90ca
|
Merge pull request #6209 from ethereum/dynamicCalldataStructs
Allow dynamically encoded calldata structs with ABIEncoderV2.
|
2019-03-11 17:05:34 +01:00 |
|
Daniel Kirchner
|
66fc7ffab2
|
Allow dynamically encoded calldata structs with ABIEncoderV2.
|
2019-03-11 16:40:13 +01:00 |
|
Mathias Baumann
|
e411a502fd
|
Fix missing trailing dot in error message
|
2019-03-11 16:15:18 +01:00 |
|
Mathias Baumann
|
d70cb375cf
|
isImplicitlyConvertibleTo(): Add better error messages
|
2019-03-11 13:38:02 +01:00 |
|
Daniel Kirchner
|
f7c6eda2c3
|
Allow calldata arrays with dynamically encoded base type.
|
2019-03-06 18:04:12 +01:00 |
|
Mathias Baumann
|
50b4193705
|
TypeChecker: Check if type exists before dereferencing it
|
2019-02-28 15:49:15 +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
|
3076d80480
|
Adds syntax test that covers arrays of contracts.
|
2019-02-25 23:05:33 +00:00 |
|
Erik Kundt
|
2d0daae796
|
Disallows index access on contracts and libraries.
|
2019-02-25 23:05:33 +00:00 |
|
Alex Beregszaszi
|
fcf884f201
|
Do not ignore fatal error in AsmParser for inline assembly
|
2019-02-21 16:18:53 +00:00 |
|
Mathias Baumann
|
f395d5bab4
|
Add extra token for assembly assignment
Adding an extra token for := prevents whitespace between : = being valid
|
2019-02-21 13:58:21 +01:00 |
|
chriseth
|
0613c69c4a
|
Merge pull request #6043 from ethereum/asm-jump-invalidlabel
Proper error message for missing variables in inline assembly
|
2019-02-20 14:32:40 +01:00 |
|
Alex Beregszaszi
|
687522a2f5
|
Move inline assembly tests from nameAndTypeResolution to inlineAssembly
|
2019-02-20 11:00:02 +00:00 |
|
Alex Beregszaszi
|
52496ea719
|
Proper error message for missing variables in inline assembly
|
2019-02-20 10:36:55 +00: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
|
ee9394b4aa
|
Move 'warnUnused' tests to subfolder
|
2019-02-18 16:42:58 +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 |
|
Mathias Baumann
|
419a12db03
|
TypeChecker: Add test to increase coverage
|
2019-02-14 13:41:33 +01:00 |
|
Mathias Baumann
|
10a9960eb3
|
Fix error msg hint for non-payable contracts
|
2019-02-14 11:39:19 +01:00 |
|
Mathias Baumann
|
1e603c27ea
|
Add tests to increase TypeChecker.cpp coverage
|
2019-02-13 16:31:26 +01:00 |
|
Mathias Baumann
|
6a6cc27b71
|
Rename & move tests of group typeChecking to subfolder
|
2019-02-13 15:52:31 +01:00 |
|
Daniel Kirchner
|
9e32aa7510
|
Disallow calldata arrays with dynamically encoded base types in TypeChecker.
|
2019-02-11 17:13:12 +01:00 |
|
chriseth
|
92cb6cb793
|
Merge pull request #5936 from ethereum/calldataStructsV2
ABIEncoderV2: Implement calldata structs without dynamically encoded members.
|
2019-02-11 16:18:27 +01:00 |
|
Mathias Baumann
|
259d803387
|
Conditional Expression: Delay invalid type fatal error
Check the whole conditional first and then output errors for
both, the true and false expressions.
|
2019-02-11 15:47:19 +01:00 |
|
Mathias Baumann
|
08977af843
|
Rename & move test to move away from number prefix
|
2019-02-11 15:47:19 +01:00 |
|
Daniel Kirchner
|
0e4912a203
|
ABIEncoderV2: Implement calldata structs without dynamically encoded members.
|
2019-02-11 15:46:58 +01:00 |
|
chriseth
|
49cd55d3a0
|
Merge pull request #5839 from ethereum/inplaceEncoding
Inplace and non-padded encoding for ABIEncoderV2.
|
2019-02-11 12:01:28 +01:00 |
|
Mathias Baumann
|
fe2429de9f
|
Packed Encoding: Disallow types in v2 that aren't allowed in v1
|
2019-02-11 11:37:48 +01:00 |
|
chriseth
|
227addfcef
|
Syntax tests.
|
2019-02-11 11:37:48 +01:00 |
|
Mathias Baumann
|
feae01f042
|
Add tests to increase coverage of TypeChecker
|
2019-02-11 11:23:56 +01:00 |
|
Mathias Baumann
|
d41ffd1dcf
|
Rename & move tests to get rid of old number prefix in name
|
2019-02-11 11:23:20 +01:00 |
|
Mathias Baumann
|
ee28cb65a6
|
Add tests to increase coverage of TypeChecker
|
2019-02-06 20:45:30 +01:00 |
|
Mathias Baumann
|
9f431339ef
|
Fix crash for too large struct array indicies
|
2019-02-06 11:50:25 +01:00 |
|
Mathias Baumann
|
77f407d450
|
Fix check that mappings can only have storage location
|
2019-02-05 18:06:42 +01:00 |
|
Alex Beregszaszi
|
9aafa32825
|
Disallow empty import statements
|
2019-01-28 13:52:15 +00:00 |
|
Daniel Kirchner
|
610ef9f199
|
Disallow calldata structs.
|
2019-01-21 10:30:57 +01:00 |
|
chriseth
|
2ec997e697
|
Merge pull request #5775 from ethereum/codeAccess
Provide access to code of contract types.
|
2019-01-18 00:16:06 +01:00 |
|
chriseth
|
4669b06ab4
|
Warn if type(..).runtimeCode is used with assembly in the constructor.
|
2019-01-17 20:36:48 +01:00 |
|
chriseth
|
44237211d1
|
Tests.
|
2019-01-17 20:36:48 +01:00 |
|
Leonardo Alt
|
83e7233bb8
|
Change error message and add tests
|
2019-01-17 14:28:03 +01:00 |
|
Daniel Kirchner
|
0dfd4a726e
|
Warn about unreachable code.
|
2019-01-10 10:36:50 +01:00 |
|
chriseth
|
87237281bf
|
Merge pull request #5630 from ethereum/warn_functions_empty_body
Supress unused var and state mut warnings for functions with empty body
|
2018-12-12 17:00:50 +01:00 |
|
Leonardo Alt
|
508aae8a67
|
Disable state mutability warning for functions with empty body
|
2018-12-12 14:43:44 +01:00 |
|
Leonardo Alt
|
53537864a2
|
Disable unused var warning for functions with empty body
|
2018-12-12 14:43:44 +01:00 |
|
Daniel Kirchner
|
788612d2ef
|
Refactoring of the ControlFlowGraph and use for detecting all uninitialized storage accesses.
|
2018-12-12 04:20:53 +01:00 |
|
Yi Huang
|
81f703427e
|
Add tests for implcit conversions from literals to fixed-point numbers.
|
2018-12-10 17:31:20 +01:00 |
|
Erik Kundt
|
e2395a3dcf
|
Adds more detailed type errors and tests.
|
2018-12-07 12:35:35 +01:00 |
|
Erik Kundt
|
b2afb8cdda
|
Adds an additional message to failing type conversions.
|
2018-12-07 11:55:53 +01:00 |
|