Commit Graph

766 Commits

Author SHA1 Message Date
chriseth
8cd5eed17d Styling. 2015-04-20 15:29:04 +02:00
chriseth
7a467bbf07 Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions
Conflicts:
	libsolidity/AST.cpp
	libsolidity/AST.h
2015-04-20 14:55:58 +02:00
Liana Husikyan
e4808305a1 removed unused parameter from streamAsmJson 2015-04-17 17:45:25 +02:00
Liana Husikyan
1cfa964990 style fixes 2015-04-17 17:41:50 +02:00
Liana Husikyan
f829dad7e3 added asm-json flag to cl compiler
Conflicts:
	libsolidity/CompilerStack.cpp
2015-04-17 17:41:41 +02:00
chriseth
c9812f7269 Merge pull request #1501 from LefterisJP/abstract_contract_contructors
Abstract contract contructors
2015-04-17 17:31:47 +02:00
chriseth
2d69b269e9 Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions 2015-04-17 16:24:23 +02:00
Lefteris Karapetsas
c558aa0656 Fixing detection of abstract contract 2015-04-17 16:17:21 +02:00
Lefteris Karapetsas
1a19d436db Adding forgotten virtual specifier to EnumValue getType() 2015-04-17 15:27:31 +02:00
Lefteris Karapetsas
eb84c3171a Add "this" contract's ctor to provided ctors set
- Also properly naming the 2 sets in checkAbstractConstructors() function
2015-04-17 15:27:31 +02:00
Lefteris Karapetsas
0c296cd809 Fixing new abstract contract error location reporting 2015-04-17 15:27:31 +02:00
Lefteris Karapetsas
52a442a100 size()!=0 -> !empty() 2015-04-17 15:27:31 +02:00
Lefteris Karapetsas
beba2705ba Check all constructors in inheritance chain get args
- Also add a missing override in a function of EnumValue
2015-04-17 15:27:31 +02:00
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