Commit Graph

48 Commits

Author SHA1 Message Date
chriseth
42d186fdfc Merge pull request #754 from LefterisJP/sol_abiFunctionHash
Calculation of ABI Function Identifier Hash
2015-01-09 11:22:59 +01:00
Lefteris Karapetsas
9cf1c066fc Adjustments to Solidity compiler code for Function Hash 2015-01-09 00:27:26 +01:00
Gav Wood
ffce12b7ee Basic logging in Solidity (though no tests yet). 2015-01-09 00:22:06 +01:00
Lefteris Karapetsas
a7b661d3be merging develop 2015-01-08 17:43:38 +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
Christian
52240ea88f Bugfix: Use parameter (not argument) type size on stack for function calls. 2015-01-07 16:22:42 +01:00
Gav Wood
546717027f BLOCKHASH 2015-01-05 11:35:56 +00:00
Christian
8dbe13f840 Bugfix: Additional swap for compound assignment. 2014-12-18 22:23:34 +01:00
Christian
5a1a83ff42 Assertions that throw InternalCompilerErrors. 2014-12-17 16:24:56 +01:00
Christian
2f64c56ef3 Create contracts. 2014-12-15 13:05:18 +01:00
Christian
739192ae65 Correctly check for string prefix plus indentation change. 2014-12-15 01:02:33 +01:00
Christian
c0bba438b1 Calls to bare contracts. 2014-12-12 17:26:19 +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
66d95abfd9 Swap literals to the end if optimizing. 2014-12-11 17:48:44 +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
chriseth
e8b7d26664 Const change. 2014-12-10 14:37:37 +01:00
Christian
35d5b28fae Variable-size stack elements for expression compiler. 2014-12-08 22:26:22 +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
Christian
57e6827cb5 Calling functions of other contracts. 2014-12-08 12:39:29 +01:00
Gav Wood
4b0d949df3 Warning fix.
ECDSA recover fix.
2014-11-28 14:28:02 +01:00
Christian
c4a43c64c2 Global functions. 2014-11-26 15:42:54 +01:00
Christian
f30dc68cdd Sending ether. 2014-11-26 15:35:25 +01:00
Christian
a2715c5f34 More general function types and references. 2014-11-26 15:35:25 +01:00
Christian
6e6b85b58a Access to blockchain data. 2014-11-24 13:24:03 +01:00
Christian
583a315d3d Magic variables. 2014-11-23 21:28:45 +01:00
Christian
c50cd646ce Contracts as types and framework for special global variables. 2014-11-23 21:28:44 +01:00
Christian
fa987e0a20 Convenience class for type members. 2014-11-23 21:04:39 +01:00
Christian
c560a62352 Struct types. 2014-11-14 14:08:14 +01:00
Christian
46dd629820 Mapping types. 2014-11-14 14:08:14 +01:00
Christian
5af66a6cb3 Merge remote-tracking branch 'ethereum/develop' into sol_stateVariables
Conflicts:
	libsolidity/ExpressionCompiler.cpp
2014-11-10 00:45:58 +01:00
Christian
64a4d77c8b State variables. 2014-11-07 20:02:57 +01:00
Christian
af0aa0f898 Evaluate expressions in convenient order. 2014-11-07 02:07:59 +01:00
chriseth
d9decb8f1d Removed superfluous braces. 2014-11-06 22:11:21 +01:00
Christian
d3215fb4a6 Re-added some changes lost in merges. 2014-11-06 22:04:10 +01:00
chriseth
e0ba1c79db Stylistic changes. 2014-11-06 21:55:01 +01:00
Christian
95d2edfbac Type promotion fixes and tests. 2014-11-06 02:36:39 +01:00
Christian
13baaf98b8 Proper type promotion and conversion. 2014-11-06 02:36:39 +01:00
Christian
29c9a7aed9 Allow implicit type conversions for comparisons. 2014-11-06 02:22:24 +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
643c781a6d Bugfix: Swap before mod and div. 2014-11-03 15:44:22 +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
a5f3602738 Renamed file. 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