Commit Graph

167 Commits

Author SHA1 Message Date
Lu Guanqun
4033615464 make it work for var x = f; 2015-03-08 09:50:54 -05:00
Lu Guanqun
3b9b71e0ae implement overload resolution 2015-03-08 09:50:06 -05:00
chriseth
8de5ff5c25 Update Types.h
Typo
2015-03-06 15:39:21 +01:00
chriseth
d8b156ecbb Copying between calldata and storage. 2015-03-06 13:17:52 +01:00
jhuntley
a4d772315d Consolidating macro resolution to one header file as per project owner request. Added inline comments covering reasons for undef of macros. Resolves issues with problem #832:
Adding UndefWindowsMacros.h to handle V8 CPP conflicts in Windows #832
2015-03-04 11:17:46 -05:00
jhuntley
055f45f11b Update to resolve "#error : The macro "DELETE" from windows.h conflicts with this file." on windows vs build. 2015-03-04 11:17:46 -05:00
jhuntley
d2a5153722 Adding comments for #undef per project owner request. 2015-03-04 11:17:46 -05:00
jhuntley
f046be3cc1 Updates for mingw support. #undef conflicting defines on windows. 2015-03-04 11:17:45 -05:00
Christian
7112696993 Fixed arrays in ABI. 2015-03-03 12:58:48 +01:00
Christian
754c804d19 Implementation of index access. 2015-02-23 18:25:49 +01:00
Christian
39c471f332 Comments and warnings. 2015-02-23 14:55:06 +01:00
Christian
c8b03c51a0 Renames and comments. 2015-02-23 14:38:44 +01:00
Christian
5e32083179 Parsing of array types and basic implementation. 2015-02-21 15:10:01 +01:00
Gav Wood
8524051166 cppcheck fixes. 2015-02-20 21:00:13 +01:00
Lefteris Karapetsas
de574487e4 getMemberTypes() respects source order 2015-02-17 22:33:44 +01:00
Christian
a33fa270f6 Calldata byte arrays stored on the stack. 2015-02-16 19:35:53 +01:00
Christian
971cc9b5b9 Unpacking of dynamically sized arguments. 2015-02-16 19:25:27 +01:00
Lefteris Karapetsas
fbd39323af Moving getMemberValue from EnumDefinition to EnumType 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
b2575b4bcb Addressing issues with Enums in Solidity 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
012e32942d Enum type conversion and member value access.
- Added tests for the type conversion part.

- Enum member value access still needs some work
2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
e7f40863ef Correcting and testing enum member access 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
c3a9ae0b06 Introducing EnumType and some Parser tests 2015-02-13 23:16:14 +01:00
Christian
b836d952b2 length member for byte arrays. 2015-02-12 15:44:35 +01:00
Christian
5e40b79426 Bytes type cleanup. 2015-02-12 15:01:38 +01:00
Christian
adb434569c Dynamic copy to memory. 2015-02-12 11:33:10 +01:00
Christian
79aec95228 Simple copy of bytes to storage. 2015-02-12 11:33:09 +01:00
Christian
20b4c69009 Tests and some code for msg.data. 2015-02-12 11:33:09 +01:00
Christian
1369337808 Introduced byte array type. 2015-02-12 11:33:09 +01:00
Christian
cf4144b702 Arbitrary parameters for call() and all hash functions. 2015-02-10 10:59:23 +01:00
chriseth
bb6f181d7d Merge pull request #986 from LefterisJP/sol_StyleFix
Solidity enum style fix
2015-02-10 10:54:28 +01:00
Lefteris Karapetsas
82c5fb3245 Addressing issues in Enum style fix 2015-02-10 09:52:19 +01:00
Lefteris Karapetsas
3ef75bae6b Camelcasing enums in Types.h 2015-02-09 14:08:48 +01:00
Lefteris Karapetsas
6f621f8486 Changing Solidity Code to use CamelCase enum values 2015-02-09 14:00:12 +01:00
Christian
106cda74f8 Small cleanup. 2015-02-09 00:49:35 +01:00
chriseth
a66db516fb Merge pull request #937 from LefterisJP/sol_MultiArgSHA3
Solidity multiple arg sha3
2015-02-09 00:14:13 +01:00
Lefteris Karapetsas
afe1d9a592 Small fixes in Types and ExpressionCompiler 2015-02-06 20:57:04 +01:00
Lefteris Karapetsas
293344b473 SHA3 of string literals now should work 2015-02-06 16:27:41 +01:00
Lefteris Karapetsas
2c9ff4747d getRealType() introduced 2015-02-06 13:42:51 +01:00
Christian
82edc1ca6d Some fixes for the ether units parser. 2015-02-06 13:38:29 +01:00
Christian
4a6ed84386 Parsing of events. 2015-01-29 21:26:11 +01:00
Lefteris Karapetsas
3701543ae8 FunctionType now returns const ref for Declaration 2015-01-29 19:18:50 +01:00
Lefteris Karapetsas
dcd47be6ca Removing Function and Param Description
- Removing FunctionDescription and ParamDescription. All the data should
  now be in the FunctionType

- Plus using the FunctionTypePointer alias in a few places
2015-01-29 17:12:17 +01:00
Lefteris Karapetsas
005100c486 Contract Interface Functions now return FunctionType
- Enchanced Function Type by declaration so that it can provide all the
  required information at each place interface functions are consumed

- Changed all places where interface functions was used.

- Simplified Mix's FunctionDefinition code
2015-01-29 17:11:13 +01:00
Christian
ae5a6a235c Super keyword. 2015-01-29 00:29:43 +01:00
Lefteris Karapetsas
3f5eb96584 Various small fixes for Sol Automatic Accessors 2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
5c7359aa09 State variable accessors code is now more organized
- FunctionDescription is the abstraction of what should describe a
  function. It can either be a VariableDeclaration of a
  FunctionDefinition.

- ParamDescription is what FunctionDescription uses to describe its
  parameters for outside use purposes with a pair of (name, type)
  strings

- Modified code around Solidity and especially interface handler to
  adapt to this change
2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
3cc0492301 Work in progress for state variable accessors
- Changed the code so that a generic declaration with the combination of
  a function type can be used wherer a function definition was used
  before

- Since using an std::pair everywhere is really tiring with this commit
  I am in the process of abstracting it into a function
2015-01-28 21:46:16 +01:00
Christian
282d4b8add Fix stack size of typetypes. 2015-01-28 18:19:01 +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
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