Commit Graph

170 Commits

Author SHA1 Message Date
Liana Husikyan
648ce85256 removed an unnecessary function 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
Gav Wood
5f6a396765 Merge pull request #1699 from chriseth/sol_fix_contractTypesAsArguments
Fix for Contract and Enum types as external function arguments.
2015-04-21 17:32:01 +02:00
chriseth
8125f93b12 Fix for Contract and Enum types as external function arguments. 2015-04-21 15:50:37 +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
Lefteris Karapetsas
1a19d436db Adding forgotten virtual specifier to EnumValue getType() 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
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
chriseth
eab085baf6 Merge pull request #1414 from LefterisJP/sol_notImplementedFuncs
Interface contracts
2015-03-30 19:33:30 +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
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
Liana Husikyan
27a89a36e1 restyleing
removed unnecessary check
2015-03-16 14:45:11 +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
Lu Guanqun
4033615464 make it work for var x = f; 2015-03-08 09:50:54 -05:00
Lu Guanqun
3b9b71e0ae implement overload resolution 2015-03-08 09:50:06 -05:00
Lu Guanqun
1efef53cb3 mark an identifier as callable if its next token is '(' 2015-03-08 09:48:53 -05:00
chriseth
28e88903dc Fix type checks for storage variable initializer. 2015-03-06 13:47:32 +01:00
Gav Wood
9aea119e54 Add date/time language to solidity. 2015-03-06 12:46:23 +01:00
Liana Husikyan
9b6b2759b4 removed unused member
added some comments for ModifierInvocation::checkTypeRequirements
cleanup
2015-03-02 14:28:13 +01:00
Liana Husikyan
e9238e15b4 Implemented passing arguments to the base constructor. 2015-03-02 14:28:08 +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
5e4665b84d Adding inheritable members to a contract 2015-03-02 11:51:13 +01:00
Lefteris Karapetsas
7f3a544d2a Move SourceLocation to evmcore 2015-02-25 12:19:02 +01:00
Lefteris Karapetsas
fb328b778c Changes after rebase on top of Array Parsing 2015-02-24 17:31:06 +01:00
Lefteris Karapetsas
1891020ffb Moving Source Location libdevcore
- Big plus is we now remove the useless header libsolibity/BaseTypes.h
2015-02-24 17:16:22 +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
a17108e3bc Replaced "inheritable" by "internal". 2015-02-22 19:37:54 +01:00
Christian
261786d909 Allow conversion to dynamic arrays and update grammar. 2015-02-21 18:25:08 +01:00
Christian
5e32083179 Parsing of array types and basic implementation. 2015-02-21 15:10:01 +01:00
Liana Husikyan
858acaa193 corrected accept for variableDeclaration
changes after code review
2015-02-20 22:51:16 +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
26132363d5 Bugfix for functions override
- Functions with byte array type parameters can now be safely
  overriden. Parameter location is now set at the right place.

- Also made a test for the fix
2015-02-19 17:43:53 +01:00
Christian
8d658ce5a2 Rename "protected" to "inheritable". 2015-02-18 13:35:12 +01:00
Christian
f7ba85e0ec No write access to parameters of external functions. 2015-02-16 19:25:24 +01:00
Christian
3e29ec2cb2 "external" visibility specifier. 2015-02-16 19:24:07 +01:00