Commit Graph

195 Commits

Author SHA1 Message Date
Christian
29c614ebaf Removed code duplication. 2015-02-25 15:55:42 +01:00
Christian
cc31a7ab32 LValue refactoring. 2015-02-25 15:41:19 +01:00
Lefteris Karapetsas
71b0d8107a LocationSetter in some extra places during Compiling
- Also adjusted the test, and fixed its error reporting
2015-02-25 10:40:14 +01:00
Lefteris Karapetsas
54121a0d78 Styling changes for SourceLocation and friends 2015-02-25 09:53:28 +01:00
Lefteris Karapetsas
1891020ffb Moving Source Location libdevcore
- Big plus is we now remove the useless header libsolibity/BaseTypes.h
2015-02-24 17:16:22 +01:00
Lefteris Karapetsas
38cb123a82 Adding location information to assembly items
- In order to facilitate this addition we also now have a ScopeGuard
  object used in the Compiler to set the currently visited node.
2015-02-24 17:16:22 +01:00
Christian
820ed2dfe1 Out-of-bounds checking. 2015-02-23 18:28:33 +01:00
Christian
5d2323c914 Index and length access for dynamic arrays. 2015-02-23 18:28:30 +01:00
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