Commit Graph
100 Commits
Author SHA1 Message Date
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
Christian c68d1c62e0 Swap literals to the end if optimizing. 2014-12-11 17:48:44 +01:00
chriseth 1db9bc1651 Whitespace change. 2014-12-11 17:04:26 +01:00
Christian 568babfb5f Some (few) tests for the optimizer. 2014-12-11 16:37:17 +01:00
Christian 6dcb545cc8 Support empty strings. 2014-12-11 14:19:11 +01:00
chriseth 1d17d34979 Merge pull request #586 from LefterisJP/natspec_contract_tags
Natspec title and author tag.
2014-12-10 19:23:57 +01:00
Christian 1a76615a87 Tests for empty and too long strings. 2014-12-10 17:15:10 +01:00
Christian bf8ea705b8 String types. 2014-12-10 16:30:20 +01:00
chriseth 93722eab8a Merge pull request #582 from chriseth/sol_varSizeVariables
Variably sized elements on the stack
2014-12-10 14:49:12 +01:00
Christian 125e39dd01 Variable-size stack elements for expression compiler. 2014-12-08 22:26:22 +01:00
Christian 7be59036e5 Register variably-sized variables on stack. 2014-12-08 16:56:41 +01:00
Christian a78aff544c Calling functions of other contracts. 2014-12-08 12:39:29 +01:00
Christian 3bc5e142dd Merge remote-tracking branch 'ethereum/develop' into sol_import
Conflicts:
	libsolidity/CompilerStack.cpp
	libsolidity/CompilerStack.h
	libsolidity/InterfaceHandler.cpp
	libsolidity/InterfaceHandler.h
	solc/main.cpp
	test/solidityJSONInterfaceTest.cpp
	test/solidityNatspecJSON.cpp
2014-12-08 12:07:17 +01:00
Christian 8635399597 Comments and braces. 2014-12-07 09:46:21 +01:00
Christian 8e96de4f9c Merge remote-tracking branch 'ethereum/develop' into sol_import
Conflicts:
	libsolidity/CompilerStack.cpp
	libsolidity/CompilerStack.h
	solc/main.cpp
2014-12-05 15:27:07 +01:00
Christian 69da6df77d Improved external interface for multi-source and multi-contract compilation. 2014-12-03 18:52:28 +01:00
Christian 445ba10d3b Multi-source and multi-contract compiler. 2014-12-03 18:51:59 +01:00
Christian 5b6a211b8a Import directive. 2014-12-03 10:44:46 +01:00
Christian 5cecf5699b Disallow assignments to structs and mappings. 2014-12-01 17:33:21 +01:00
Christian 0cd1e76553 Global functions. 2014-11-26 15:42:54 +01:00
Christian aabb54d525 Sending ether. 2014-11-26 15:35:25 +01:00
Christian aa0fa2209a More general function types and references. 2014-11-26 15:35:25 +01:00
Christian 6182dae87b Access to blockchain data. 2014-11-24 13:24:03 +01:00
Christian 59cd984f05 Another test for struct references. 2014-11-23 21:28:45 +01:00
Christian 6cb0d1baa0 Magic variables. 2014-11-23 21:28:45 +01:00
Christian c5a012cdca Contracts as types and framework for special global variables. 2014-11-23 21:28:44 +01:00
chriseth 596e7030f7 Merge pull request #524 from LefterisJP/sol_parse_comments
Solidity scanner taking documentation comments into account
2014-11-21 15:35:17 +01:00
Christian 4f2008e8d8 Special handling for constructor. 2014-11-19 13:19:43 +01:00
chriseth 09be38b0c1 Merge pull request #515 from chriseth/sol_structs
Mappings and structs for Solidity
2014-11-17 22:41:23 +01:00
Christian 558d0999c8 Struct types. 2014-11-14 14:08:14 +01:00
Christian 9f64159620 Mapping types. 2014-11-14 14:08:14 +01:00
Christian 1b405a6957 Provide interface for calls in JSON and some other formatting changes. 2014-11-11 17:41:48 +01:00
Christian 381bec8284 Working template magic for void function. 2014-11-11 11:41:49 +01:00
Christian 9d8fe1a091 Merge remote-tracking branch 'ethereum/develop' into sol_jumptable
Conflicts:
	libsolidity/Compiler.cpp
2014-11-11 10:39:59 +01:00
Christian f0dd0d797e Allow void return type. 2014-11-10 18:08:26 +01:00
Christian 315223fc41 Tests on ranges of input data. 2014-11-10 15:38:06 +01:00
Christian 3fbe72cc47 Merge remote-tracking branch 'ethereum/develop' into sol_optimizer
Conflicts:
	libevmcore/Instruction.cpp
2014-11-10 13:30:59 +01:00