Commit Graph

229 Commits

Author SHA1 Message Date
chriseth
b47d593252 Do not store elements of a contract by AST node type. 2015-11-26 15:37:55 +01:00
chriseth
86495dfc57 Make members context-sensitive. 2015-11-26 15:37:55 +01:00
chriseth
e06768e8b5 Fix MSVC errors and warnings. 2015-11-26 14:47:28 +01:00
chriseth
6a2a946200 Make some functions const. 2015-11-26 13:44:09 +01:00
chriseth
879844dd0a Code generation for creating arrays. 2015-11-26 13:10:12 +01:00
chriseth
bf55aa6ae2 Type checking for creating new arrays. 2015-11-26 13:10:12 +01:00
chriseth
30b325fdc1 Allow "new expressions" also for general type names.
Breaking change: If you want to send value with a contract creation, you
have to use parentheses now:

`(new ContractName).value(2 ether)(arg1, arg2)`
2015-11-26 13:10:12 +01:00
chriseth
f86451cd68 Fix solidity dependencies. 2015-11-26 12:40:15 +01:00
chriseth
20542d1623 Style. 2015-11-25 14:24:00 +01:00
chriseth
36ba7d11ca Again some why3 fixes with regards to separators in blocks. 2015-11-25 14:24:00 +01:00
chriseth
ce1e73a734 Merge pull request #245 from chriseth/buildfixes
Build dependency fixes.
2015-11-25 14:03:29 +01:00
chriseth
aa8e9e66ed Merge pull request #244 from chriseth/fix_stringAlloc
Fix for memory allocation bug.
2015-11-24 16:18:41 +01:00
chriseth
46bc70e709 Build dependency fixes. 2015-11-24 16:12:42 +01:00
chriseth
68f1da1e3a Fixed string inside struct allocation bug. 2015-11-24 14:54:37 +01:00
chriseth
e59b9b445a Merge pull request #241 from chriseth/why3VariablesInConditions
Why3 variables in conditions
2015-11-24 11:33:35 +01:00
chriseth
10fe0a2434 Style. 2015-11-23 16:30:51 +01:00
Gav Wood
2554d6104a Merge pull request #236 from ethereum/hot_gav
Fix up for new API from EIP-1.1.
2015-11-23 12:42:28 +01:00
chriseth
806507d5c0 addmod and mulmod for why3. 2015-11-23 00:58:17 +01:00
chriseth
82a6ab486d Why3: Direct references to variables using #. 2015-11-23 00:58:17 +01:00
Gav Wood
bff172cf65 Fix up for new API from EIP-1.1. 2015-11-21 14:34:21 +01:00
chriseth
284d8f8b13 Merge pull request #229 from chriseth/fv_storage_types
Formal Verification: State variables.
2015-11-19 13:16:23 +01:00
chriseth
8dfc964e7d Merge pull request #227 from chriseth/addmod
Addmod and mulmod.
2015-11-19 13:16:13 +01:00
Gav Wood
3be0ae6e2c Merge pull request #204 from ethereum/hot_gav
The Big Refactor
2015-11-19 12:20:46 +01:00
Gav Wood
938b6793f1 Minor API change - must provide SealEngine to Executive now. 2015-11-19 10:19:53 +01:00
chriseth
12f19fa46b Formal Verification: State variables. 2015-11-19 02:04:33 +01:00
chriseth
0cf8d022ae Addmod and mulmod. 2015-11-18 17:12:39 +01:00
chriseth
f4de369bad Merge pull request #218 from chriseth/fix_overwriteMemory
Fix memory overwrite problem for arrays.
2015-11-17 14:46:19 +01:00
chriseth
0c900f9b8a Fix memory overwrite problem for arrays. 2015-11-16 18:32:21 +01:00
chriseth
a35f91816b Fix dynamic indexed event arguments - applies sha3. 2015-11-16 17:09:09 +01:00
chriseth
34829ae764 Fix problems with statement blocks. 2015-11-11 15:21:01 +01:00
LianaHus
a15d2bbb52 style fix 2015-11-06 21:07:42 +01:00
LianaHus
da47f9df7b style fixes 2015-11-06 20:56:14 +01:00
LianaHus
63060fc1f0 fixed test framework 2015-11-06 18:45:06 +01:00
LianaHus
7eb162c0df fix 2015-11-06 18:45:06 +01:00
LianaHus
79177de80b fixed return valu for resolver 2015-11-06 18:45:06 +01:00
LianaHus
3f726825fb added SourceLocations to error reporting for ReferenceResolver 2015-11-06 18:45:06 +01:00
LianaHus
ff421a9d65 passed SourceLocations instead of nodes to the error reporting function 2015-11-06 18:45:06 +01:00
LianaHus
02d060ea5c fixed build 2015-11-06 18:45:06 +01:00
LianaHus
1a27bf8a39 added errors tu ReferencesResolver 2015-11-06 18:45:06 +01:00
chriseth
907cf28f49 Fix: Cope with non-existing commit hash. 2015-11-02 18:03:04 +01:00
chriseth
a5c227778d Bugfix: Returning literal strings in tuples. 2015-10-31 23:13:45 +01:00
chriseth
56f5d58850 Rename error type. 2015-10-27 17:45:58 +01:00
chriseth
a957322fd7 Preliminary why3 code output. 2015-10-27 00:49:27 +01:00
chriseth
8fb49d85f9 Allow docstrings for statements. 2015-10-26 19:47:25 +01:00
chriseth
af4d687062 Fix indent. 2015-10-26 17:21:32 +01:00
chriseth
b4f561680a Store docstrings in AST annotations. 2015-10-26 15:24:36 +01:00
chriseth
7a9f8d9f35 Merge pull request #171 from LianaHus/sol_change_expected_error_in_parser
Sol change "expected" errors in parser
2015-10-23 13:25:29 +02:00
LianaHus
d8865f9f05 more corrections 2015-10-23 12:56:50 +02:00
chriseth
e48ee59549 Fix override warning. 2015-10-23 12:51:49 +02:00
LianaHus
6e13853421 modified error msg 2015-10-23 12:44:26 +02:00
chriseth
e3dffb611f File reorganisation. 2015-10-21 00:46:01 +02:00
chriseth
87079bd3fd Correctly parse ambiguities like A.B[10] x and x.y[10] = 3. 2015-10-16 16:12:25 +02:00
chriseth
452d473293 Merge pull request #143 from chriseth/loneStructArray
Fix errors when struct array type is used on its own.
2015-10-16 15:20:44 +02:00
chriseth
102114176c Merge pull request #142 from chriseth/fixWarnings
Fix warning.
2015-10-16 15:20:36 +02:00
chriseth
fd8eb2d074 Merge pull request #141 from chriseth/fixExternalTypes
Do not include function in interface list if there are errors.
2015-10-16 15:20:25 +02:00
chriseth
7b56206a98 Do not catch InternalCompilerErrors as part of fatal error handling.
InternalCompilerErrors always have to end the whole compilation process because a serious inconsistency was detected.
2015-10-16 14:52:01 +02:00
chriseth
ead0478f26 Fix errors when struct array type is used on its own. 2015-10-16 14:36:30 +02:00
chriseth
02a3c1d999 Fix warning. 2015-10-16 13:48:46 +02:00
chriseth
cd9132672a Do not include function in interface list if there are errors. 2015-10-16 13:11:16 +02:00
chriseth
52eaa477d4 Merge pull request #132 from chriseth/tupleExpression
Tuple expressions and destructuring assignments
2015-10-16 10:01:34 +02:00
chriseth
2920a32ae8 Fixed indentation. 2015-10-16 10:01:22 +02:00
chriseth
030c868f58 Merge pull request #136 from LianaHus/sol_error_types_refuctoring
changed the way of reporting error during contract checking
2015-10-15 18:30:32 +02:00
LianaHus
ec5b9c2e92 changed the way of reporting error during contract checking 2015-10-15 18:15:52 +02:00
chriseth
1d4219d43d Some fixes taking other pull requests into account. 2015-10-15 18:14:14 +02:00
chriseth
e21df35416 MacOS fix. 2015-10-15 17:38:42 +02:00
chriseth
ae5b12f54b Fix compiler warnings. 2015-10-15 17:38:42 +02:00
chriseth
029b819489 Wildcards. 2015-10-15 17:38:42 +02:00
chriseth
039b2a764f Destructuring assignments. 2015-10-15 17:38:42 +02:00
chriseth
7ebd536e79 Tuple expressions. 2015-10-15 17:38:42 +02:00
chriseth
7ba42f4707 Merge pull request #130 from LefterisJP/dynamic_array_push
Dynamic array push
2015-10-15 17:37:15 +02:00
LianaHus
b2e787b803 missing const 2015-10-15 16:59:38 +02:00
LianaHus
2348a4ef34 indent 2015-10-15 16:56:12 +02:00
LianaHus
656e749b1e added const 2015-10-15 16:51:01 +02:00
LianaHus
162d021c3f some more style fixes 2015-10-15 16:27:26 +02:00
LianaHus
3871e77946 style fixes 2015-10-15 16:13:52 +02:00
LianaHus
68e126dc7d style fixes mostly 2015-10-15 16:08:02 +02:00
LianaHus
cd6262998c removed commit 2015-10-15 15:16:31 +02:00
Lefteris Karapetsas
a823de2d58 push() for byte arrays also properly implemented 2015-10-15 14:37:11 +02:00
LianaHus
771f20b595 mainly style fixes/renaming 2015-10-15 14:36:23 +02:00
Lefteris Karapetsas
9224c1f712 Working implementation of arraypush
ByteArrayPush() gets a test but is ignored for now, since there are
still some issues with its implementation
2015-10-15 13:54:59 +02:00
LianaHus
675aed1edf fixed new tests 2015-10-15 11:50:25 +02:00
LianaHus
7a7a7dcbb5 fixes error after conflict resolving 2015-10-15 11:10:55 +02:00
Lefteris Karapetsas
a521843f6b Implement Dynamic array push and fix test
Still a work in progress. There is a disturbance in the stack at the
moment and that's why there are some cout statements left for debugging.
2015-10-15 10:52:30 +02:00
Lefteris Karapetsas
3287cd464f WIP - Expression compiler for array push 2015-10-15 10:52:30 +02:00
LianaHus
c3491e4469 errors instead of exceptions
Conflicts:
	libsolidity/CompilerStack.cpp
	libsolidity/NameAndTypeResolver.cpp
	libsolidity/NameAndTypeResolver.h
	libsolidity/TypeChecker.cpp
	test/libsolidity/SolidityNameAndTypeResolution.cpp
2015-10-14 20:37:41 +02:00
LianaHus
8f7f22c5a6 some fixes 2015-10-14 20:27:44 +02:00
LianaHus
742e5b259a added Error class for all kind of errors
Conflicts:
	libsolidity/Exceptions.h
2015-10-14 20:27:41 +02:00
LianaHus
95ad872678 added Error class for all kind of errors
Conflicts:
	libsolidity/Exceptions.h

Conflicts:
	libsolidity/ReferencesResolver.cpp
2015-10-14 20:27:30 +02:00
chriseth
72f7792f8e Some further test fixes. 2015-10-13 14:31:24 +02:00
chriseth
13d7bc4ee8 Some more tests and typos fixed. 2015-10-13 12:22:57 +02:00
chriseth
deebc7e860 Multi-variable declarations. 2015-10-13 12:16:23 +02:00
chriseth
a5d12b8761 Introduced tuple type and added multi variable declarations to type
checker.
2015-10-09 19:35:41 +02:00
chriseth
b9a166061b Refactoring to allow multi-variable declarations. 2015-10-08 18:25:44 +02:00
chriseth
35de03626f Check invalid integer constants for functions accepting arbitrary arguments. 2015-10-07 18:13:20 +02:00
chriseth
24d04087d2 Resolve binary dependencies properly. 2015-10-07 17:35:07 +02:00
chriseth
68bf6e60c5 Merge pull request #122 from chriseth/anonymousEventsWithFourIndexedParams
Allow four indexed arguments for anynomous events.
2015-10-07 17:01:37 +02:00
chriseth
8644ad6866 Merge pull request #118 from chriseth/rejectEtherSentToLibrary
Reject ether sent to library.
2015-10-07 16:41:49 +02:00
chriseth
b6ddde9372 Allow four indexed arguments for anynomous events. 2015-10-07 16:40:54 +02:00
chriseth
f3913d6996 Fix boost error. 2015-10-07 12:31:38 +02:00
chriseth
0297a213fe Reject ether sent to library. 2015-10-06 22:55:45 +02:00