Commit Graph
100 Commits
Author SHA1 Message Date
Christian 60ade5b33f LValue refactoring. 2015-02-25 15:41:19 +01:00
chriseth 50ab725701 Merge pull request #1132 from LefterisJP/sol_DebuggingInformation
Location information in AssemblyItems, filled by Solidity.
2015-02-25 15:24:16 +01:00
chriseth a24e0b5b15 Merge pull request #1119 from chriseth/sol_arraysIndexAccess
Index access for arrays.
2015-02-24 12:22:00 +01:00
Christian ed08c68664 Out-of-bounds checking. 2015-02-23 18:28:33 +01:00
Christian a5eb2a3990 Index and length access for dynamic arrays. 2015-02-23 18:28:30 +01:00
Christian ae9013f367 Implementation of index access. 2015-02-23 18:25:49 +01:00
Christian c8d4ab1ca0 Replaced "inheritable" by "internal". 2015-02-22 19:37:54 +01:00
Christian d85bfe1452 Stack height checks and fix. 2015-02-22 19:16:40 +01:00
Christian 9798d700dd Allow conversion to dynamic arrays and update grammar. 2015-02-21 18:25:08 +01:00
Christian c8cec8d0b3 Parsing of array types and basic implementation. 2015-02-21 15:10:01 +01:00
Christian ba0a8a2bfc Implemented account proxy queues. 2015-02-20 18:48:45 +01:00
chriseth 3e79e23841 Merge pull request #1092 from LefterisJP/sol_BugOverrideFunctionByteArrayParam
Bugfix for functions override
2015-02-20 10:16:31 +01:00
Christian a26d72472d Rename "protected" to "inheritable". 2015-02-18 13:35:12 +01:00
Christian 218ee29a05 Fixes for assigning and deleting structs containing byte arrays. 2015-02-18 00:15:32 +01:00
Christian 9d0bb3666e Calldata byte arrays stored on the stack. 2015-02-16 19:35:53 +01:00
Christian 5f043127ae loadFromMemoryDynamic 2015-02-16 19:25:27 +01:00
Christian 8290b6305b No write access to parameters of external functions. 2015-02-16 19:25:24 +01:00
Christian 7dd200d140 "external" visibility specifier. 2015-02-16 19:24:07 +01:00
Christian 600b38224e Forced cleanup for conversion to enum. 2015-02-14 13:35:57 +01:00
Christian 31425a1fc0 Some changes to enums. 2015-02-14 13:35:57 +01:00
Christian 5d2223b934 Copying calldata directly to memory. 2015-02-13 01:29:43 +01:00
Christian 48f6bda44b Copying structs. 2015-02-12 20:19:49 +01:00
Christian c90adbf593 length member for byte arrays. 2015-02-12 15:44:35 +01:00
Christian 2472e2b998 Test for bytes in mapping. 2015-02-12 15:18:50 +01:00
Christian 6bbba22690 Another try in fixing windows build. 2015-02-12 11:54:44 +01:00
Christian d089703254 Moved copy code to CompilerUtils. 2015-02-12 11:33:10 +01:00
Christian a5449d9b3e Dynamic copy to memory. 2015-02-12 11:33:10 +01:00
Christian 6e0ade681d Simple copy of bytes to storage. 2015-02-12 11:33:09 +01:00
Christian 8787413a86 Tests and some code for msg.data. 2015-02-12 11:33:09 +01:00
Christian d37f6cfb9f Some windows fixes. 2015-02-11 20:20:37 +01:00
Christian 7dc5e2a1a0 Arbitrary parameters for call() and all hash functions. 2015-02-10 10:59:23 +01:00
chriseth 8f9511c6ec Merge pull request #986 from LefterisJP/sol_StyleFix
Solidity enum style fix
2015-02-10 10:54:28 +01:00
chriseth 5d7098eba7 Merge pull request #937 from LefterisJP/sol_MultiArgSHA3
Solidity multiple arg sha3
2015-02-09 00:14:13 +01:00
Christian 99ff791593 Accessors for structs. 2015-02-06 20:04:02 +01:00
Christian 5bedf7f816 Some fixes for the ether units parser. 2015-02-06 13:38:29 +01:00
chriseth 366284d37c Merge pull request #963 from guanqun/disallow-void-var
Disallow implicit declaration of void type.
2015-02-06 12:08:24 +01:00
Christian a38b8890bd Visibility specifiers. 2015-02-02 17:24:09 +01:00
Christian 9838780d24 Make tests resistant to changes in order of declaration. 2015-02-01 00:47:54 +01:00
Christian bf5f476a83 Fix scoping of event arguments. 2015-01-31 16:50:33 +01:00
Christian b6de953430 Fix: No parameters for event. 2015-01-30 21:49:01 +01:00
Christian a55a99a2b0 Fallback functions. 2015-01-29 22:50:20 +01:00
Christian dbfd0c6019 Padding fixes. 2015-01-29 21:33:46 +01:00
Christian 99a8f58ee3 Code generation for events. 2015-01-29 21:33:46 +01:00
Christian a86a3a2452 Parsing of events. 2015-01-29 21:26:11 +01:00
chriseth d6e77f193a Merge pull request #889 from LefterisJP/sol_ExprCompilerEncapsulation
No longer exposing retrieveValueFromStorage() as a public function
2015-01-29 14:53:10 +01:00
chriseth 8c27fccae9 Merge pull request #887 from chriseth/sol_excludeStd
Exclude standard contracts by default.
2015-01-29 10:41:04 +01:00
Christian f054a4af7b Exclude standard contracts by default. 2015-01-29 01:29:43 +01:00
Christian f377960012 Remove test different_argument_numbers. 2015-01-29 01:03:28 +01:00
Christian c3cc5b737a Super keyword. 2015-01-29 00:29:43 +01:00
Christian 8c8def6b3c Fix stack size of typetypes. 2015-01-28 18:19:01 +01:00
Christian 77374a46ce Cleaner solution to provide standard sources. 2015-01-28 13:39:04 +01:00
chriseth 2f0e5af012 Merge pull request #857 from LianaHus/StringToHash
conversion for string to/from hash
2015-01-27 13:53:13 +01:00
Christian 2b2da431bc Call modifiers on constructor. 2015-01-26 10:23:39 +01:00
Christian c657fe9611 Modifier overrides and callgraph analysis. 2015-01-26 10:23:39 +01:00
Christian 67073948af Compilation of function modifiers. 2015-01-26 10:23:39 +01:00
Christian c86a46b84d Type resolution for function modifiers. 2015-01-26 10:23:39 +01:00
Christian dabf947679 Function modifier parsing. 2015-01-26 10:23:39 +01:00
Christian 682a45290c Reverse order of inheritance in base list. 2015-01-26 10:20:46 +01:00
Christian 3ff1c3ec30 Include virtual function overrides in constructor context. 2015-01-20 15:58:04 +01:00
Christian 609268ee62 Implicit conversion from derived to base. 2015-01-19 23:35:04 +01:00
Christian 961cb5b90c Call constructors of base classes. 2015-01-19 23:35:04 +01:00
Christian fe770957c6 Constructor arguments for base classes. 2015-01-19 23:35:04 +01:00
Christian 2e846c495b Explicit calls to base class function. 2015-01-19 23:35:04 +01:00
Christian f84d8f2b50 Inheritance in compiler. 2015-01-19 23:35:04 +01:00
Christian 70cda182f2 Magic variables are only needed durinng name and type resolution, not during compilation. 2015-01-19 23:35:04 +01:00
Christian 580d712a67 Check overrides and provide inherited public interface. 2015-01-19 23:35:04 +01:00
Christian fb41b96bb8 Import inherited members into the contract's scope. 2015-01-19 23:35:04 +01:00
Christian ffed2f37cb Inheritance parser. 2015-01-19 23:35:04 +01:00
chriseth ae9ec885d7 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
Christian 28d103e054 Re-enable MSVC warning 4307. 2015-01-15 11:47:00 +01:00
chriseth 25fc28422b Merge pull request #799 from chriseth/sol_gasAndValue
Specify gas and value for function calls and contract creation calls.
2015-01-14 18:22:16 +01:00
chriseth f8f1ec30f4 Merge pull request #801 from chriseth/sol_parseErrorForHashCollision
Check for hash collisions already before compiling.
2015-01-14 12:19:39 +01:00
Christian 212a0c5251 Check for hash collisions already before compiling. 2015-01-14 10:16:58 +01:00
Christian e1559df82e Specify value for contract creation. 2015-01-13 18:12:30 +01:00
Christian 522a7709e8 Modify gas and value for external function call. 2015-01-13 18:12:30 +01:00
Christian 5489ad8214 Coding style: Prefix for const variables. 2015-01-09 21:36:25 +01:00
Christian 4b11eea653 Contracts are Addresses. 2015-01-09 18:31:36 +01:00
Christian 3d896c74e6 Correct type conversions. 2015-01-09 18:23:10 +01:00
Christian 22ddeea102 Padding for ABI types. 2015-01-09 18:20:51 +01:00
Christian 65df7459db Arbitrary precision integer constants. 2015-01-09 15:16:09 +01:00
Christian 0652c29bb6 Some changes to the log functions. 2015-01-09 15:00:47 +01:00
Christian 2e93e7e676 Buildfix after semantical merge conflict. 2015-01-09 11:51:52 +01:00
chriseth 0504dc21e1 Merge pull request #754 from LefterisJP/sol_abiFunctionHash
Calculation of ABI Function Identifier Hash
2015-01-09 11:22:59 +01:00
Christian 35b95dfc3d Arbitrary precision integer constants. 2015-01-07 21:44:17 +01:00
Christian 646f99d34a Some changes to the optimizer. 2015-01-07 16:26:15 +01:00
chriseth 7d7fa86697 Merge pull request #664 from chriseth/sol_fix_compoundAssign
Bugfix: Additional swap for compound assignment.
2014-12-19 11:38:45 +01:00
chriseth 7795b2a892 Merge pull request #655 from chriseth/sol_precedence
Bit operators should bind more strongly than comparison operators.
2014-12-18 22:24:44 +01:00
Christian beb0606726 Bugfix: Additional swap for compound assignment. 2014-12-18 22:23:34 +01:00
Christian f96578196e Also test non-equality comparison operator. 2014-12-18 17:49:11 +01:00
Christian f35ee00ca2 Bit operators should bind more strongly than comparison operators. 2014-12-18 17:19:42 +01:00
chriseth 8e87e85937 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
Christian ff143b06c4 Add functions needed by constructor. 2014-12-16 23:49:45 +01:00
Christian 5e148ae4b6 Fix: Resolve function types of all contracts before checking types inside functions. 2014-12-16 23:49:02 +01:00
chriseth 350953e598 Merge pull request #621 from chriseth/sol_createContracts
Contract creation ("new" operator).
2014-12-16 19:47:36 +01:00
Christian a1f61684b0 Check that constructor does not have "returns" directive. 2014-12-15 16:09:50 +01:00
Christian 17c433e7c9 Packing and unpacking of constructor arguments. 2014-12-15 13:05:18 +01:00
Christian ab5347100b Create contracts. 2014-12-15 13:05:18 +01:00
Christian 7d8ec26141 Merge remote-tracking branch 'ethereum/develop' into sol_swapConstants
Conflicts:
	test/solidityOptimizerTest.cpp
2014-12-12 17:22:45 +01:00
chriseth 1705ea1927 Merge pull request #584 from chriseth/sol_strings
String types.
2014-12-12 17:14:43 +01:00
Christian 7ad8f94a7e Do not add at the end of the function selector "loop". 2014-12-11 17:48:44 +01:00