Commit Graph

219 Commits

Author SHA1 Message Date
Liana Husikyan
011d95e7e3 - added externalType to BooleanType.
- fixed the error message
2015-03-25 13:59:39 +01:00
Liana Husikyan
607f397234 added externalType for ArrayType 2015-03-25 13:59:39 +01:00
chriseth
8f8e407306 Merge pull request #1341 from chriseth/sol_packedStorage
Packed storage for arrays.
2015-03-20 12:54:36 +01:00
Lefteris Karapetsas
8e0f4c7db9 Explicit conversion between bytes and int of any size
- Allowing aforementioned conversion and adding tests for it
2015-03-18 10:57:24 +01:00
chriseth
90c519d08f Disallowed special case of bytes0 arrays. 2015-03-17 18:34:57 +01:00
chriseth
2cde4f3404 Packing for arrays. 2015-03-17 18:13:28 +01:00
chriseth
895c08342c Provide access to storage offsets via contract type. 2015-03-17 18:13:27 +01:00
chriseth
fc0bdc3d81 Fix static variables. 2015-03-16 19:28:31 +01:00
chriseth
c284408e7a Add move assignment operator manually. 2015-03-16 19:00:45 +01:00
chriseth
9b2a255c1b Move memberlist to avoid unique_ptr copy. 2015-03-16 18:09:56 +01:00
chriseth
02595abf6a Fetch and store packed values. 2015-03-16 18:07:14 +01:00
chriseth
7f64584b7f Compute packing offsets. 2015-03-16 18:07:14 +01:00
chriseth
fff3f98f58 Enlarge storage references to two stack slots. 2015-03-16 18:07:14 +01:00
Lefteris Karapetsas
d7ffba1504 Adding msg.sig Solidity Magic type
msg.sig will return a bytes4 with the function signature located in CALLDATALOAD
2015-03-16 12:59:56 +01:00
Lefteris Karapetsas
039b133c18 Small FixedBytes type fixes
- Integer Constant is explicitly convertible to FixedBytes, so using
  that in the tests
2015-03-12 17:31:39 +01:00
Lefteris Karapetsas
a62d3fa240 Some fixes on Types.cpp for FixedBytesType 2015-03-12 13:39:12 +01:00
Lefteris Karapetsas
c81b498953 Style fixes in Types[cpp/h] 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas
b8cede371d byte is now an alias for byte1 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas
b2fadf6b93 Conversion changes after renaming Hash/String to Bytes.
- Almost all end to end tests pass. Still needs a little bit of work
2015-03-12 12:53:00 +01:00
Lefteris Karapetsas
73ce24ae75 Most EndToEndTests are now compliant with the Bytes renaming 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas
2bddebc3d5 Bytes Tokens properly named and NameAndTypeResolution tests work 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas
7d7f37bd5e Replacing StaticStringType with FixedBytesType 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas
bede2f2ad7 More changes towards getting rid of HashXX 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas
36fe571576 start of cleanup 2015-03-12 12:53:00 +01:00
chriseth
6fea41abd8 Merge pull request #1222 from chriseth/sol_copyFromCalldata
Copying between calldata and storage.
2015-03-06 15:42:49 +01:00
chriseth
d8b156ecbb Copying between calldata and storage. 2015-03-06 13:17:52 +01:00
Gav Wood
1c9a048a47 Params & JSON file. 2015-03-06 12:46:23 +01:00
Gav Wood
9aea119e54 Add date/time language to solidity. 2015-03-06 12:46:23 +01:00
Christian
7112696993 Fixed arrays in ABI. 2015-03-03 12:58:48 +01:00
chriseth
32e210ecca Merge pull request #1146 from LefterisJP/sol_fixBaseClassAccessors
Sol fix accessing public variable of base class
2015-03-02 12:59:12 +01:00
Lefteris Karapetsas
4f13859f8c Using normal pointer in getInheritableMembers() 2015-03-02 12:08:32 +01:00
Lefteris Karapetsas
7db2b6fbdb VisibleInDerivedContracts() is now virtual()
- Plus an extra test for internal visibility in a base class variable
2015-03-02 11:51:13 +01:00
Lefteris Karapetsas
47177542f5 Add structs to inheritable members 2015-03-02 11:51:13 +01:00
Lefteris Karapetsas
5e4665b84d Adding inheritable members to a contract 2015-03-02 11:51:13 +01:00
Christian
2ea8f3a75a Type checks for array assignment. 2015-02-27 22:52:19 +01:00
Christian
754c804d19 Implementation of index access. 2015-02-23 18:25:49 +01:00
Gav Wood
44db8c26db Merge pull request #1100 from chriseth/sol_arrays
Parsing support for arrays.
2015-02-23 15:19:07 +01:00
Christian
e7528c6af8 Stack height checks and fix. 2015-02-22 19:16:40 +01:00
Christian
5e32083179 Parsing of array types and basic implementation. 2015-02-21 15:10:01 +01:00
Liana Husikyan
52050201e3 Inline member initialisation
renamed VariableDefinition class to VariableDeclarationStatement
added tests
2015-02-20 22:50:34 +01:00
Lefteris Karapetsas
de574487e4 getMemberTypes() respects source order 2015-02-17 22:33:44 +01:00
Gav Wood
1e2d4b5c00 Merge pull request #1072 from chriseth/sol_external
bytes ABI type and external visibility specifier
2015-02-17 19:38:35 +01:00
Lefteris Karapetsas
c7e9984574 Initialize FunctionType's m_isConstant attribute in the Event Constructor 2015-02-17 09:24:58 +01:00
Christian
a33fa270f6 Calldata byte arrays stored on the stack. 2015-02-16 19:35:53 +01:00
Christian
3e29ec2cb2 "external" visibility specifier. 2015-02-16 19:24:07 +01:00
Lefteris Karapetsas
68cf1bf37d Small improvement in TypeType::getMembers() 2015-02-13 23:28:19 +01:00
Lefteris Karapetsas
9a879202e1 Explicit conversion from int to Enum 2015-02-13 23:16:15 +01:00
Lefteris Karapetsas
fbd39323af Moving getMemberValue from EnumDefinition to EnumType 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
b20ce4451b Typo in EnumValue 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
52808f67fa EnumDeclaration -> EnumValue 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
b1b6b63d6b Indentation fixes 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
a989f6f97a Enums NameAndTypeResolution - WIP
- Also adding an EndToEnd enum test
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
1c3c1f1e5d Copying structs. 2015-02-12 20:19:49 +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
Lu Guanqun
11b4e7f7d8 small fixes per chris's comments 2015-02-10 23:39:13 +08:00
Lu Guanqun
d307b0914c add exponent operator
https://www.pivotaltracker.com/n/projects/1189488/stories/83746404
2015-02-10 23:39:13 +08: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
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
Christian
724ee76900 Accessors for structs. 2015-02-06 20:04:02 +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
Lefteris Karapetsas
c966ff246f More style changes in enums 2015-02-05 23:03:24 +01:00
Lefteris Karapetsas
305f54b23f Minor Style fixes 2015-02-05 22:38:07 +01:00
Lefteris Karapetsas
eaadc71b4c Tests and fixes for ether subdenominations 2015-02-05 15:41:13 +01:00
Lefteris Karapetsas
dca5f7b57b Adding ether subdenominations after constan literals 2015-02-04 17:52:28 +01:00
Gav Wood
7050893bc1 Minor typo. 2015-02-03 08:48:11 -08:00
Lefteris Karapetsas
8cd3d4b4b7 Accessors for multiple mappings implemented 2015-02-02 17:52:50 +01:00
Lefteris Karapetsas
ec7a9bf919 Adding mapping treatment to FunctionType
Plus a TypeResolution test for it
2015-02-01 00:20:35 +01:00
Gav Wood
8e84dc27a7 Merge branch 'develop' of github.com:ethereum/cpp-ethereum into develop
Conflicts:
	test/SolidityEndToEndTest.cpp
	test/SolidityNameAndTypeResolution.cpp
	test/SolidityParser.cpp
2015-01-29 16:05:17 -08:00
Christian
cfb55901cc Fallback functions. 2015-01-29 22:50:20 +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
04190798eb Minor fixes plus a rebase merge fix 2015-01-29 18:21:51 +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
c6fcb8555f Simplify FunctionType's Vardecl constructor 2015-01-28 21:46:16 +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
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
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
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
a9ed77c22a Merge branch 'develop' of github.com:ethereum/cpp-ethereum into develop
Conflicts:
	libsolidity/Types.h
2015-01-15 14:03:35 -05:00