Christian
c944976d00
Some changes to enums.
2015-02-14 13:35:57 +01:00
Lefteris Karapetsas
fbd39323af
Moving getMemberValue from EnumDefinition to EnumType
2015-02-13 23:16:14 +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
012e32942d
Enum type conversion and member value access.
...
- Added tests for the type conversion part.
- Enum member value access still needs some work
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
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
guanqun
ca6456e7da
remove AST.h Utils.h's x permission
2015-02-07 23:10:22 +08:00
Christian
82edc1ca6d
Some fixes for the ether units parser.
2015-02-06 13:38:29 +01:00
Lefteris Karapetsas
c966ff246f
More style changes in enums
2015-02-05 23:03:24 +01:00
Lefteris Karapetsas
305f54b23f
Minor Style fixes
2015-02-05 22:38:07 +01:00
Lefteris Karapetsas
dca5f7b57b
Adding ether subdenominations after constan literals
2015-02-04 17:52:28 +01: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
adce36ff58
Make tests resistant to changes in order of declaration.
2015-02-01 00:47:54 +01:00
Gav Wood
bd66ebd7ee
Merge pull request #913 from arkpar/sol_abi_fix
...
Fixed json ABI generation for events
2015-01-31 08:29:50 -08:00
Christian
4e440b6e5d
Fix scoping of event arguments.
2015-01-31 16:50:33 +01:00
arkpar
d6d7c9219b
json and solidity ABI generted for events
2015-01-31 14:41:11 +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
9f8c2620da
Whitespace and error messages.
2015-01-29 21:33:46 +01:00
Christian
4e72a77546
Code generation for events.
2015-01-29 21:33:46 +01:00
Christian
4a6ed84386
Parsing of events.
2015-01-29 21:26:11 +01:00
Lu Guanqun
5c828dc8b2
implement named arguments
2015-01-30 01:32:55 +08:00
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