Commit Graph

803 Commits

Author SHA1 Message Date
Lefteris Karapetsas
d997dc55d1 Allowing abstract contracts constructor to have no args
- If a constructor is part of an abstract contract we can omit its
  arguments

- IF a contract is abstract make sure to not create and/or request
  Assembly code about it since it's not compiled
2015-04-17 15:27:31 +02:00
chriseth
5622364a98 Fix for signed integers in storage. 2015-04-17 13:27:31 +02:00
chriseth
6e5de4832d Bugfixes concerning variable declarations.
Fixes #1637
2015-04-16 00:09:28 +02:00
chriseth
820239a73c Line break. 2015-04-15 18:06:41 +02:00
chriseth
5216a9bc67 Some cleanup concerning byte arrays. 2015-04-15 18:06:41 +02:00
chriseth
c7b428fdb1 Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions
Conflicts:
	libsolidity/Types.cpp
2015-04-15 17:43:23 +02:00
chriseth
0c69d5fdcd Fixed function overloads.
Added tests, disallowed non-calling usage of non-unique function
references.
2015-04-15 17:40:50 +02:00
Gav Wood
e1b20fb3a1 Merge pull request #1546 from chriseth/sol_assumeContractNotCreated
Retain more gas for the case that the called contract is not yet created
2015-04-08 22:45:13 +02:00
Liana Husikyan
6f38bfeb6c fixes
added more tests
2015-04-08 15:56:36 +02:00
Liana Husikyan
fb1cf35f3b added implementation to append code for State variable accessor
fixed tests
2015-04-08 15:56:35 +02:00
Liana Husikyan
df3ce3ad8f some more tests 2015-04-08 15:56:35 +02:00
Liana Husikyan
7eec25b6eb added createing FunctionType from ArrayType VariableDeclaration
added test
2015-04-08 15:56:35 +02:00
chriseth
45870ed956 SHA3 optimizations. 2015-04-07 17:21:09 +02:00
chriseth
158795e48f Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions 2015-04-07 17:08:49 +02:00
chriseth
da47c88411 Retain more gas for the case that the called contract is not yet created. 2015-04-07 14:03:57 +02:00
Liana Husikyan
8e19eea7d5 VariableDeclaration::checkTypeRequirements() refactoring 2015-04-01 15:57:39 +02:00
Liana Husikyan
eac47b1328 Update Types.cpp 2015-04-01 15:42:30 +02:00
Liana Husikyan
e3853ec6d1 Update AST.cpp 2015-04-01 15:41:24 +02:00
Liana Husikyan
f730931fc7 Update Types.h 2015-04-01 15:26:37 +02:00
Liana Husikyan
d7d5b8200a miner changes in the implementation of the externalTypes function of FunctionType.
better error messages for exeptions
style fixes after review
2015-04-01 15:21:17 +02:00
Liana Husikyan
06dea23331 changed checking for external type in VariableDeclaration::checkTypeRequirements()
changed error msg
2015-04-01 15:21:17 +02:00
Liana Husikyan
37a0234c4a style fixes 2015-04-01 15:21:17 +02:00
Gav Wood
4227be6e12 Merge pull request #1468 from chriseth/sol_pullOutIndexaccess
Refactor: Pull out array index access.
2015-03-31 11:19:42 +02:00
chriseth
7dbc2bcf20 Merge pull request #1464 from LefterisJP/natspec_nonexistant_param
Detect if non-existant parameter is documented with natspec
2015-03-30 19:38:20 +02:00
chriseth
eab085baf6 Merge pull request #1414 from LefterisJP/sol_notImplementedFuncs
Interface contracts
2015-03-30 19:33:30 +02:00
chriseth
d0ede6fafd Refactor: Pull out array index access. 2015-03-30 19:32:14 +02:00
Lefteris Karapetsas
c6781ed38d Fix some styling issues and remove comments 2015-03-30 17:18:38 +02:00
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