Commit Graph

168 Commits

Author SHA1 Message Date
Christian
941c77c8fa Type resolution for function modifiers. 2015-01-26 10:23:39 +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
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
Gav Wood
c77f1c4030 Missing comma. 2015-01-15 14:25:12 -05: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
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
Christian
d1e05ac416 Remove redundancy in FunctionType::getSizeOnStack. 2015-01-14 11:01:42 +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
arkpar
80eec8b308 fixed warnings for msvc build 2015-01-13 11:18:08 +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
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
c5c8933192 Contracts are Addresses. 2015-01-09 18:31:36 +01:00
Christian
fe16922087 Padding for ABI types. 2015-01-09 18:20:51 +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
chriseth
42d186fdfc Merge pull request #754 from LefterisJP/sol_abiFunctionHash
Calculation of ABI Function Identifier Hash
2015-01-09 11:22:59 +01:00
Gav Wood
ffce12b7ee Basic logging in Solidity (though no tests yet). 2015-01-09 00:22:06 +01:00
Lefteris Karapetsas
a7b661d3be merging develop 2015-01-08 17:43:38 +01:00
Lefteris Karapetsas
184ddca5a1 Compiler EVM generation now takes into account for the new function hash
identifier

- Changed tests to comply with the new function hash identifier
- Changed the function index offset to 4, and made it a constant for
  easy adjustment in the future
2015-01-08 17:18:31 +01:00
Gav Wood
9be5847472 VM skips push data when looking for JUMPDEST.
Warnings fixes.
2015-01-07 20:23:33 +01:00
Gav Wood
238aa0ee94 Warnings fixes.
Make Mix work with Qt 5.2
Minor other alterations.
2015-01-07 16:58:09 +01:00
Gav Wood
53e38b3ac9 Merge pull request #738 from LefterisJP/sol_abiFunctionHash
Canonical Function signature creation in solidity
2015-01-07 16:32:13 +01:00
Lefteris Karapetsas
24d7bdd3a9 FunctionType also gets CanonicalSignature
- also using iterators in the signature creation function
2015-01-07 02:27:05 +01:00
Christian
7dc7827907 Possibility for binary operators to yield types different from their operands'. 2014-12-19 00:12:04 +01:00
Christian
2f64c56ef3 Create contracts. 2014-12-15 13:05:18 +01:00
Christian
c0bba438b1 Calls to bare contracts. 2014-12-12 17:26:19 +01:00
chriseth
3860814fa0 Merge pull request #584 from chriseth/sol_strings
String types.
2014-12-12 17:14:43 +01:00
Marek Kotewicz
6fcdfdc353 removed explicit 2014-12-11 14:12:49 +01:00
Marek Kotewicz
5cd7c1fc9a user-provided default constructor 2014-12-11 12:31:14 +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
130ff85e85 String types. 2014-12-10 16:30:20 +01:00
Christian
a15b03e991 Some more consts. 2014-12-08 13:29:14 +01:00
Christian
13640d7db8 Clear separation between ASTVisitor and ASTConstVisitor and more const specifiers. 2014-12-08 12:53:56 +01:00
Christian
57e6827cb5 Calling functions of other contracts. 2014-12-08 12:39:29 +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
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
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
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
de493c673f Detect integer length from literals and remove "std::". 2014-11-06 02:22:24 +01:00
Christian
c1f7a1665f Converted all asserts to exceptions. 2014-11-05 15:01:24 +01:00
Christian
25c0e08bdf Merge remote-tracking branch 'ethereum/develop' into sol_contractCompiler
Conflicts:
	libsolidity/AST.cpp
	libsolidity/AST.h
	libsolidity/Compiler.cpp
	libsolidity/Compiler.h
	libsolidity/NameAndTypeResolver.h
	libsolidity/Types.cpp
	solc/main.cpp
	test/solidityCompiler.cpp
2014-10-31 17:20:27 +01:00
Christian
cb9cb48dc7 Function selector and variable (un)packing. 2014-10-30 21:21:25 +01:00
Christian
7f19f3d133 Contract compiler and also add ExpressionStatement to AST.
ExpressionStatement functions as glue between Statements and Expressions.

This way it is possible to detect when the border between statements and
expressions is crossed while walking the AST. Note that ExpressionStatement is
not the only border, almost every statement can contains expressions.
2014-10-30 01:25:42 +01:00
Christian
933fbd7d60 Asterisk-syntax for doxygen class documentation. 2014-10-28 16:51:26 +01:00
Christian
58be273506 Replace BOOST_ASSERT by assert. 2014-10-24 19:40:47 +02:00
Christian
b2f12991db Some documentation. 2014-10-24 19:38:48 +02:00
Christian
59b5e950f4 Expression compiler. 2014-10-24 19:38:13 +02:00
Christian
a09e4c559d Type information for AST printer. 2014-10-23 16:27:51 +02:00
Christian
be885dc3cf Pointer type cleanup: Use ASTPointer only for AST nodes and shared_ptr for type
pointer.
2014-10-20 16:23:49 +02:00
Christian
f0c334670d Coding style cleanup: const and vecptr. 2014-10-20 13:02:06 +02:00
Christian
a7f9815c0f Coding style and cleanup 2014-10-17 12:37:51 +02:00
Christian
8a506b505f Corrected coding style. 2014-10-16 14:08:54 +02:00
Christian
4ece1ba1d3 Remove unused parameters. 2014-10-15 18:50:15 +02:00
Christian
89b794f1dc Type system, not yet complete. 2014-10-15 18:40:19 +02:00