Commit Graph
52 Commits
Author SHA1 Message Date
chriseth 1e3596ec71 Use invalid opcode on internal errors. 2020-09-24 16:02:35 +02:00
Daniel Kirchner 976abf4715 Easy review fixes. 2020-09-17 22:13:27 +02:00
Daniel Kirchner f4b42d1c72 Add stack limit evader. 2020-09-17 22:13:27 +02:00
chriseth 930646ba2b Report locations of unimplemented features. 2020-09-15 14:41:46 +02:00
Djordje Mijovic d99b81ef02 [Sol->Yul] Enabling storage pointers to local vars in inline assembly. 2020-08-26 10:25:42 +02: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
chriseth 37e8d78cff [Sol->Yul] Implement getters. 2020-06-03 10:33:37 +02:00
Kamil Śliwak 1a2e441bc5 Generate internal dispatch only for functions that might actually get called via pointers
- This also adds support for internal library calls as a side-effect since they'll now be pulled into the internal dispatch automatically.
2020-05-26 17:01:50 +02:00
Kamil Śliwak 465e4d4088 Extract more functions for generating function and variable names into IRNames 2020-05-15 14:51:00 +02:00
Kamil Śliwak 7af7273b60 Move static functions for constructing names from IRGenerationContext into the new Common module 2020-05-14 19:48:00 +02:00
chriseth d0b82fe854 Merge pull request #8869 from ethereum/useSlotes
Use vector of slots.
2020-05-07 19:03:59 +02:00
chriseth 75ca072ae6 Assertion about getters for non-value type immutables. 2020-05-07 18:18:40 +02:00
chriseth f38cf85482 Use vector of slots. 2020-05-07 17:54:04 +02:00
chriseth f42dc70c9f Merge pull request #8863 from ethereum/nonReversedEncoder
Introduce non-reversed version of tupleEncoder.
2020-05-07 15:47:32 +02:00
chriseth e986fde0c1 Introduce non-reversed version of tupleEncoder. 2020-05-07 15:08:09 +02:00
chriseth 6fb112fa8e Remove some unneeded headers. 2020-05-07 01:49:46 +02:00
chriseth 02c20698c9 IR generation for constants. 2020-05-05 17:07:55 +02:00
Djordje Mijovic cf607aa887 [Sol->Yul] Checking if there is base contract when calling base constructror via modifier invocation. 2020-05-04 20:38:22 +02:00
chriseth 51ccb1519f Yul codegen for immutables. 2020-05-04 15:00:50 +02:00
Djordje Mijovic f3f729549d [Sol->Yul] Enabling creation function call 2020-04-27 16:15:57 +02:00
Kamil Śliwak 64bce597a1 IRGenerator: Enable code generation for libraries 2020-04-24 15:00:17 +02:00
Djordje Mijovic 5329da93fb [Sol2Yul] Adding support for constructors with parameters in case of inheritance 2020-04-22 14:47:08 +02:00
Kamil Śliwak c7947c1af6 Implement lazy function generation using function generation queue 2020-04-17 13:28:07 +02:00
Kamil Śliwak 1f28f79ae6 IRGenerator::generate(): Remove duplicate call to setMostDerivedContract()
- The same call happens in resetContext(_contract) called immediately before
2020-04-17 13:28:07 +02:00
chriseth 823a119117 Merge pull request #8570 from aarlt/clang-tidy-apply-modernize-use-emplace
clang-tidy: Apply modernize-use-emplace.
2020-04-07 17:28:50 +02:00
Alexander Arlt 90bb1d8a7c Apply modernize-use-emplace. 2020-04-02 17:35:48 -05:00
Leonardo Alt 39ff0deb05 Zero initialize memory arrays 2020-04-02 15:55:18 +02:00
Djordje Mijovic 89d5ecdd24 [Sol2Yul] Adding support for constructor with parameters 2020-03-27 01:19:11 +01:00
chriseth 173f234860 Refactor: Replace inheritance hierarchy by most derived contract. 2020-03-26 18:27:39 +01:00
chriseth fa148f2483 Parsing of immutable state variable. 2020-03-12 17:11:24 +01:00
Daniel Kirchner 857ed12b05 Use plain members and references instead of shared pointers for MultiUseYulFunctionCollector 2020-03-04 16:16:34 +01:00
Daniel Kirchner 3c9f18b749 Use IRVariable's in IR code generation and implement tuples. 2020-02-12 12:36:14 +01:00
Leonardo Alt 36928c7a35 Add reason string for internal reverts 2020-02-10 11:57:20 -03:00
Daniel Kirchner af9fc8b634 Mapping getters for Yul IR. 2020-02-04 17:22:03 +01:00
Christian Parpart 345f9928ab Library libdevcore renamed to libsolutil. 2020-01-07 15:51:50 +01:00
Christian Parpart 6b23412fae C++ namespace cleanup (except tests). 2020-01-07 15:51:50 +01:00
Daniel Kirchner 3321fc56ea Split fallback function and introduce "fallback()" and "receive()" syntax. 2019-11-04 17:17:58 +01:00
chriseth c30839888f Use `leave` in code generator. 2019-10-29 14:32:16 +01:00
Christian Parpart 235638b3fc Implements constructor code for state variables. 2019-08-05 11:23:01 +02:00
Mathias Baumann d264e3e0ba [Sol->Yul] Implement getter functions 2019-07-10 13:42:39 +02:00
djudjuu cafa01cbf6 moved SuffixHelper to StringUtils 2019-07-09 13:50:07 +02:00
Christian Parpart 0fd1db533e yul: adds reindent() function to reindent yul source code and makes use of it in IRGenerator.
This function does count curly and round braces and reindents
accordingly the beginning of each line.

It does consider line-comments (// and ///) but not multiline comments (/* ... */).
2019-06-24 12:53:50 +02:00
Mathias Baumann c5b50039d2 [Sol->Yul] Report error after Ir code
this way less scrolling is required
2019-06-19 18:09:23 +02:00
chriseth 63a072f122 [SolYul] Partially implement constructor. 2019-05-09 17:57:33 +02:00
chriseth 60a42f58a0 Fix internal function calls. 2019-05-09 17:57:33 +02:00
chriseth aa4d4afcdc LValues and state variables of value type. 2019-05-02 17:03:22 +02:00
chriseth c1ca16cd33 Implement return. 2019-04-30 13:10:36 +02:00
Leonardo dbc9442f9c Merge pull request #6484 from sifmelcara/create-SourceReferenceFormatter-shortcut
Add a shortcut for formatting error information
2019-04-12 12:34:08 +02:00
chriseth 565d9837e4 Virtual function calls. 2019-04-11 15:45:43 +02:00
chriseth 18ab8aeb85 Overflow-checked addition. 2019-04-11 15:45:14 +02:00