Commit Graph

98 Commits

Author SHA1 Message Date
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
Lefteris Karapetsas
a7e78fadf5 Moving contract fullyImplemented check to TypeRequirements 2015-03-27 11:53:17 +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
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
Gav Wood
9aea119e54 Add date/time language to solidity. 2015-03-06 12:46:23 +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
39c471f332 Comments and warnings. 2015-02-23 14:55:06 +01:00
Christian
c8b03c51a0 Renames and comments. 2015-02-23 14:38:44 +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
52050201e3 Inline member initialisation
renamed VariableDefinition class to VariableDeclarationStatement
added tests
2015-02-20 22:50:34 +01:00
Christian
8d658ce5a2 Rename "protected" to "inheritable". 2015-02-18 13:35:12 +01:00
Christian
3e29ec2cb2 "external" visibility specifier. 2015-02-16 19:24:07 +01:00
Lefteris Karapetsas
41647fd75f Removing ';' from the end of EnumDefinition 2015-02-13 23:48:50 +01:00
Lefteris Karapetsas
b2575b4bcb Addressing issues with Enums in Solidity 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
b20ce4451b Typo in EnumValue 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
52808f67fa EnumDeclaration -> EnumValue 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
b1b6b63d6b Indentation fixes 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
931e96838a Disallow trailing comma in Enum Declaration 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
c3a9ae0b06 Introducing EnumType and some Parser tests 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
86e1d671cc Parsing an enum AST node 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
a295417f34 Parsing enums for Solidity - WIP 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
148a7cb3e1 ExpressionCompiler's enums to CamelCase 2015-02-09 14:35:31 +01:00
Lefteris Karapetsas
6f621f8486 Changing Solidity Code to use CamelCase enum values 2015-02-09 14:00:12 +01:00
Liana Husikyan
75a5c20f54 trying to avoid win_build problems 2015-02-09 11:09:03 +01:00
liana
516e46ea6b - added assertion 2015-02-09 02:25:18 +01:00
liana
97b443e181 - some more changes 2015-02-09 02:25:18 +01:00
Liana Husikyan
bcccfa8805 - removed unnesessary braces but one in if statement is still there because of warrning about ambiguous "else"
- added marking of position in node factory to the function

Conflicts:
	libsolidity/Parser.cpp
2015-02-09 02:24:57 +01:00
Liana Husikyan
2a5c2578bd - implemented Empty parameter name story. Now the name of input/return parameters of function can be not specified.
- added appropriate tests

Conflicts:
	test/SolidityEndToEndTest.cpp
	test/SolidityNameAndTypeResolution.cpp
2015-02-09 02:06:30 +01:00
Christian
82edc1ca6d Some fixes for the ether units parser. 2015-02-06 13:38:29 +01:00
Lefteris Karapetsas
eaadc71b4c Tests and fixes for ether subdenominations 2015-02-05 15:41:13 +01:00
Lefteris Karapetsas
426f9a2860 Tests for ether subdenominations. Work in progress 2015-02-04 22:02:35 +01:00
Lefteris Karapetsas
dca5f7b57b Adding ether subdenominations after constan literals 2015-02-04 17:52:28 +01:00
Gav Wood
db263bd9d7 Fixes. 2015-02-03 12:45:16 -08:00
Gav Wood
2ff4a80b62 Fixes for named-args. 2015-02-03 12:25:08 -08:00
Gav Wood
04164b612c Merge branch 'named-args' of https://github.com/guanqun/cpp-ethereum into guanqun-named-args 2015-02-03 11:57:36 -08:00
Christian
e157364fe8 Visibility specifiers. 2015-02-02 17:24:09 +01:00
Christian
ab9dec320a Fix: No parameters for event. 2015-01-30 21:49:01 +01:00
Gav Wood
8e84dc27a7 Merge branch 'develop' of github.com:ethereum/cpp-ethereum into develop
Conflicts:
	test/SolidityEndToEndTest.cpp
	test/SolidityNameAndTypeResolution.cpp
	test/SolidityParser.cpp
2015-01-29 16:05:17 -08:00
Christian
cfb55901cc Fallback functions. 2015-01-29 22:50:20 +01:00
Christian
4a6ed84386 Parsing of events. 2015-01-29 21:26:11 +01:00