Commit Graph
100 Commits
Author SHA1 Message Date
Christian 34d07fc583 Some fixes in parser. 2015-01-28 11:28:22 +01:00
chriseth 18fc2ed2d6 Merge pull request #857 from LianaHus/StringToHash
conversion for string to/from hash
2015-01-27 13:53:13 +01:00
Christian f59cda76de Call modifiers on constructor. 2015-01-26 10:23:39 +01:00
Christian fd5899d038 Modifier overrides and callgraph analysis. 2015-01-26 10:23:39 +01:00
Christian 7ded95c776 Compilation of function modifiers. 2015-01-26 10:23:39 +01:00
Christian 941c77c8fa Type resolution for function modifiers. 2015-01-26 10:23:39 +01:00
Christian 19793dab09 Function modifier parsing. 2015-01-26 10:23:39 +01:00
Christian fe37aad4d5 Reverse order of inheritance in base list. 2015-01-26 10:20:46 +01:00
Christian 96db6cf905 Style changes. 2015-01-20 17:41:09 +01:00
Christian d854e56789 Include virtual function overrides in constructor context. 2015-01-20 15:58:04 +01:00
Christian 417f9c03d0 Implicit conversion from derived to base. 2015-01-19 23:35:04 +01:00
Christian ddf5e20d10 Call constructors of base classes. 2015-01-19 23:35:04 +01:00
Christian af92f98d86 Constructor arguments for base classes. 2015-01-19 23:35:04 +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
Christian e6c0a9b922 Magic variables are only needed durinng name and type resolution, not during compilation. 2015-01-19 23:35:04 +01:00
Christian 6633fbb603 Check overrides and provide inherited public interface. 2015-01-19 23:35:04 +01:00
Christian 914fcedd0e Import inherited members into the contract's scope. 2015-01-19 23:35:04 +01:00
Christian 4631e54e08 Inheritance parser. 2015-01-19 23:35:04 +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
chriseth 1a4280de35 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
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 d1e05ac416 Remove redundancy in FunctionType::getSizeOnStack. 2015-01-14 11:01:42 +01:00
Christian 22f0a4fde1 Use min gas for send(). 2015-01-14 10:46:44 +01:00
Christian 6e16107870 Check for hash collisions already before compiling. 2015-01-14 10:16:58 +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 a5d32e4894 Define strings = vector<string> 2015-01-12 13:29:16 +01:00
Christian 307a83e1de More convenient function type construction. 2015-01-12 12:46:52 +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
Christian a60d82d12c Remove const from make_shared to allow enable_shared_from_this to work on MacOS. 2015-01-09 15:16:09 +01:00
Christian be623273f3 Arbitrary precision integer constants. 2015-01-09 15:16:09 +01:00
Christian be1e89da42 Possibility for unary operators to change type. 2015-01-09 15:09:10 +01:00
Christian dcda38cf38 Use shared_from_this instead of manually supplying a shared_ptr to this. 2015-01-09 15:09:10 +01:00
Christian c9102010bf Some changes to the log functions. 2015-01-09 15:00:47 +01:00
Christian ffeb7daf11 Buildfix after semantical merge conflict. 2015-01-09 11:51:52 +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
Christian 852267e60f Remove const from make_shared to allow enable_shared_from_this to work on MacOS. 2015-01-07 21:44:17 +01:00
Christian 400d68b81d Arbitrary precision integer constants. 2015-01-07 21:44:17 +01:00
Christian d35842d65e Possibility for unary operators to change type. 2015-01-07 21:44:17 +01:00
Christian b6bad63d44 Use shared_from_this instead of manually supplying a shared_ptr to this. 2015-01-07 21:44:17 +01:00
Christian 9866caa625 Fix some warnings about uninitialized members. 2015-01-07 16:46:53 +01:00
Christian 52240ea88f Bugfix: Use parameter (not argument) type size on stack for function calls. 2015-01-07 16:22:42 +01:00
chriseth 95514d1d1b Merge pull request #667 from chriseth/sol_moreFlexibleBinaryOps
Possibility for binary operators to yield types different from their operands'.
2015-01-07 15:42:33 +01:00
Christian 8442974617 Clarified binary operator checking for integer types. 2014-12-28 13:35:58 +01:00
chriseth 8e3fbbad44 Merge pull request #664 from chriseth/sol_fix_compoundAssign
Bugfix: Additional swap for compound assignment.
2014-12-19 11:38:45 +01:00
Christian 7dc7827907 Possibility for binary operators to yield types different from their operands'. 2014-12-19 00:12:04 +01:00
chriseth 59835e9df1 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 8dbe13f840 Bugfix: Additional swap for compound assignment. 2014-12-18 22:23:34 +01:00
Christian b0037eddfd Bit operators should bind more strongly than comparison operators. 2014-12-18 17:19:42 +01:00
Christian f744c34ccc Possibility to replace source and obtain ContractDefinition by name. 2014-12-18 14:39:16 +01:00
Christian a98afc8eaa Return the last contract by default. 2014-12-17 18:37:06 +01:00
Christian 5a1a83ff42 Assertions that throw InternalCompilerErrors. 2014-12-17 16:24:56 +01:00
chriseth 3d98ec1323 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 1d1e612835 Whitespace change. 2014-12-17 15:15:04 +01:00
Christian b2e3771598 Add functions needed by constructor. 2014-12-16 23:49:45 +01:00
Christian 147e77b61f Fix: Resolve function types of all contracts before checking types inside functions. 2014-12-16 23:49:02 +01:00
Christian 5b802b685e Stylistic changes. 2014-12-16 16:15:34 +01:00
Christian c40725c22a Check that constructor does not have "returns" directive. 2014-12-15 16:09:50 +01:00
Christian 40f7c32e57 Packing and unpacking of constructor arguments. 2014-12-15 13:05:18 +01:00
Christian 2f64c56ef3 Create contracts. 2014-12-15 13:05:18 +01:00
Christian c858699605 Merge remote-tracking branch 'ethereum/develop' into sol_barecalls 2014-12-15 10:21:49 +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
chriseth 3860814fa0 Merge pull request #584 from chriseth/sol_strings
String types.
2014-12-12 17:14:43 +01:00
Christian e2547526ab Do not add at the end of the function selector "loop". 2014-12-11 17:48:44 +01:00
Christian 66d95abfd9 Swap literals to the end if optimizing. 2014-12-11 17:48:44 +01:00
Christian a735228079 Support empty strings. 2014-12-11 14:19:11 +01:00
chriseth c7c189cac0 Merge pull request #586 from LefterisJP/natspec_contract_tags
Natspec title and author tag.
2014-12-10 19:23:57 +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 da62403e79 Stylistic changes. 2014-12-10 14:33:30 +01:00
Christian 5edffeba19 Take variable stack size correctly into account for return value packer. 2014-12-10 12:51:26 +01:00
Christian 35d5b28fae Variable-size stack elements for expression compiler. 2014-12-08 22:26:22 +01:00
Christian b7d856ed5f Changes in compiler to support variably sized stack elements. 2014-12-08 19:02:40 +01:00
Christian 9b68033efc Cleanup before return. 2014-12-08 18:19:25 +01:00
Christian 9e120d4585 Consts in SourceReferenceFormatter. 2014-12-08 17:47:02 +01:00
Christian e8b18e95ce Move implementations of ::accept out of AST.cpp. 2014-12-08 17:47:02 +01:00
Christian cd5f495861 Register variably-sized variables on stack. 2014-12-08 16:56:41 +01:00
Christian a15b03e991 Some more consts. 2014-12-08 13:29:14 +01:00
Christian e0ed942519 Removed unused members. 2014-12-08 13:15:43 +01:00
Christian f636ac6fc4 More const cleanup. 2014-12-08 13:15:43 +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 41b8d7b7f1 Const functions for ASTVisitor and const ASTPrinter. 2014-12-08 12:49:03 +01:00
Christian 57e6827cb5 Calling functions of other contracts. 2014-12-08 12:39:29 +01:00
Christian 260a1529a7 Compile fix. 2014-12-08 12:19:37 +01:00
Christian 26f554d0d8 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 d25d98a260 Comments and braces. 2014-12-07 09:46:21 +01:00
Christian 25273778dc Renamed url to identifier and added some comments. 2014-12-05 15:35:05 +01:00
Christian d4a958e1fe 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 d2cf345483 Improved external interface for multi-source and multi-contract compilation. 2014-12-03 18:52:28 +01:00