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
Christian
64a4d77c8b
State variables.
2014-11-07 20:02:57 +01:00
Christian
dc8fb45e1f
Merge remote-tracking branch 'ethereum/develop' into sol_optimizer
2014-11-07 02:13:31 +01:00
Christian
b66e58d6c9
Prevent optimizer from changing certain parts of the code.
2014-11-06 22:55:42 +01:00
Christian
225fc8e1b3
Option to activate the optimizer for solidity.
2014-11-06 22:55:42 +01:00
Christian
6c2e3ffd76
Merge remote-tracking branch 'ethereum/develop' into sol_typePromotion
2014-11-06 22:07:02 +01:00
Christian
d1df8b810f
Ignore break and continue outside of loops.
2014-11-06 02:46:48 +01:00
Christian
13baaf98b8
Proper type promotion and conversion.
2014-11-06 02:36:39 +01:00
Christian
c1f7a1665f
Converted all asserts to exceptions.
2014-11-05 15:01:24 +01:00
Christian
4dfd6dfa13
Some tests and bugfixes for the compiler.
2014-11-03 16:11:40 +01:00
Christian
25c0e08bdf
Merge remote-tracking branch 'ethereum/develop' into sol_contractCompiler
...
Conflicts:
libsolidity/AST.cpp
libsolidity/AST.h
libsolidity/Compiler.cpp
libsolidity/Compiler.h
libsolidity/NameAndTypeResolver.h
libsolidity/Types.cpp
solc/main.cpp
test/solidityCompiler.cpp
2014-10-31 17:20:27 +01:00
Christian
a36db1f241
Actual contract creator and add solidity to AlethZero interface.
2014-10-31 14:37:23 +01:00
Gav Wood
c45495afb9
Big fixes.
2014-10-31 14:35:13 +01:00
Christian
cb9cb48dc7
Function selector and variable (un)packing.
2014-10-30 21:21:25 +01:00
Christian
7f19f3d133
Contract compiler and also add ExpressionStatement to AST.
...
ExpressionStatement functions as glue between Statements and Expressions.
This way it is possible to detect when the border between statements and
expressions is crossed while walking the AST. Note that ExpressionStatement is
not the only border, almost every statement can contains expressions.
2014-10-30 01:25:42 +01:00
Christian
62822ffd92
Fixed placements of const.
2014-10-29 19:28:30 +01:00
Christian
b5a4d12fa3
Compiler for assignments.
2014-10-29 14:33:25 +01:00
Christian
01224287f5
NEG->BNOT change
2014-10-29 14:26:37 +01:00
Christian
f91ddc2788
Adjustments for the NEG->BNOT change.
2014-10-28 17:09:06 +01:00
Christian
fae8ca001e
Stylistic corrections.
2014-10-28 09:25:01 +01:00
Christian
a29eb889a2
Removed some more boost asserts.
2014-10-24 20:01:20 +02:00
Christian
59b5e950f4
Expression compiler.
2014-10-24 19:38:13 +02:00