Commit Graph

203 Commits

Author SHA1 Message Date
chriseth
f4d1acc563 Ability to specify the storage location of a reference type. 2015-06-05 14:44:05 +02:00
Liana Husikyan
89aab7e234 - style fixes
- added test for uint8 = -1 which doesn't fail; todo: fix that
2015-06-04 12:42:55 +02:00
Liana Husikyan
382ac85aa5 - conversion of positive literals to signed int
- tests
2015-06-04 11:48:09 +02:00
chriseth
6949ce97e4 Re-introduce string type. 2015-05-28 16:20:50 +02:00
Gav Wood
70d9eb3f1d Move non-cryptopp dependent stuff into devcore. 2015-05-19 19:51:38 +02:00
chriseth
840d06fe14 Fixed error message about explicit type conversion. 2015-05-18 11:34:16 +02:00
Liana Husikyan
5c1c690e28 style changes 2015-05-08 17:51:53 +02:00
Liana Husikyan
495d827ece implemented cleanup of duplication in resolver 2015-05-08 17:51:52 +02:00
Liana Husikyan
e2d9ef6945 Update AST.cpp 2015-05-04 17:28:28 +02:00
Liana Husikyan
745f569443 Update AST.cpp 2015-05-04 17:21:59 +02:00
Liana Husikyan
0a15157155 some more style fixes 2015-05-04 17:19:16 +02:00
Liana Husikyan
ebaf3c48a6 small fix 2015-05-04 17:18:44 +02:00
Liana Husikyan
8b5fa857d7 created secondarySoureLocation error type
added additional information to error msgs
2015-05-04 14:47:38 +02:00
Liana Husikyan
1087d34a66 saved returnParameterNames in FunctionType constructor 2015-04-27 13:08:32 +02:00
Liana Husikyan
88536f90e8 changed the test so constructor will have input parameters 2015-04-27 13:08:32 +02:00
Liana Husikyan
648ce85256 removed an unnecessary function 2015-04-27 13:08:32 +02:00
Liana Husikyan
4cbff655ff style fix 2015-04-27 13:08:32 +02:00
Liana Husikyan
2d62c482fd fixed the output of the test 2015-04-27 13:08:32 +02:00
chriseth
a6d08950c6 bytes parameters for events and sha3. 2015-04-22 11:43:49 +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
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
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
6e5de4832d Bugfixes concerning variable declarations.
Fixes #1637
2015-04-16 00:09:28 +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
chriseth
158795e48f Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions 2015-04-07 17:08:49 +02:00
Liana Husikyan
8e19eea7d5 VariableDeclaration::checkTypeRequirements() refactoring 2015-04-01 15:57:39 +02:00
Liana Husikyan
e3853ec6d1 Update AST.cpp 2015-04-01 15:41:24 +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
chriseth
eab085baf6 Merge pull request #1414 from LefterisJP/sol_notImplementedFuncs
Interface contracts
2015-03-30 19:33:30 +02:00
Lefteris Karapetsas
c6781ed38d Fix some styling issues and remove comments 2015-03-30 17:18:38 +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
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
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
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