Lu Guanqun
5dcee599f1
add the location of a duplicated function
2015-03-08 09:50:54 -05:00
Lu Guanqun
4033615464
make it work for var x = f;
2015-03-08 09:50:54 -05:00
Lu Guanqun
ddcfd441f3
remove debug stuff
2015-03-08 09:50:53 -05:00
Lu Guanqun
3b9b71e0ae
implement overload resolution
2015-03-08 09:50:06 -05:00
chriseth
28e88903dc
Fix type checks for storage variable initializer.
2015-03-06 13:47:32 +01:00
Christian
b84cf62d6b
Index access for calldata arrays.
2015-03-05 13:19:59 +01:00
Liana Husikyan
9b6b2759b4
removed unused member
...
added some comments for ModifierInvocation::checkTypeRequirements
cleanup
2015-03-02 14:28:13 +01:00
Liana Husikyan
e9238e15b4
Implemented passing arguments to the base constructor.
2015-03-02 14:28:08 +01:00
Lefteris Karapetsas
4f13859f8c
Using normal pointer in getInheritableMembers()
2015-03-02 12:08:32 +01:00
Lefteris Karapetsas
bbaa9fef6c
getInheritableMembers() does not look at BaseContracts
...
- Also adding tests for improper accessing members of other contracts.
2015-03-02 11:51:13 +01:00
Lefteris Karapetsas
efe8f9f8a0
Use lambda to avoid code duplication in inheritableMembers
2015-03-02 11:51:13 +01:00
Lefteris Karapetsas
7db2b6fbdb
VisibleInDerivedContracts() is now virtual()
...
- Plus an extra test for internal visibility in a base class variable
2015-03-02 11:51:13 +01:00
Lefteris Karapetsas
47177542f5
Add structs to inheritable members
2015-03-02 11:51:13 +01:00
Lefteris Karapetsas
5e4665b84d
Adding inheritable members to a contract
2015-03-02 11:51:13 +01:00
Christian
5d2323c914
Index and length access for dynamic arrays.
2015-02-23 18:28:30 +01:00
Christian
261786d909
Allow conversion to dynamic arrays and update grammar.
2015-02-21 18:25:08 +01:00
Christian
be15e0b424
Index access.
2015-02-21 15:10:02 +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
a33fa270f6
Calldata byte arrays stored on the stack.
2015-02-16 19:35:53 +01:00
Christian
f7ba85e0ec
No write access to parameters of external functions.
2015-02-16 19:25:24 +01:00
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
fb4ff4af28
implement getType() for EnumValue
2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
52808f67fa
EnumDeclaration -> EnumValue
2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
91943e7368
Enum Value member access should now work properly
...
- Also detection of duplicate enum values and tests for them have been
added
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
Christian
1c3c1f1e5d
Copying structs.
2015-02-12 20:19:49 +01:00
Christian
20b4c69009
Tests and some code for msg.data.
2015-02-12 11:33:09 +01:00
Christian
cf4144b702
Arbitrary parameters for call() and all hash functions.
2015-02-10 10:59:23 +01:00
chriseth
bb6f181d7d
Merge pull request #986 from LefterisJP/sol_StyleFix
...
Solidity enum style fix
2015-02-10 10:54:28 +01:00
Lefteris Karapetsas
82c5fb3245
Addressing issues in Enum style fix
2015-02-10 09:52:19 +01:00
Lefteris Karapetsas
148a7cb3e1
ExpressionCompiler's enums to CamelCase
2015-02-09 14:35:31 +01:00
Lefteris Karapetsas
3ef75bae6b
Camelcasing enums in Types.h
2015-02-09 14:08:48 +01:00
Lefteris Karapetsas
6f621f8486
Changing Solidity Code to use CamelCase enum values
2015-02-09 14:00:12 +01:00
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