Christian
ae5a6a235c
Super keyword.
2015-01-29 00:29:43 +01:00
Lefteris Karapetsas
b5a786dda1
Various fixes pertaining to State Variable accessors
2015-01-28 21:46:17 +01:00
Lefteris Karapetsas
2947e038d2
EVM Code for simple accessor function is properly generated
2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
3ec6c0b1cb
All interface functions are external.
2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
b95048768d
Solidity EntryLabel now uses a generic declaration
...
- Instead of a FunctionDefinition
2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
5c7359aa09
State variable accessors code is now more organized
...
- FunctionDescription is the abstraction of what should describe a
function. It can either be a VariableDeclaration of a
FunctionDefinition.
- ParamDescription is what FunctionDescription uses to describe its
parameters for outside use purposes with a pair of (name, type)
strings
- Modified code around Solidity and especially interface handler to
adapt to this change
2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
3cc0492301
Work in progress for state variable accessors
...
- Changed the code so that a generic declaration with the combination of
a function type can be used wherer a function definition was used
before
- Since using an std::pair everywhere is really tiring with this commit
I am in the process of abstracting it into a function
2015-01-28 21:46:16 +01:00
Christian
f59cda76de
Call modifiers on constructor.
2015-01-26 10:23:39 +01:00
Christian
fd5899d038
Modifier overrides and callgraph analysis.
2015-01-26 10:23:39 +01:00
Christian
7ded95c776
Compilation of function modifiers.
2015-01-26 10:23:39 +01:00
Christian
d854e56789
Include virtual function overrides in constructor context.
2015-01-20 15:58:04 +01:00
Christian
ddf5e20d10
Call constructors of base classes.
2015-01-19 23:35:04 +01:00
Christian
4d833bc86b
Inheritance in compiler.
2015-01-19 23:35:04 +01:00
Christian
e6c0a9b922
Magic variables are only needed durinng name and type resolution, not during compilation.
2015-01-19 23:35:04 +01:00
Lefteris Karapetsas
12e000e0d3
A first version of Natspec warning popup
...
- Runtime Contract code hash can now be retrieved from the Compiler
- Using the hash the Natspec handler stores and later retrieves Natspec
JSON for a given contract.
2015-01-13 15:59:42 +01:00
Christian
26f9cd7f68
Coding style: Prefix for const variables.
2015-01-09 21:36:25 +01:00
Christian
fe16922087
Padding for ABI types.
2015-01-09 18:20:51 +01:00
Lefteris Karapetsas
9cf1c066fc
Adjustments to Solidity compiler code for Function Hash
2015-01-09 00:27:26 +01:00
Lefteris Karapetsas
184ddca5a1
Compiler EVM generation now takes into account for the new function hash
...
identifier
- Changed tests to comply with the new function hash identifier
- Changed the function index offset to 4, and made it a constant for
easy adjustment in the future
2015-01-08 17:18:31 +01:00
Lefteris Karapetsas
68b9427535
work in progress in testing the new function selector in the end to end tests
2015-01-08 00:19:19 +01:00
Lefteris Karapetsas
c55608f94b
Solidity getInterfaceFunctions is now a map of hash to Function
...
- Also introduced dependency between libsolidity and libdevcrypto
- Compler's appendFunctionSelector now has a first version of using
function signature hash instead of index
2015-01-07 16:39:21 +01:00
chriseth
3d98ec1323
Merge pull request #623 from chriseth/sol_constructorChecks
...
Checks for the constructor and ability to call functions
2014-12-17 15:18:49 +01:00
Lefteris Karapetsas
5c05b8d725
Solidity ForStatement Compiler part
...
- Work in progress
2014-12-17 00:03:30 +01:00
Lefteris Karapetsas
f7029726be
Adding a ForStatement solidity AST Node.
...
- Adding ForStatement node
- Implemented Parsing for ForStatement
- A simple parsing test for the ForStatement
- Work in progress
2014-12-17 00:03:30 +01:00
Christian
b2e3771598
Add functions needed by constructor.
2014-12-16 23:49:45 +01:00
Christian
40f7c32e57
Packing and unpacking of constructor arguments.
2014-12-15 13:05:18 +01:00
Christian
2f64c56ef3
Create contracts.
2014-12-15 13:05:18 +01:00
Christian
6893d4d455
Merge remote-tracking branch 'ethereum/develop' into sol_swapConstants
...
Conflicts:
test/solidityOptimizerTest.cpp
2014-12-12 17:22:45 +01:00
Christian
e2547526ab
Do not add at the end of the function selector "loop".
2014-12-11 17:48:44 +01:00
Christian
66d95abfd9
Swap literals to the end if optimizing.
2014-12-11 17:48:44 +01:00
Christian
a735228079
Support empty strings.
2014-12-11 14:19:11 +01:00
Christian
8b54d1afb2
Merge remote-tracking branch 'ethereum/develop' into sol_strings
...
Conflicts:
libsolidity/Types.cpp
2014-12-10 17:24:23 +01:00
chriseth
3c377f77bb
Merge pull request #577 from chriseth/sol_constCleanup
...
Solidity const cleanup
2014-12-10 17:19:01 +01:00
Christian
373f0da267
Helper functions to access memory.
2014-12-10 17:15:17 +01:00
Christian
130ff85e85
String types.
2014-12-10 16:30:20 +01:00
Christian
5edffeba19
Take variable stack size correctly into account for return value packer.
2014-12-10 12:51:26 +01:00
Christian
35d5b28fae
Variable-size stack elements for expression compiler.
2014-12-08 22:26:22 +01:00
Christian
b7d856ed5f
Changes in compiler to support variably sized stack elements.
2014-12-08 19:02:40 +01:00
Christian
9b68033efc
Cleanup before return.
2014-12-08 18:19:25 +01:00
Christian
cd5f495861
Register variably-sized variables on stack.
2014-12-08 16:56:41 +01:00
Christian
13640d7db8
Clear separation between ASTVisitor and ASTConstVisitor and more const specifiers.
2014-12-08 12:53:56 +01:00
Christian
c78c330634
Const AST visitor for the compiler.
2014-12-08 12:49:03 +01:00
Gav Wood
71ae1f8f00
Warnings fixes (well.. the UPnP was actually a crash fix.)
2014-12-02 20:18:01 +01:00
Christian
f30dc68cdd
Sending ether.
2014-11-26 15:35:25 +01:00
Christian
583a315d3d
Magic variables.
2014-11-23 21:28:45 +01:00
Christian
3ba9649dde
Special handling for constructor.
2014-11-19 13:19:43 +01:00
Christian
46dd629820
Mapping types.
2014-11-14 14:08:14 +01:00
Christian
d1789250b6
Merge remote-tracking branch 'ethereum/develop' into sol_jumptable
...
Conflicts:
libsolidity/Compiler.cpp
2014-11-11 10:39:59 +01:00
Christian
a0c72065fe
Merge remote-tracking branch 'ethereum/develop' into sol_optimizer
...
Conflicts:
libevmcore/Instruction.cpp
2014-11-10 13:30:59 +01:00
Christian
41b26e491b
Replace function selector jump table by more resilient linear time check.
2014-11-10 13:13:53 +01:00