Lefteris Karapetsas
04190798eb
Minor fixes plus a rebase merge fix
2015-01-29 18:21:51 +01:00
Lefteris Karapetsas
dcd47be6ca
Removing Function and Param Description
...
- Removing FunctionDescription and ParamDescription. All the data should
now be in the FunctionType
- Plus using the FunctionTypePointer alias in a few places
2015-01-29 17:12:17 +01:00
Lefteris Karapetsas
005100c486
Contract Interface Functions now return FunctionType
...
- Enchanced Function Type by declaration so that it can provide all the
required information at each place interface functions are consumed
- Changed all places where interface functions was used.
- Simplified Mix's FunctionDefinition code
2015-01-29 17:11:13 +01:00
Christian
11d068bbbb
Common class that contains AST node documentations.
2015-01-29 12:27:31 +01:00
Lefteris Karapetsas
b5a786dda1
Various fixes pertaining to State Variable accessors
2015-01-28 21:46:17 +01:00
Lefteris Karapetsas
ff91ab96ea
Fixes after rebasing on develop
2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
53ef6900b7
Adding isStateVariable attribute to a VarDecl
2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
3f5eb96584
Various small fixes for Sol Automatic Accessors
2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
468f26b1cc
Modifications to Mix to adapt to FunctionDescription
2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
5c7359aa09
State variable accessors code is now more organized
...
- FunctionDescription is the abstraction of what should describe a
function. It can either be a VariableDeclaration of a
FunctionDefinition.
- ParamDescription is what FunctionDescription uses to describe its
parameters for outside use purposes with a pair of (name, type)
strings
- Modified code around Solidity and especially interface handler to
adapt to this change
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
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
19793dab09
Function modifier parsing.
2015-01-26 10:23:39 +01:00
Christian
96db6cf905
Style changes.
2015-01-20 17:41:09 +01:00
Christian
d854e56789
Include virtual function overrides in constructor context.
2015-01-20 15:58: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
4631e54e08
Inheritance parser.
2015-01-19 23:35:04 +01:00
chriseth
1a4280de35
Merge pull request #799 from chriseth/sol_gasAndValue
...
Specify gas and value for function calls and contract creation calls.
2015-01-14 18:22:16 +01:00
Christian
6e16107870
Check for hash collisions already before compiling.
2015-01-14 10:16:58 +01:00
Christian
b440d7e321
Specify value for contract creation.
2015-01-13 18:12:30 +01:00
arkpar
80eec8b308
fixed warnings for msvc build
2015-01-13 11:18:08 +01:00
Lefteris Karapetsas
c55608f94b
Solidity getInterfaceFunctions is now a map of hash to Function
...
- Also introduced dependency between libsolidity and libdevcrypto
- Compler's appendFunctionSelector now has a first version of using
function signature hash instead of index
2015-01-07 16:39:21 +01:00
Lefteris Karapetsas
df0dce584d
Small issues with Canonical Function Signature
...
- Also added an extra test
2015-01-07 10:45:59 +01:00
Lefteris Karapetsas
5e875ee072
Creating the canonical signature of a function, for later use in the ABI
2015-01-06 17:42:38 +01:00
Christian
5a1a83ff42
Assertions that throw InternalCompilerErrors.
2014-12-17 16:24:56 +01:00
Lefteris Karapetsas
5c05b8d725
Solidity ForStatement Compiler part
...
- Work in progress
2014-12-17 00:03:30 +01:00
Lefteris Karapetsas
adbea47596
Minor issues, grammar update, new ForStatement test
2014-12-17 00:03:30 +01:00
Lefteris Karapetsas
062b51e7bd
ForStatement typecheck and initExpression is a Statement
2014-12-17 00:03:30 +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
5b802b685e
Stylistic changes.
2014-12-16 16:15:34 +01:00
Christian
c40725c22a
Check that constructor does not have "returns" directive.
2014-12-15 16:09:50 +01:00
Christian
2f64c56ef3
Create contracts.
2014-12-15 13:05:18 +01:00
chriseth
c7c189cac0
Merge pull request #586 from LefterisJP/natspec_contract_tags
...
Natspec title and author tag.
2014-12-10 19:23:57 +01:00
Lefteris Karapetsas
fbc35003ce
Natspec title and author tag.
...
- Adding the title and author natspec documentation tags for contracts
- Also using the author tag for functions now
- Tests
2014-12-10 13:24:48 +01:00
Christian
f636ac6fc4
More const cleanup.
2014-12-08 13:15:43 +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
41b8d7b7f1
Const functions for ASTVisitor and const ASTPrinter.
2014-12-08 12:49:03 +01:00
Christian
25273778dc
Renamed url to identifier and added some comments.
2014-12-05 15:35:05 +01:00
Christian
d4a958e1fe
Merge remote-tracking branch 'ethereum/develop' into sol_import
...
Conflicts:
libsolidity/CompilerStack.cpp
libsolidity/CompilerStack.h
solc/main.cpp
2014-12-05 15:27:07 +01:00
Lefteris Karapetsas
df4db1de07
Merge branch 'develop' into natspec_export_json
2014-12-04 17:28:46 +01:00
Christian
328387d6d0
Import directive.
2014-12-03 10:44:46 +01:00
Christian
a2ad47441e
Disallow assignments to structs and mappings.
2014-12-01 17:33:21 +01:00
Christian
9e91596c8d
Save the scope for every declaration.
2014-12-01 17:33:21 +01:00
Lefteris Karapetsas
43d6726dd7
Exporting Natspec documentation to a JSON interface
...
- Adding a getDocumentation() function to solidity compiler stack
so that we can obtain the natspec interface for a contract
- Adding libjsoncpp as a dependency of libsolidity. This is done
in a dirty way, using libjsonrpc-cpp s an intermediate dependency
for the moment. Will fix soon.
- Start of a test file for Natspec exporting to JSON
2014-12-01 17:03:04 +01:00
Lefteris Karapetsas
e3e90c4e6b
Solidity FunctionDefinition used ASTString shared ptr for docstrings
2014-11-28 01:26:37 +01:00
Lefteris Karapetsas
6ddfebafae
Solidity function AST nodes get documentation attribute
2014-11-27 15:21:22 +01:00
Christian
c4a43c64c2
Global functions.
2014-11-26 15:42:54 +01:00
chriseth
5d75263ff1
Whitespace change.
2014-11-24 00:00:46 +01:00
Christian
583a315d3d
Magic variables.
2014-11-23 21:28:45 +01:00
Christian
c50cd646ce
Contracts as types and framework for special global variables.
2014-11-23 21:28:44 +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
8c6bf21c01
Provide interface for calls in JSON and some other formatting changes.
2014-11-11 17:41:48 +01:00
Christian
64a4d77c8b
State variables.
2014-11-07 20:02:57 +01:00
Christian
6c2e3ffd76
Merge remote-tracking branch 'ethereum/develop' into sol_typePromotion
2014-11-06 22:07:02 +01:00
Christian
29c9a7aed9
Allow implicit type conversions for comparisons.
2014-11-06 02:22:24 +01:00
Christian
0062cdb83c
Minor cleanup.
2014-11-05 23:35:00 +01:00
Christian
c1f7a1665f
Converted all asserts to exceptions.
2014-11-05 15:01:24 +01:00
chriseth
1de66d6e9e
Added doxygen comment.
2014-11-04 19:52:04 +01:00
chriseth
ef546e789a
Stylistic changes.
2014-11-04 11:56:19 +01:00
Christian
25c0e08bdf
Merge remote-tracking branch 'ethereum/develop' into sol_contractCompiler
...
Conflicts:
libsolidity/AST.cpp
libsolidity/AST.h
libsolidity/Compiler.cpp
libsolidity/Compiler.h
libsolidity/NameAndTypeResolver.h
libsolidity/Types.cpp
solc/main.cpp
test/solidityCompiler.cpp
2014-10-31 17:20:27 +01:00
Christian
9f53f18893
Corrected doxygen post comments.
2014-10-31 13:29:32 +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
5d287e7ea2
Further const placement changes.
2014-10-29 19:41:07 +01:00
Christian
b5a4d12fa3
Compiler for assignments.
2014-10-29 14:33:25 +01:00
Christian
933fbd7d60
Asterisk-syntax for doxygen class documentation.
2014-10-28 16:51:26 +01:00
Christian
fae8ca001e
Stylistic corrections.
2014-10-28 09:25:01 +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
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
fd046d7c90
Corrected spacing around colon.
2014-10-23 00:24:07 +02:00
Christian
8696598020
Access modifier cleanup.
2014-10-20 16:28:24 +02:00
Christian
be885dc3cf
Pointer type cleanup: Use ASTPointer only for AST nodes and shared_ptr for type
...
pointer.
2014-10-20 16:23:49 +02:00
Christian
f0c334670d
Coding style cleanup: const and vecptr.
2014-10-20 13:02:06 +02:00
Christian
a7f9815c0f
Coding style and cleanup
2014-10-17 12:37:51 +02:00
Christian
8a506b505f
Corrected coding style.
2014-10-16 14:08:54 +02:00
Christian
89b794f1dc
Type system, not yet complete.
2014-10-15 18:40:19 +02:00
Christian
4f79117964
Name resolution.
2014-10-13 17:02:21 +02:00
Christian
98bdd74299
AST printer and command line tool, some fixes.
2014-10-10 16:47:21 +02:00
Christian
924f7c62bd
Initial implementation of Solidity parser finished, not yet tested much.
2014-10-09 18:35:41 +02:00
Christian
c3faa433ef
Corrected indentation.
2014-10-09 12:36:17 +02:00
Christian
0a1ebe4f51
Parse everything up to function bodies and report parser errors with location.
2014-10-08 20:53:50 +02:00
Christian
56e9cc8db7
Solidity parser, can not parse much yet.
2014-10-08 13:49:34 +02:00