Commit Graph

50 Commits

Author SHA1 Message Date
chriseth
943fd623e1 Create and output clone contracts. 2015-07-31 19:23:31 +02:00
chriseth
e5ae5955b9 Initialisation of memory types. 2015-06-24 19:34:43 +02:00
chriseth
7c996ac716 Style. 2015-06-15 14:40:42 +02:00
chriseth
258b1a74e2 Distinction between storage pointer and storage ref and type checking for conversion between storage and memory. 2015-06-15 14:40:41 +02:00
chriseth
9efd5374ed Compute constants 2015-06-05 17:34:26 +02:00
chriseth
6332bff81d Gas estimation for internal functions. 2015-05-26 11:27:59 +02:00
chriseth
99ea9a62fc Move assembly related files to libevmasm and Params.h/.cpp to libevmcore. 2015-04-30 11:42:02 +02:00
Christian
83cc8dfe00 JSON compiler. 2015-04-22 11:33: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
d41c51a810 Fixed some checker warnings. 2015-03-10 15:11:13 +01:00
Liana Husikyan
e32bf97e87 to include source lines in output stream AssemblyItem's appropriate function is now receiving the map of fileNames to sourceCodes as argument. 2015-03-05 12:08:43 +01:00
Liana Husikyan
e9238e15b4 Implemented passing arguments to the base constructor. 2015-03-02 14:28:08 +01:00
Lefteris Karapetsas
ece19cb913 Tighter coupling for Assembly items retrieval
- Exposing only assembly items, not the entire compiler context
2015-02-25 12:02:58 +01:00
Lefteris Karapetsas
54121a0d78 Styling changes for SourceLocation and friends 2015-02-25 09:53:28 +01:00
Lefteris Karapetsas
12c32392ab Simple Assembly Locations test
- Also adding some helper functions to SourceLocation
2015-02-24 17:16:22 +01:00
Christian
e7528c6af8 Stack height checks and fix. 2015-02-22 19:16:40 +01:00
Liana Husikyan
52050201e3 Inline member initialisation
renamed VariableDefinition class to VariableDeclarationStatement
added tests
2015-02-20 22:50:34 +01:00
Gav Wood
294648b534 Merge pull request #1074 from arkpar/mix_codemodel
Mix: Allow more than one contract
2015-02-17 19:39:24 +01:00
arkpar
e9ac8a1199 allow more than one contract 2015-02-16 23:05:57 +01:00
Christian
971cc9b5b9 Unpacking of dynamically sized arguments. 2015-02-16 19:25:27 +01:00
Christian
ae5a6a235c Super keyword. 2015-01-29 00:29:43 +01:00
Lefteris Karapetsas
2947e038d2 EVM Code for simple accessor function is properly generated 2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
3ec6c0b1cb All interface functions are external. 2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
3cc0492301 Work in progress for state variable accessors
- Changed the code so that a generic declaration with the combination of
  a function type can be used wherer a function definition was used
  before

- Since using an std::pair everywhere is really tiring with this commit
  I am in the process of abstracting it into a function
2015-01-28 21:46:16 +01:00
Christian
fd5899d038 Modifier overrides and callgraph analysis. 2015-01-26 10:23:39 +01:00
Christian
7ded95c776 Compilation of function modifiers. 2015-01-26 10:23:39 +01:00
Christian
d854e56789 Include virtual function overrides in constructor context. 2015-01-20 15:58:04 +01:00
Christian
ddf5e20d10 Call constructors of base classes. 2015-01-19 23:35:04 +01:00
Christian
e6c0a9b922 Magic variables are only needed durinng name and type resolution, not during compilation. 2015-01-19 23:35:04 +01:00
Lefteris Karapetsas
12e000e0d3 A first version of Natspec warning popup
- Runtime Contract code hash can now be retrieved from the Compiler

- Using the hash the Natspec handler stores and later retrieves Natspec
  JSON for a given contract.
2015-01-13 15:59:42 +01:00
Christian
9866caa625 Fix some warnings about uninitialized members. 2015-01-07 16:46:53 +01:00
chriseth
3d98ec1323 Merge pull request #623 from chriseth/sol_constructorChecks
Checks for the constructor and ability to call functions
2014-12-17 15:18:49 +01:00
Lefteris Karapetsas
f7029726be Adding a ForStatement solidity AST Node.
- Adding ForStatement node
- Implemented Parsing for ForStatement
- A simple parsing test for the ForStatement
- Work in progress
2014-12-17 00:03:30 +01:00
Christian
b2e3771598 Add functions needed by constructor. 2014-12-16 23:49:45 +01:00
Christian
2f64c56ef3 Create contracts. 2014-12-15 13:05:18 +01:00
Christian
66d95abfd9 Swap literals to the end if optimizing. 2014-12-11 17:48:44 +01:00
Christian
13640d7db8 Clear separation between ASTVisitor and ASTConstVisitor and more const specifiers. 2014-12-08 12:53:56 +01:00
Christian
c78c330634 Const AST visitor for the compiler. 2014-12-08 12:49:03 +01:00
Christian
583a315d3d Magic variables. 2014-11-23 21:28:45 +01:00
Christian
3ba9649dde Special handling for constructor. 2014-11-19 13:19:43 +01:00
Christian
225fc8e1b3 Option to activate the optimizer for solidity. 2014-11-06 22:55:42 +01:00
Christian
4dfd6dfa13 Some tests and bugfixes for the compiler. 2014-11-03 16:11:40 +01:00
Christian
a36db1f241 Actual contract creator and add solidity to AlethZero interface. 2014-10-31 14:37:23 +01:00
Christian
cb9cb48dc7 Function selector and variable (un)packing. 2014-10-30 21:21:25 +01:00
Christian
a5f3602738 Renamed file. 2014-10-30 21:21:25 +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
b5a4d12fa3 Compiler for assignments. 2014-10-29 14:33:25 +01:00
Christian
9141725cf2 Documentation for AST, Parser, Scanner and other classes. 2014-10-24 19:38:48 +02:00
Christian
59b5e950f4 Expression compiler. 2014-10-24 19:38:13 +02:00