Commit Graph

58 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
5c1c690e28 style changes 2015-05-08 17:51:53 +02:00
Liana Husikyan
e7568b5f4d fixed the test 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
115c22c0e0 changed the way of resolving declarations. now the cleanup of function duplications in libsolidity/NameAndTypeResolver.cpp(WIP) 2015-05-08 17:51:52 +02:00
Liana Husikyan
730dc3e21b Update NameAndTypeResolver.cpp 2015-05-04 17:30:28 +02:00
Liana Husikyan
ebaf3c48a6 small fix 2015-05-04 17:18:44 +02:00
Liana Husikyan
0d47ed82b1 fixed the order of error msgs 2015-05-04 14:47:38 +02:00
Liana Husikyan
8b5fa857d7 created secondarySoureLocation error type
added additional information to error msgs
2015-05-04 14:47:38 +02:00
chriseth
8cd5eed17d Styling. 2015-04-20 15:29:04 +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
Lu Guanqun
3b9b71e0ae implement overload resolution 2015-03-08 09:50:06 -05: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
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
3e29ec2cb2 "external" visibility specifier. 2015-02-16 19:24:07 +01:00
Christian
c944976d00 Some changes to enums. 2015-02-14 13:35:57 +01:00
Lefteris Karapetsas
a989f6f97a Enums NameAndTypeResolution - WIP
- Also adding an EndToEnd enum test
2015-02-13 23:16:14 +01:00
Christian
4e440b6e5d Fix scoping of event arguments. 2015-01-31 16:50:33 +01:00
Christian
4a6ed84386 Parsing of events. 2015-01-29 21:26:11 +01:00
Gav Wood
8d09d8deb7 Merge pull request #856 from chriseth/sol_modifiers
Function modifiers.
2015-01-26 15:01:25 -08:00
Christian
7ded95c776 Compilation of function modifiers. 2015-01-26 10:23:39 +01:00
Christian
941c77c8fa Type resolution for function modifiers. 2015-01-26 10:23:39 +01:00
Christian
fe37aad4d5 Reverse order of inheritance in base list. 2015-01-26 10:20:46 +01:00
Christian
ddf5e20d10 Call constructors of base classes. 2015-01-19 23:35:04 +01:00
Christian
af92f98d86 Constructor arguments for base classes. 2015-01-19 23:35:04 +01:00
Christian
6e111d5d1d Explicit calls to base class function. 2015-01-19 23:35:04 +01:00
Christian
6633fbb603 Check overrides and provide inherited public interface. 2015-01-19 23:35:04 +01:00
Christian
914fcedd0e Import inherited members into the contract's scope. 2015-01-19 23:35:04 +01:00
Christian
5a1a83ff42 Assertions that throw InternalCompilerErrors. 2014-12-17 16:24:56 +01:00
Christian
147e77b61f Fix: Resolve function types of all contracts before checking types inside functions. 2014-12-16 23:49:02 +01:00
Christian
c40725c22a Check that constructor does not have "returns" directive. 2014-12-15 16:09:50 +01:00
Christian
f636ac6fc4 More const cleanup. 2014-12-08 13:15:43 +01:00
Christian
25273778dc Renamed url to identifier and added some comments. 2014-12-05 15:35:05 +01:00
Christian
254df50fea Multi-source and multi-contract compiler. 2014-12-03 18:51:59 +01:00
Christian
9e91596c8d Save the scope for every declaration. 2014-12-01 17:33:21 +01:00
Christian
c50cd646ce Contracts as types and framework for special global variables. 2014-11-23 21:28:44 +01:00
Gav Wood
3e57086efe Fix warnings, release errors. 2014-11-18 17:49:31 +01:00
Christian
c560a62352 Struct types. 2014-11-14 14:08:14 +01:00
Christian
46dd629820 Mapping types. 2014-11-14 14:08:14 +01:00
Christian
c1f7a1665f Converted all asserts to exceptions. 2014-11-05 15:01:24 +01:00
Christian
7f19f3d133 Contract compiler and also add ExpressionStatement to AST.
ExpressionStatement functions as glue between Statements and Expressions.

This way it is possible to detect when the border between statements and
expressions is crossed while walking the AST. Note that ExpressionStatement is
not the only border, almost every statement can contains expressions.
2014-10-30 01:25:42 +01:00
Christian
6a96b6b5ad Removed std:: where it made sense. 2014-10-24 19:42:38 +02:00
Christian
58be273506 Replace BOOST_ASSERT by assert. 2014-10-24 19:40:47 +02:00
Christian
b2f12991db Some documentation. 2014-10-24 19:38:48 +02:00
Christian
f8038792ca Remove nullptr comparisons. 2014-10-24 16:43:11 +02:00
Christian
1ae1fc66e2 Use createTypeError everywhere and stream out Location. 2014-10-24 12:42:44 +02:00
Christian
094ee44f72 Use boost errinfo. 2014-10-23 21:37:57 +02:00
Christian
781d7fd514 Improved exceptions and reporting exceptions for command-line compiler. 2014-10-23 16:43:50 +02:00
Christian
fd046d7c90 Corrected spacing around colon. 2014-10-23 00:24:07 +02:00