chriseth
d84d9d3ecd
Merge pull request #981 from chriseth/sol_cleanup
...
Small cleanup.
2015-02-09 12:02:17 +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
106cda74f8
Small cleanup.
2015-02-09 00:49:35 +01:00
chriseth
a66db516fb
Merge pull request #937 from LefterisJP/sol_MultiArgSHA3
...
Solidity multiple arg sha3
2015-02-09 00:14:13 +01:00
Lefteris Karapetsas
293344b473
SHA3 of string literals now should work
2015-02-06 16:27:41 +01:00
Christian
82edc1ca6d
Some fixes for the ether units parser.
2015-02-06 13:38:29 +01:00
chriseth
16fc2d651e
Merge pull request #963 from guanqun/disallow-void-var
...
Disallow implicit declaration of void type.
2015-02-06 12:08:24 +01:00
Lefteris Karapetsas
76c9f13626
appendArgumentsCopyToMemory() has more complicated logic now
...
- Plus other fixes.
2015-02-06 10:42:24 +01:00
Lefteris Karapetsas
337b952f53
Fixes after rebase
2015-02-06 09:38:04 +01:00
Lefteris Karapetsas
f09c6fffc9
Renaming a function for clarity
2015-02-06 09:38:04 +01:00
Lefteris Karapetsas
8c1d928c94
Solidity SHA3 can now take multiple arguments
2015-02-06 09:38:04 +01:00
Gav Wood
59a3909376
Merge pull request #953 from LefterisJP/sol_ethSubDenominations
...
Solidity ether subdenominations
2015-02-05 17:12:19 -08:00
Lu Guanqun
7267afff55
disallow declaration of void type
...
https://www.pivotaltracker.com/n/projects/1189488/stories/86318578
2015-02-06 07:49:05 +08: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
426f9a2860
Tests for ether subdenominations. Work in progress
2015-02-04 22:02:35 +01:00
Lu Guanqun
e86c4602c5
fix string comparision bug revealed by previous test case
...
This is due to refactoring of m_names using ASTPointer.
2015-02-05 01:13:28 +08: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
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
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
Lefteris Karapetsas
b5a786dda1
Various fixes pertaining to State Variable accessors
2015-01-28 21:46:17 +01:00
Lefteris Karapetsas
1b25f85a66
Explicitly specify insertion to exported functions
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
3ec6c0b1cb
All interface functions are external.
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
95d8d7b1f0
Cleaner solution to provide standard sources.
2015-01-28 13:39:04 +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
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
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
Christian
a60d82d12c
Remove const from make_shared to allow enable_shared_from_this to work on MacOS.
2015-01-09 15:16:09 +01:00
Christian
be623273f3
Arbitrary precision integer constants.
2015-01-09 15:16:09 +01:00
Christian
be1e89da42
Possibility for unary operators to change type.
2015-01-09 15:09:10 +01:00
Christian
dcda38cf38
Use shared_from_this instead of manually supplying a shared_ptr to this.
2015-01-09 15:09:10 +01:00
Lefteris Karapetsas
a36af5364c
Fixing a solAssert in getInterfacefunctions()
2015-01-09 00:58:12 +01:00
Lefteris Karapetsas
9cf1c066fc
Adjustments to Solidity compiler code for Function Hash
2015-01-09 00:27:26 +01:00
Lefteris Karapetsas
a7b661d3be
merging develop
2015-01-08 17:43:38 +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
Gav Wood
53e38b3ac9
Merge pull request #738 from LefterisJP/sol_abiFunctionHash
...
Canonical Function signature creation in solidity
2015-01-07 16:32:13 +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
24d7bdd3a9
FunctionType also gets CanonicalSignature
...
- also using iterators in the signature creation function
2015-01-07 02:27:05 +01:00
Lefteris Karapetsas
b2aa3baded
Test for the Canonical Signature of a function
2015-01-07 02:07:34 +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
7dc7827907
Possibility for binary operators to yield types different from their operands'.
2014-12-19 00:12:04 +01:00
Christian
5a1a83ff42
Assertions that throw InternalCompilerErrors.
2014-12-17 16:24:56 +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
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
Christian
e8b18e95ce
Move implementations of ::accept out of AST.cpp.
2014-12-08 17:47:02 +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
41b8d7b7f1
Const functions for ASTVisitor and const ASTPrinter.
2014-12-08 12:49:03 +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
a2715c5f34
More general function types and references.
2014-11-26 15:35:25 +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
fa987e0a20
Convenience class for type members.
2014-11-23 21:04:39 +01:00
Christian
735dbe6986
We only care about member types.
2014-11-23 21:04:39 +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
6c2e3ffd76
Merge remote-tracking branch 'ethereum/develop' into sol_typePromotion
2014-11-06 22:07:02 +01:00
Christian
d3215fb4a6
Re-added some changes lost in merges.
2014-11-06 22:04:10 +01:00
Christian
4b6c422315
More information for type expectation errors.
2014-11-06 02:22:24 +01:00
Christian
de493c673f
Detect integer length from literals and remove "std::".
2014-11-06 02:22:24 +01:00
Christian
0062cdb83c
Minor cleanup.
2014-11-05 23:35:00 +01:00
Christian
f0c73b7a54
Stylistic corrections.
2014-11-05 15:04:33 +01:00
Christian
c1f7a1665f
Converted all asserts to exceptions.
2014-11-05 15:01:24 +01:00
chriseth
ef546e789a
Stylistic changes.
2014-11-04 11:56:19 +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
51349bdae5
Bugfix: Allow empty return statements without type checking.
2014-10-30 01:18:07 +01:00
Christian
b5a4d12fa3
Compiler for assignments.
2014-10-29 14:33:25 +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
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
781d7fd514
Improved exceptions and reporting exceptions for command-line compiler.
2014-10-23 16:43:50 +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
d557fbac9c
Some fixes for the type system, should be quite usable now.
2014-10-15 18:41:44 +02:00
Christian
df142782bc
Added meaningful exception types.
2014-10-15 18:41:29 +02:00
Christian
89b794f1dc
Type system, not yet complete.
2014-10-15 18:40:19 +02:00
Christian
98bdd74299
AST printer and command line tool, some fixes.
2014-10-10 16:47:21 +02:00
Christian
c3faa433ef
Corrected indentation.
2014-10-09 12:36:17 +02:00
Christian
56e9cc8db7
Solidity parser, can not parse much yet.
2014-10-08 13:49:34 +02:00