Commit Graph

876 Commits

Author SHA1 Message Date
Lefteris Karapetsas
819d9fd5a6 Detect if non-existant parameter is documented with natspec 2015-03-30 15:14:59 +02:00
Lefteris Karapetsas
85bb056993 Abstract contract and inheritance
- Checking the linearized base contracts for abstract functions and
  handle their existence appropriately

- If a contract is abstract it can't be created with new

- An abstract contract is not compiled (no backend code is generated)

- Of course tests
2015-03-27 15:15:34 +01:00
chriseth
f728a336b1 Merge pull request #1338 from LianaHus/sol_ConvertContractTypesToAddress
Solidity: Convert contract types to addresses
2015-03-27 15:14:40 +01:00
Liana Husikyan
a3d829d074 added externalTypes function to functionType
removed flag for externalSigniture
2015-03-27 13:28:32 +01:00
Lefteris Karapetsas
a7e78fadf5 Moving contract fullyImplemented check to TypeRequirements 2015-03-27 11:53:17 +01:00
Liana Husikyan
b1ca27ea93 two more tests
style fixes
2015-03-26 14:11:24 +01:00
Gav Wood
92dadf3825 Merge branch 'develop' of github.com:ethereum/cpp-ethereum into develop 2015-03-25 18:39:47 +01:00
Gav Wood
6b50386763 Clean up some code redundancy.
Merge branch 'develop' of github.com:ethereum/cpp-ethereum into develop
2015-03-25 18:33:20 +01:00
Lefteris Karapetsas
9d6d7ccab8 Parsing of not fully implemented functions
- Adding the possibility of omitting a function body by simply ending a
  function definition with a semicolon

- Such a function is marked as not fully implemented and any contract
  that contains such a function is considered a not fully implemented contract
2015-03-25 14:26:05 +01:00
Liana Husikyan
8f747aab0f tests for external types 2015-03-25 14:20:13 +01:00
Liana Husikyan
9986b072ad renamed externalTypes to externalSignature 2015-03-25 13:59:46 +01:00
Liana Husikyan
701b34fbeb renamed getCanonicalSignature
added externalTypes instead of types for interface functions
added simple test

todo
testing
2015-03-25 13:59:46 +01:00
Liana Husikyan
e3ea90e997 added check for events and stat variables 2015-03-25 13:59:39 +01:00
Liana Husikyan
011d95e7e3 - added externalType to BooleanType.
- fixed the error message
2015-03-25 13:59:39 +01:00
Liana Husikyan
60204d593e added check for valid externalType to checkTypeRequirements for function 2015-03-25 13:59:39 +01:00
Liana Husikyan
607f397234 added externalType for ArrayType 2015-03-25 13:59:39 +01:00
Liana Husikyan
a69d59ae71 added getABIType() to types 2015-03-25 13:59:39 +01:00
Lefteris Karapetsas
ee1de5d02e Adding some more reserved keywords 2015-03-24 19:04:41 +01:00
Lefteris Karapetsas
677cefc0e3 Adding keywords for future use section in Token.h 2015-03-23 17:27:27 +01:00
Lefteris Karapetsas
139dd3b1d2 Removing string as a token.
- The string keyword is reserved for future use but should not be a
  token in the code since it can cause trigger internal compiler
  assertions.

- fixes #1384
2015-03-23 12:07:57 +01:00
chriseth
8f8e407306 Merge pull request #1341 from chriseth/sol_packedStorage
Packed storage for arrays.
2015-03-20 12:54:36 +01:00
chriseth
dba9dd1169 Byte size checked for zero; coding style. 2015-03-19 18:15:16 +01:00
chriseth
9e29d9797c Merge pull request #1344 from LefterisJP/sol_BytesToIntConv
Explicit conversion between bytes and int of any size
2015-03-19 13:05:28 +01:00
Gav Wood
212bff1643 Merge pull request #1178 from imapp-pl/pr/evmjit-v0.3
EVM JIT 0.3 (PoC-9)
2015-03-18 19:39:37 +01:00
chriseth
d1f9e14476 Exception-throwing assert. 2015-03-18 15:32:17 +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
Liana Husikyan
ed757ba5bf added test to check anonymous events with user specified topics
added initial value for m_anonymous of EventDefinition
2015-03-17 14:25:23 +01:00
Liana Husikyan
46cbb5525c added anonymous to ABI 2015-03-17 14:25:23 +01:00
Liana Husikyan
5a5577f5a5 changed the position of 'anonymous' keyword: event <name>() anonymous.
- style changes
2015-03-17 14:25:13 +01:00
Liana Husikyan
2986ecbd75 Added anonymous flag to event.
added test
2015-03-17 10:51:03 +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
chriseth
c34e1da6db Merge pull request #1325 from LefterisJP/sol_MsgSig
Adding msg.sig Solidity Magic type
2015-03-16 17:30:18 +01:00
Lefteris Karapetsas
bb5364dd66 Additional test for msg.sig 2015-03-16 16:42:56 +01:00
Liana Husikyan
27a89a36e1 restyleing
removed unnecessary check
2015-03-16 14:45:11 +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
Paweł Bylica
0be8fa49f0 Merge remote-tracking branch 'upstream/develop' into evmjit 2015-03-16 12:01:47 +01:00
Liana Husikyan
ebb4d5e298 - added more tests to check constant specifier implementation
- deny use of const for local variables
- deny unitialized const variables
- only int, fixed strings, and enums can be declaired as const
2015-03-16 10:46:46 +01:00
Liana Husikyan
7d6357ae53 - added isPartOfExternalInterface to Declaration
- changed position for the constant specifier. now it goes after type: <type> <constant> <name> = <value>
- removed tests for constant functions, checkings for constant function doesn't belong to this story
2015-03-16 10:46:46 +01:00
Liana Husikyan
67cd3a7180 added parsing for constant variables 2015-03-16 10:46:46 +01:00
chriseth
a16677dcfb Fix gas for builtin.
Fixes #1300
2015-03-13 17:31: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
Paweł Bylica
8181792a6a Merge remote-tracking branch 'upstream/develop' into evmjit 2015-03-12 13:39:40 +01:00