Alex Beregszaszi
a34f2f1a31
Support payable keyword for functions
2016-09-05 21:28:18 +02:00
walter-weinmann
8f233b545f
Changes related to issues #984 , #989 , #999 , #1001 and #1004 .
2016-09-05 18:58:58 +02:00
Yoichi Hirai
e2b787cdd0
Merge pull request #1005 from ethereum/modifierbody
...
Require ";" after "_"
2016-09-05 18:28:32 +02:00
chriseth
be6a5f44d7
Merge pull request #993 from chriseth/fixshacrash
...
Guard encoding crashes with assertions.
2016-09-05 18:09:32 +02:00
chriseth
bf3f45c948
Improve error message.
2016-09-05 17:11:23 +02:00
chriseth
3b2174f7a8
Update grammar.txt to reflect the change.
2016-09-05 16:13:31 +02:00
chriseth
69c175fe22
Do not pay new account gas.
...
If we checked that the target contract exists, we do not have
to pay the "new account gas".
2016-09-05 15:52:44 +02:00
chriseth
02984b8de1
Require ";" after "_"
2016-09-05 14:54:50 +02:00
chriseth
24ffc38575
Do not use internal types for event parameters.
2016-09-02 00:39:30 +02:00
chriseth
ada31fa9b7
Do not emit non-utf8 strings for ast json.
2016-09-02 00:22:03 +02:00
chriseth
4134834ff3
Guard encoding crashes with assertions.
2016-09-01 20:07:14 +02:00
chriseth
b5d941d3d9
Merge pull request #935 from chriseth/pragma
...
Version pragma
2016-09-01 11:02:50 +02:00
chriseth
d87450b9b2
Use version string (including prerelease) for pragma matching.
2016-09-01 00:02:51 +02:00
chriseth
3c412ed2f6
Version pragma.
2016-09-01 00:02:51 +02:00
Dimitry
061aee2e97
fix CompilerStack::absolutePath
2016-08-31 22:10:20 +03:00
chriseth
4bfe09897e
Make fallback function throw by default.
2016-08-30 15:31:50 +02:00
chriseth
cf974fd103
Merge pull request #664 from axic/feature/interface-fallback
...
Introduce fallback entry in the ABI
2016-08-30 15:21:19 +02:00
Bob Summerwill
91d4fa477c
Merge pull request #941 from chriseth/versionString
...
Version string
2016-08-26 22:58:32 -07:00
Alex Beregszaszi
36a567cd61
Introduce fallback entry in the ABI
2016-08-26 19:03:46 +01:00
chriseth
fb7836d87b
Merge pull request #897 from Denton-L/remove-standard
...
BREAKING: Remove standard contracts
2016-08-26 19:32:18 +02:00
chriseth
54ab787b83
Make versioning semver compatible and force commit hash availability.
2016-08-26 10:14:44 +02:00
chriseth
21b6aa92ff
Disallow fallback function to return values.
2016-08-26 00:07:50 +02:00
chriseth
cab0f5448f
Merge pull request #921 from chriseth/astjsoncleanup
...
JSON AST: Some attribute cleanup. Add linearized base contracts.
2016-08-23 17:14:13 +02:00
chriseth
345c0f36fb
Fix crash when using json compiler with exponentiation.
2016-08-20 03:45:39 +02:00
Denton Liu
e00f802f72
Remove standard contracts
2016-08-19 10:34:50 -04:00
chriseth
35276d99e0
JSON AST: Some attribute cleanup. Add linearized base contracts.
2016-08-19 13:05:12 +02:00
Alex Sinyagin
4b9eb299d0
Rename root AST JSON node to SourceUnit
2016-08-18 15:38:20 +00:00
Alex Sinyagin
4387d8bbe3
Do not add children to EnumValue and PlaceholderStatement elements in JSON AST
2016-08-18 13:29:44 +00:00
Alex Sinyagin
9139d763d3
Use the full names for JSON AST nodes
2016-08-18 13:12:15 +00:00
Alex Sinyagin
5061eb2b2b
Move creation of the root element of JSON AST to the SourceUnit visitor
2016-08-18 12:51:17 +00:00
Alex Sinyagin
406f3a4b5d
Add ast json converter for PlaceholderStatement
2016-08-18 12:30:00 +00:00
Alex Sinyagin
e9c894c9f8
Add ast json converter for ArrayTypeName
2016-08-18 12:30:00 +00:00
Alex Sinyagin
bdc2436ae3
Add ast json converter for ModifierInvocation and EventDefinition
2016-08-18 12:30:00 +00:00
Alex Sinyagin
a5d15e6895
Add ast json converter for ModifierDefinition
2016-08-18 12:29:59 +00:00
Alex Sinyagin
95832da16e
Add ast json converter for EnumValue
2016-08-18 12:29:59 +00:00
Alex Sinyagin
a9e04217a4
Add ast json converter for EnumDefinition
2016-08-18 12:29:59 +00:00
Alex Sinyagin
40ca2c9e97
Add ast json converter for UsingForDirective
2016-08-18 12:29:59 +00:00
Alex Sinyagin
9e7fc12463
Add a ast json converter for InheritanceSpecifier
2016-08-18 12:29:59 +00:00
chriseth
c282ab379a
Merge pull request #918 from winsvega/solremove4
...
remove solidity --interface
2016-08-17 17:55:40 +02:00
chriseth
b2507e9f10
Merge pull request #839 from chriseth/checkcode
...
BREAKING: Make function calls throw if target does not have code.
2016-08-17 16:44:15 +02:00
chriseth
d6579a0a5f
Merge pull request #888 from chriseth/throwOnDivZero
...
Throw on division by zero.
2016-08-17 16:43:13 +02:00
Dimitry
e5e2597702
remove solidity --interface
2016-08-17 12:39:10 +03:00
chriseth
774bb8ab3b
Make function calls throw if target does not have code.
...
Low-level calls still just execute and will actually report "success".
This allows `x.call.value(y)()` for x being a non-contract account.
2016-08-17 11:30:40 +02:00
chriseth
9c83109549
BREAKING: return only exits current function/modifier
2016-08-17 11:29:31 +02:00
chriseth
e7683f4722
Merge pull request #836 from chriseth/unusedunderscore
...
BREAKING: Require modifiers to contain "_".
2016-08-17 11:28:02 +02:00
chriseth
e7084d9e16
Throw on division by zero.
2016-08-17 11:27:15 +02:00
chriseth
d5505e21eb
Merge pull request #838 from chriseth/ecrecover
...
Make ecrecover return zero for malformed input.
2016-08-17 11:05:20 +02:00
Alex Beregszaszi
ec3298535e
Introduce hex literals ( #832 )
...
* Introduce hex keyword token
* Support hex literals
* Include tests for hex literals
* Document hex literals
2016-08-16 16:31:23 +02:00
Alex Beregszaszi
970260bf0f
Reserved keywords update ( #833 )
...
* Reserve abstract, interface and payable keywords
* Keywords as and using aren't reserved anymore - they're used
* Reserve the static keyword
2016-08-16 16:28:45 +02:00
chriseth
77f4424589
Provide inline assembly to the code generator. ( #840 )
...
* Directly usable inline assembly.
* Add missing header.
2016-08-16 16:27:20 +02:00
chriseth
d731225d02
Actually better to return zero on error.
2016-08-16 14:53:01 +02:00
chriseth
034d436933
Make ecrecover throw for malformed input.
2016-08-16 14:53:01 +02:00
chriseth
6df6728165
Require modifiers to contain "_".
2016-08-16 14:52:47 +02:00
chriseth
2a560b798b
Throw if contract creation fails.
2016-08-16 14:49:44 +02:00
chriseth
0d894a6832
Merge pull request #844 from Denton-L/remove-after
...
BREAKING: Remove after
2016-08-12 15:09:55 +02:00
Alex Sinyagin
cbedc7b343
Fix Mapping and InlineAssembly in JSON AST
2016-08-11 17:00:19 +00:00
Alex Sinyagin
a7ff352d38
Fix JSON AST structure
2016-08-11 17:00:19 +00:00
Denton Liu
92a711c4fb
Remove after from grammar.txt
2016-08-11 10:15:59 -04:00
Denton Liu
faf0b3f669
Remove After from Types.cpp
2016-08-11 10:15:59 -04:00
Denton Liu
cab8e63a0e
Revert "Change After to a deprecated token"
...
This reverts commit 91c97f73b50fc87662b5490b2fe6de1c6ef376c7.
2016-08-11 10:15:59 -04:00
Denton Liu
be98d3db51
Change After to a deprecated token
2016-08-11 10:15:59 -04:00
Denton Liu
5ee846e39f
Remove After from ExpressionCompiler
2016-08-11 10:15:59 -04:00
Denton Liu
0988eba4fe
Remove after from Token.h
2016-08-11 10:15:59 -04:00
chriseth
b7c26f4628
Merge pull request #722 from NicolaiSoeborg/develop
...
Fixes to grammar.txt [WIP]
2016-08-10 21:18:56 +02:00
chriseth
55858de1e9
Merge pull request #794 from chriseth/fixastsource
...
Fix segfault in ast output.
2016-08-10 16:58:17 +02:00
chriseth
fc60839105
Merge pull request #826 from axic/utf8-check
...
AST printer: do not output invalid UTF8 sequences
2016-08-10 16:31:27 +02:00
chriseth
4c54834908
Rename libevmasm.
2016-08-10 13:52:24 +02:00
Nicolai
399e1fe70c
Add syntax for fallback functions
2016-08-09 11:53:38 +02:00
Alex Beregszaszi
5d9347f022
Remove dev::utf8 namespace
2016-08-08 20:05:31 +01:00
Alex Beregszaszi
f1df3dee53
Use size_t in dev::utf8::validate()
2016-08-08 20:05:31 +01:00
Alex Beregszaszi
e8c2e87397
Use utf8::validate in StringLiteral::toString
2016-08-08 19:57:41 +01:00
Alex Beregszaszi
bf76321c9e
Move LiteralString::toString from the header
2016-08-08 19:08:31 +01:00
chriseth
539afbeea3
Merge pull request #828 from axic/identity-gas-fix
...
Fix identity precompile gas calculation
2016-08-08 19:15:03 +02:00
chriseth
ac8e726970
Fix segfault in ast output.
2016-08-08 19:10:17 +02:00
chriseth
c3ed550eb6
Merge pull request #834 from chriseth/devcorecleanup
...
Some cleanup regarding libdevcore. Also rename to avoid conflicts.
2016-08-08 15:11:36 +02:00
chriseth
ccd78d05d6
Correct library usage.
2016-08-08 12:26:07 +02:00
Alex Beregszaszi
17f760e2a9
Fix identity precompile gas calculation
2016-08-06 00:18:21 +01:00
chriseth
7ea5770598
Do not install headers.
2016-08-05 16:35:24 +02:00
Alex Beregszaszi
6db12c4f88
Rename addUnicodeChar to addUnicodeAsUTF8
2016-08-04 17:28:48 +01:00
Alex Beregszaszi
aa4593cab3
Support Unicode escape characters in string literals ('\uUUUU')
...
Fixes #638
2016-08-04 17:28:48 +01:00
Nicolai
cc863b0a63
Split ElementaryTypeName into smaller rules
2016-08-02 17:18:59 +02:00
Nicolai
baaad627c4
Remove ambiguity from EventDefinition. Fix SourceUnit
2016-08-01 22:33:05 +02:00
Nicolai
9f772cb9a1
Remove 'reduce/reduce conflicts' with comma operator
2016-07-30 19:27:32 +02:00
Nicolai
b2de2a9d0f
Fix reduce/reduce conflicts w/ multiple FunctionCall in Expression
2016-07-30 16:03:10 +02:00
Nicolai
35182c7305
Remove TypeParameterList
2016-07-30 15:34:46 +02:00
chriseth
58cc6cbb37
Bugfix: Allocate empty array.
2016-07-28 17:24:18 +02:00
Nicolai
97d7b8509c
Fixes to expression
2016-07-27 16:42:33 +02:00
Nicolai
cde629d48d
Added wildcard to UsingForDeclaration
2016-07-27 16:03:40 +02:00
Nicolai
ec0933bf9f
Imports => ImportDirective
2016-07-27 16:01:30 +02:00
Nicolai
e584a8396a
Remove assignment as expr. Add functionCall as primaryExpression
2016-07-26 15:44:22 +02:00
Nicolai
3009064533
Fix missing seperator from commit 8b450dd8
2016-07-26 15:13:26 +02:00
Nicolai
8b450dd808
Added PlaceholderStatement
2016-07-25 17:48:49 +02:00
Nicolai
3f5bff968f
Add StorageLocation
2016-07-25 17:28:30 +02:00
Nicolai
1a661c562a
Allow function to call modifiers
2016-07-25 16:53:15 +02:00
Nicolai
bd2562ffd3
Order expression according to PR 732
2016-07-23 16:15:01 +02:00
Nicolai
28c4a0a3ab
New regex for StringLiteral
2016-07-23 02:35:20 +02:00
Nicolai
5512b85594
Begin fixing expression syntax
2016-07-23 01:45:10 +02:00
chriseth
6610add63e
Merge pull request #731 from Denton-L/move-token
...
Move `in` as a keyword to reserved word section
2016-07-21 14:34:22 +02:00
Denton Liu
8fbe994075
Fix isCompareOp()
2016-07-20 17:05:24 -04:00
Denton Liu
827208d1d6
Move in
as a keyword to reserved word section
2016-07-20 15:42:18 -04:00
chriseth
c55584d3e2
Source location as part of AST.
2016-07-20 19:45:43 +02:00
chriseth
980abfe52a
Merge pull request #720 from chriseth/formalState
...
Formal Verification: Handle external effects.
2016-07-20 19:37:57 +02:00
Nicolai
1c341add59
Added UsingDeclaration
2016-07-20 19:31:05 +02:00
Nicolai
ad2784b333
Extend EventDefinition
2016-07-20 19:17:03 +02:00
Nicolai
e1c69b11f4
Fix missing 'ether' from NumberUnit. Extend StringLiteral syntax
2016-07-20 17:07:26 +02:00
Nicolai
9324393975
Added missing (u)fixed types
2016-07-20 16:49:14 +02:00
Nicolai
da8b768713
Extend NumberLiteral with units
2016-07-20 16:23:30 +02:00
Nicolai
5abb9b6e41
Added imports
2016-07-20 16:14:23 +02:00
Nicolai
f76616889a
Add EventDefinition
2016-07-20 15:59:00 +02:00
Nicolai
68b72d8667
NumberLiteral: Allow 0x prefix
2016-07-20 02:42:02 +02:00
Nicolai
6f7d8fb65b
Allow function returns to be unnamed
2016-07-20 02:26:33 +02:00
Nicolai
f003bdafa6
Fix StructDef. Add BoolLiteral. Def NumLiteral, StringLiteral and Identifier.
2016-07-20 02:18:09 +02:00
Nicolai
1e2f071a11
Fix missing quotes in ElementaryTypeName
2016-07-20 01:33:08 +02:00
Nicolai
8e6272b020
Added ElementaryTypeName, removed explicit recursion
2016-07-19 18:59:34 +02:00
Nicolai
447797ad9c
Add forStmt to Stmt, removes BasicBinaryOperation, throw expr, explicit rec in ArrTypeName
2016-07-19 17:27:53 +02:00
Nicolai
dc3828ee37
Remove "in", extra semicolons, forced function param. Added "throw". Changes FunctionCall & IndexAccess
2016-07-19 01:26:39 +02:00
Nicolai
ce8a003611
grammar.txt: Fixes to EnumDef and ArrayTypeName
2016-07-19 01:03:41 +02:00
Nicolai
c396148fe6
grammer.txt: inheritable => internal
2016-07-19 00:49:00 +02:00
chriseth
9a9a815fc9
Provide formal version in json output.
2016-07-18 18:26:56 +02:00
Nicolai Søborg
80b01f6ebd
Grammar: tab => spaces
2016-07-14 23:48:29 +02:00
Nicolai
ff9d6e05f2
Typos + added missing grammar rules
2016-07-14 23:41:32 +02:00
Nicolai
c800f8c97d
Remove the remains of "expresison"
2016-07-14 22:56:45 +02:00
chriseth
26e5faa038
Handle external effects.
2016-07-13 11:16:00 +02:00
chriseth
25a64c7f8f
Only warn about unused return in low-level functions.
2016-06-26 13:53:32 +02:00
chriseth
cc6314cd01
Warn about unused return values.
2016-06-26 13:53:32 +02:00
chriseth
31aa67f1ca
Merge pull request #640 from chriseth/globalPaths
...
Allow remappings to change depending on the context.
2016-06-10 17:58:25 +02:00
chriseth
d593166d66
Merge pull request #641 from axic/patch/shift-parser
...
Trivial shift parser fixes
2016-06-09 00:21:51 +02:00
chriseth
3150ab2bcf
Allow remappings to change depending on the context.
2016-06-08 18:16:46 +02:00
Alex Beregszaszi
0cb820cf98
Include SHR case in ExpressionCompiler::appendShiftOperatorCode
2016-06-07 19:39:14 +01:00
Alex Beregszaszi
f8ccf3eebf
Fix Token::isBitOp to exclude shift operators
2016-06-07 19:39:05 +01:00
chriseth
ab7a22f4a0
Disallow implementation of abstract function by constructor of derived class.
2016-06-06 19:38:22 +02:00
chriseth
754a992500
Inaccessible dynamic types
2016-06-02 12:52:25 +02:00
chriseth
708129abd5
Fixes for invalid cleanups for small types.
2016-05-20 16:52:40 +02:00
chriseth
2f37356c58
Merge pull request #565 from VoR0220/fixedDataType
...
Fixed data typename fixes and documentation
2016-05-20 16:48:50 +02:00
chriseth
6b859a2bff
Refactor compiler to avoid weird swap of contexts
2016-05-20 14:20:45 +02:00
VoR0220
9192357452
updated docs
...
types
reference
2016-05-18 16:36:05 -05:00
VoR0220
6289410152
explicit conversion and loosening of binary operations on integer and fixed point types...still other problems
...
fixed some spaces and deleted lines from failing test
2016-05-18 15:52:09 -05:00
VoR0220
3ba308fb2e
current debugging info
2016-05-18 15:52:09 -05:00
chriseth
775b757d0e
Merge pull request #545 from chriseth/accessFunLabels
...
Allow access to functions in inline assembly.
2016-05-17 23:59:13 +02:00
moneroexample
9d237fbfdc
fix: error: call of overloaded ‘list(int, <brace-enclosed initializer list>)’
...
Issue: https://github.com/ethereum/solidity/issues/574
Compilation of webthree-umbrella on Arch with gcc 6.1 results in the following
error:
/home/mwo/webthree-umbrella/solidity/libsolidity/analysis/NameAndTypeResolver.cpp:299:51: error: call of overloaded ‘list(int, <brace-enclosed initializer list>)’ is ambiguous
list<list<ContractDefinition const*>> input(1, {});
This can be overcome by explicitly specifying initial value, for example:
list<list<ContractDefinition const*>> input(1, list<ContractDefinition const*>{})
2016-05-17 13:27:39 +08:00
chriseth
67ca3bb4b9
Allow access to functions in inline assembly.
2016-05-12 12:30:48 +02:00
chriseth
d4206b7cd0
Remove unused tests and add asserts for not implemented parts in code generation.
...
quick fix on christian's rational
change so that ubuntu will stop yelling
be more specific with rational declaration for Windows sake
rational in namespace correction for windows
2016-05-10 16:03:33 -05:00
chriseth
656405240e
Simplify interface of RationalNumber.
2016-05-10 19:40:37 +02:00
chriseth
cf226f0607
Special case for moving sign bit to fractional part.
2016-05-10 19:40:37 +02:00
chriseth
02e1c9be0d
Cleanup.
2016-05-10 19:40:37 +02:00
chriseth
4dfe9a216c
Disallow explicit fixed->enum, but allow bytes->fixed.
2016-05-10 19:40:37 +02:00
chriseth
ef7049f9a6
Some cleanup.
2016-05-10 19:40:37 +02:00
chriseth
22318c0c1a
Replace "unsigned int" by "unsigned".
2016-05-10 19:40:37 +02:00
chriseth
80c368dac1
Prefer mobileType() to check rational range.
2016-05-10 19:40:35 +02:00
VoR0220
a6fc3c8f30
reorganized tests and fixed mobile types and implicit conversions of rationals and fixed point types
...
one final tweak
check for null types
2016-05-09 11:41:03 -05:00