Christian
754c804d19
Implementation of index access.
2015-02-23 18:25:49 +01:00
Christian
261786d909
Allow conversion to dynamic arrays and update grammar.
2015-02-21 18:25:08 +01:00
Christian
5e32083179
Parsing of array types and basic implementation.
2015-02-21 15:10:01 +01:00
Liana Husikyan
fa3cd1cdc2
renamed local vaiable in fromDeclaration
...
added missing endvisit
2015-02-20 23:04:32 +01:00
Liana Husikyan
d0c36795a0
renamed fromIdentifier to fromStateVariable
2015-02-20 22:51:23 +01:00
Liana Husikyan
858acaa193
corrected accept for variableDeclaration
...
changes after code review
2015-02-20 22:51:16 +01:00
Liana Husikyan
1ed86b33bc
cosmetic changes
2015-02-20 22:51:16 +01:00
Liana Husikyan
52050201e3
Inline member initialisation
...
renamed VariableDefinition class to VariableDeclarationStatement
added tests
2015-02-20 22:50:34 +01:00
Christian
197b184d25
Fixes for assigning and deleting structs containing byte arrays.
2015-02-18 00:15:32 +01:00
Christian
a33fa270f6
Calldata byte arrays stored on the stack.
2015-02-16 19:35:53 +01:00
Christian
1f6e365136
Move code to loadFromMemory.
2015-02-16 19:25:27 +01:00
Christian
5c3ea8015c
Forced cleanup for conversion to enum.
2015-02-14 13:35:57 +01:00
Christian
c944976d00
Some changes to enums.
2015-02-14 13:35:57 +01:00
Lefteris Karapetsas
fbd39323af
Moving getMemberValue from EnumDefinition to EnumType
2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
b2575b4bcb
Addressing issues with Enums in Solidity
2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
91943e7368
Enum Value member access should now work properly
...
- Also detection of duplicate enum values and tests for them have been
added
2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
012e32942d
Enum type conversion and member value access.
...
- Added tests for the type conversion part.
- Enum member value access still needs some work
2015-02-13 23:16:14 +01:00
Christian
1c3c1f1e5d
Copying structs.
2015-02-12 20:19:49 +01:00
Christian
b836d952b2
length member for byte arrays.
2015-02-12 15:44:35 +01:00
Christian
5673f994fc
Added some comments.
2015-02-12 11:50:47 +01:00
Christian
9b8cf4af1d
Moved copy code to CompilerUtils.
2015-02-12 11:33:10 +01:00
Christian
8a2879a603
Copy storage to storage.
2015-02-12 11:33:10 +01:00
Christian
adb434569c
Dynamic copy to memory.
2015-02-12 11:33:10 +01:00
Christian
79aec95228
Simple copy of bytes to storage.
2015-02-12 11:33:09 +01:00
Lu Guanqun
d307b0914c
add exponent operator
...
https://www.pivotaltracker.com/n/projects/1189488/stories/83746404
2015-02-10 23:39:13 +08:00
Christian
cf4144b702
Arbitrary parameters for call() and all hash functions.
2015-02-10 10:59:23 +01:00
chriseth
bb6f181d7d
Merge pull request #986 from LefterisJP/sol_StyleFix
...
Solidity enum style fix
2015-02-10 10:54:28 +01:00
Lefteris Karapetsas
82c5fb3245
Addressing issues in Enum style fix
2015-02-10 09:52:19 +01:00
Lefteris Karapetsas
943407e0fe
LValueType of Expression Compiler is now CamelCase
2015-02-09 14:41:01 +01:00
Lefteris Karapetsas
148a7cb3e1
ExpressionCompiler's enums to CamelCase
2015-02-09 14:35:31 +01:00
Lefteris Karapetsas
3ef75bae6b
Camelcasing enums in Types.h
2015-02-09 14:08:48 +01:00
Lefteris Karapetsas
6f621f8486
Changing Solidity Code to use CamelCase enum values
2015-02-09 14:00:12 +01:00
Christian
140f003a2e
Some cleanup in "move to memory" functions.
2015-02-09 13:40:37 +01:00
chriseth
a66db516fb
Merge pull request #937 from LefterisJP/sol_MultiArgSHA3
...
Solidity multiple arg sha3
2015-02-09 00:14:13 +01:00
Lefteris Karapetsas
afe1d9a592
Small fixes in Types and ExpressionCompiler
2015-02-06 20:57:04 +01:00
Christian
724ee76900
Accessors for structs.
2015-02-06 20:04:02 +01:00
Lefteris Karapetsas
f6586b8139
Small fixes for proper multitype/multiarg SHA3
2015-02-06 17:25:29 +01:00
Lefteris Karapetsas
293344b473
SHA3 of string literals now should work
2015-02-06 16:27:41 +01:00
Lefteris Karapetsas
2c9ff4747d
getRealType() introduced
2015-02-06 13:42:51 +01:00
Lefteris Karapetsas
76c9f13626
appendArgumentsCopyToMemory() has more complicated logic now
...
- Plus other fixes.
2015-02-06 10:42:24 +01:00
Lefteris Karapetsas
337b952f53
Fixes after rebase
2015-02-06 09:38:04 +01:00
Lefteris Karapetsas
f09c6fffc9
Renaming a function for clarity
2015-02-06 09:38:04 +01:00
Lefteris Karapetsas
8c1d928c94
Solidity SHA3 can now take multiple arguments
2015-02-06 09:38:04 +01:00
Gav Wood
2ff4a80b62
Fixes for named-args.
2015-02-03 12:25:08 -08:00
Gav Wood
04164b612c
Merge branch 'named-args' of https://github.com/guanqun/cpp-ethereum into guanqun-named-args
2015-02-03 11:57:36 -08:00
Lefteris Karapetsas
8cd3d4b4b7
Accessors for multiple mappings implemented
2015-02-02 17:52:50 +01:00
Lefteris Karapetsas
5a374afe62
Simple mapping accessors working
2015-02-02 15:03:44 +01:00
Lefteris Karapetsas
82bcb7e33a
Code generation for mapping state variable accessor
...
- Work in progress
2015-02-01 02:41:14 +01:00
Christian
8d5ee59ee5
Padding fixes.
2015-01-29 21:33:46 +01:00
Christian
9f8c2620da
Whitespace and error messages.
2015-01-29 21:33:46 +01:00
Christian
4e72a77546
Code generation for events.
2015-01-29 21:33:46 +01:00
Lu Guanqun
5c828dc8b2
implement named arguments
2015-01-30 01:32:55 +08:00
Lefteris Karapetsas
71d8bde6d7
No longer exposing retrieveValueFromStorage() as a public function
...
- plus small fix in EndToEndTests
2015-01-29 13:34:07 +01:00
Christian
6ec9586de3
Style changes.
2015-01-29 00:32:21 +01:00
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
6e793b2499
Work on ExpressionCompiler preparing for Accessors from storage
2015-01-28 21:46:16 +01:00
liana
cad3d87482
- cosmetic changes
2015-01-27 13:21:20 +01:00
liana
6ba82b1427
-redesigned appendTypeConversion function
2015-01-27 12:55:40 +01:00
liana
ef885d0212
- modifications according to PR review
2015-01-26 13:24:16 +01:00
liana
3075fc598d
- corrected assert
2015-01-23 18:09:46 +01:00
liana
5de93e6acb
- added conversion for string/hash of equal sizes
...
- added tests
2015-01-23 17:45:37 +01:00
Christian
6e111d5d1d
Explicit calls to base class function.
2015-01-19 23:35:04 +01:00
Christian
4d833bc86b
Inheritance in compiler.
2015-01-19 23:35:04 +01:00
Lefteris Karapetsas
6612e4bd17
Some addition to Solidity Execution Framework
2015-01-19 15:34:15 +01:00
chriseth
325b052b16
Merge pull request #805 from LianaHus/deleteStruct
...
delete for structs
-added functionality to set values to 0 when deleting structure(not for ...
2015-01-19 11:32:11 +01:00
liana
c3d36d1fe1
- corrected delete in case we have more than one locals
...
- added a test
2015-01-16 16:26:57 +01:00
liana
a0ec9c6680
removed spaces
2015-01-16 13:07:16 +01:00
liana
1142b99a64
Corrected "delete" for local variables i.e. set them to 0
...
Added test case
2015-01-16 12:55:49 +01:00
Gav Wood
a9ed77c22a
Merge branch 'develop' of github.com:ethereum/cpp-ethereum into develop
...
Conflicts:
libsolidity/Types.h
2015-01-15 14:03:35 -05:00
Gav Wood
911916beb7
Add blockhash to Solidity.
...
Autopadding fix.
2015-01-15 13:59:35 -05:00
Lefteris Karapetsas
93e3bca420
Update ExpressionCompiler.cpp
2015-01-15 13:33:58 +01:00
liana
00b0b0933d
- added functionality to set values to 0 when deleting structure(not for mapping)
...
- added unit test
Made some changes after Christian`s review on pull request
- remove/edit comments
- BoolType and ContractType return VoidType after delete
- fixed constructor_arguments test
- fixed set to 0 when deleting variable from stack
- changed test case to test that
2015-01-15 11:59:58 +01:00
Lefteris Karapetsas
224cd9be36
Fixing an unused parameter warning in ExpressionCompiler
2015-01-15 11:22:58 +01:00
Christian
abe6055ab7
Style.
2015-01-14 12:00:28 +01:00
Christian
1ba38c9c02
More flexible access to stack during external function call.
2015-01-14 11:57:22 +01:00
Christian
22f0a4fde1
Use min gas for send().
2015-01-14 10:46:44 +01:00
Christian
b440d7e321
Specify value for contract creation.
2015-01-13 18:12:30 +01:00
Christian
ec022783c4
Modify gas and value for external function call.
2015-01-13 18:12:30 +01:00
Christian
307a83e1de
More convenient function type construction.
2015-01-12 12:46:52 +01:00
Gav Wood
94cff9684f
Merge pull request #768 from chriseth/sol_contractsAreAddresses
...
Contracts inherit all address members
2015-01-11 11:07:36 +01:00
Christian
26f9cd7f68
Coding style: Prefix for const variables.
2015-01-09 21:36:25 +01:00
Christian
c5c8933192
Contracts are Addresses.
2015-01-09 18:31:36 +01:00
Christian
501ad14ed1
Correct type conversions.
2015-01-09 18:23:10 +01:00
Christian
fe16922087
Padding for ABI types.
2015-01-09 18:20:51 +01:00
Gav Wood
396f638ce1
Merge pull request #765 from chriseth/sol_someLogFixes
...
Some changes to the log functions.
2015-01-09 16:28:01 +01:00
Christian
be623273f3
Arbitrary precision integer constants.
2015-01-09 15:16:09 +01:00
Christian
c9102010bf
Some changes to the log functions.
2015-01-09 15:00:47 +01:00
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