Commit Graph
100 Commits
Author SHA1 Message Date
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 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
Christian 254df50fea Multi-source and multi-contract compiler. 2014-12-03 18:51:59 +01:00
Christian 328387d6d0 Import directive. 2014-12-03 10:44:46 +01:00
Christian 9dadeea377 Remove std::. 2014-12-03 10:42:04 +01:00
Christian 7b54d957d8 Comments for the TOKEN_LIST usage. 2014-12-03 09:41:12 +01:00
chriseth 9cfccd1826 Merge pull request #554 from chriseth/sol_constantOptimizer
Solidity optimizer for literal numbers
2014-12-03 08:30:48 +01:00
Christian 24f3a4a2ea Fix: Storage offset of first struct member should be zero. 2014-12-02 17:58:44 +01:00
Christian a2ad47441e Disallow assignments to structs and mappings. 2014-12-01 17:33:21 +01:00
Christian 9e91596c8d Save the scope for every declaration. 2014-12-01 17:33:21 +01:00
Christian b685735b3a Cleanup of scanner.
Removed redundancy of keyword definitions and removed some unused token
predicates.
2014-12-01 13:46:04 +01:00
chriseth 3fc2708d65 Merge pull request #545 from LefterisJP/sol_com_in_ast
Solidity function AST nodes get documentation attribute
2014-12-01 12:43:32 +01:00
Christian 3e32ce5d4f Minor changes to magic variables.
gas moves to "msg", ripemd160 returns hash160.
2014-11-27 18:24:59 +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
chriseth 5d75263ff1 Whitespace change. 2014-11-24 00:00:46 +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 735dbe6986 We only care about member types. 2014-11-23 21:04:39 +01:00
chriseth c7b933b4db 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 3ba9649dde Special handling for constructor. 2014-11-19 13:19:43 +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 8c6bf21c01 Provide interface for calls in JSON and some other formatting changes. 2014-11-11 17:41:48 +01:00
Christian d1789250b6 Merge remote-tracking branch 'ethereum/develop' into sol_jumptable
Conflicts:
	libsolidity/Compiler.cpp
2014-11-11 10:39:59 +01:00
Christian a0c72065fe Merge remote-tracking branch 'ethereum/develop' into sol_optimizer
Conflicts:
	libevmcore/Instruction.cpp
2014-11-10 13:30:59 +01:00
Christian 41b26e491b Replace function selector jump table by more resilient linear time check. 2014-11-10 13:13:53 +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 91f9a7b7c4 Do not return after throw. 2014-11-10 00:42:12 +01:00
Christian 64a4d77c8b State variables. 2014-11-07 20:02:57 +01:00
Christian 4c8e670530 Bugfix: Bit width of address types. 2014-11-07 17:34:50 +01:00
Christian dc8fb45e1f Merge remote-tracking branch 'ethereum/develop' into sol_optimizer 2014-11-07 02:13:31 +01:00
Christian af0aa0f898 Evaluate expressions in convenient order. 2014-11-07 02:07:59 +01:00
Christian b66e58d6c9 Prevent optimizer from changing certain parts of the code. 2014-11-06 22:55:42 +01:00
Christian 225fc8e1b3 Option to activate the optimizer for solidity. 2014-11-06 22:55:42 +01:00
chriseth d9decb8f1d Removed superfluous braces. 2014-11-06 22:11:21 +01:00
Christian 6c2e3ffd76 Merge remote-tracking branch 'ethereum/develop' into sol_typePromotion 2014-11-06 22:07:02 +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 04726a4ee4 Merge remote-tracking branch 'ethereum/develop' into sol_optimizer 2014-11-06 15:34:35 +01:00
Christian 8a0fff83f1 Moved instructions and assembly to new libevmcore. 2014-11-06 14:50:18 +01:00
Christian d1df8b810f Ignore break and continue outside of loops. 2014-11-06 02:46:48 +01:00