Commit Graph

161 Commits

Author SHA1 Message Date
Lu Guanqun
bf7daf0814 [cond-expr] don't allow conditional as left value for the first stage 2016-01-22 17:14:00 +00:00
Lu Guanqun
b003290638 [cond-expr] fixup according to code review 2016-01-22 17:14:00 +00:00
Lu Guanqun
82ee9503e9 [cond-expr] change endVisit() to visit() 2016-01-22 17:14:00 +00:00
Lu Guanqun
36a758e224 [cond-expr] fix the crash in ExpressionStatement 2016-01-22 17:14:00 +00:00
Lu Guanqun
9cd96222da [cond-expr] support conditional expression as lvalue 2016-01-22 17:14:00 +00:00
Lu Guanqun
047172eb9a [cond-expr] add type checker 2016-01-22 17:14:00 +00:00
chriseth
67c855c583 Merge pull request #356 from guanqun/break-not-in-loop
check whether break/continue is in the loop
2016-01-20 19:23:23 +01:00
Lu Guanqun
df728581ce add another test case for continue not in loop 2016-01-19 03:24:58 +00:00
Lu Guanqun
c8886ed5cf code changes according to Chris's comments 2016-01-19 02:16:13 +00:00
Liana Husikyan
9613a94153 Update TypeChecker.cpp 2016-01-15 18:11:05 +01:00
LianaHus
b2daa5a9d8 fixed assert on EI creation for structs containing only mapping or arrays 2016-01-15 17:36:06 +01:00
Lu Guanqun
e130bc7e7c check whether break/continue is in the loop 2016-01-15 15:12:23 +08:00
chriseth
d2f18c73f7 Merge pull request #346 from chriseth/importAliases
Allow aliases during import.
2016-01-13 17:29:34 +01:00
RJ Catalano
c45593a444 clarification on dynamic arrays, switcheroo on typepointer, and a documentation test added 2016-01-11 23:41:20 -06:00
RJ Catalano
4a6815c9bd Merge branch 'develop' of https://github.com/ethereum/solidity into develop 2016-01-11 15:39:35 -06:00
RJ Catalano
ac664e7f86 final changes to typechecker, the expression compiler, and a couple more tests for good measure 2016-01-11 14:25:59 -06:00
chriseth
f20a604c5a Allow aliases during import. 2016-01-11 13:56:02 +01:00
RJ
df9dfa8fef find common type 2016-01-10 01:09:58 -06:00
chriseth
d3c8847726 Fixed a crash during type checking. 2016-01-08 15:20:54 +01:00
chriseth
b158e48c1a Merge pull request #338 from guanqun/add_paren
support syntax "(x) = 3"
2016-01-05 13:15:29 +01:00
Lu Guanqun
568da11369 support decayed tuple expression as left value 2016-01-04 16:11:36 +08:00
chriseth
0e2fa39fad Use paths instead of simple identifiers wherever possible. 2015-12-21 18:44:21 +01:00
chriseth
603dc58040 Simple aliasing during import. 2015-12-18 12:46:56 +01:00
chriseth
d3c459b5a9 Parse complex import directives. 2015-12-18 12:46:54 +01:00
RJ Catalano
0ba24a5289 changed a couple of small nuances, made an attempt at fixing the parsing in the inline arrays case (fails), and added test for inline arrays per Chriseth request 2015-12-16 12:55:52 -06:00
RJ Catalano
caa6202f62 temporary assert added 2015-12-16 10:34:16 -06:00
RJ Catalano
c8e4e9c05c still not able to get types resolved, however it is compiling 2015-12-15 16:44:11 -06:00
chriseth
591a4f1ff4 Merge pull request #288 from chriseth/import_contexts
Do not clutter importee when importing.
2015-12-15 11:43:59 +01:00
chriseth
53da78e609 Style. 2015-12-15 09:57:05 +01:00
chriseth
251e7aa462 Merge pull request #289 from chriseth/fix_base_constructor_params
Fix: Type checker crash for wrong number of base constructor arguments.
2015-12-10 15:48:48 +01:00
chriseth
f8228e8ab1 Relative paths in import directives. 2015-12-09 19:21:02 +01:00
chriseth
7cb7818cea Source units are independent scopes. 2015-12-09 19:09:24 +01:00
chriseth
39f57a9c71 Fix: Segfaults connected to paramater types.
parameterTypes does not return by const reference anymore.
2015-12-09 17:57:34 +01:00
chriseth
f5b184323d Fix: Type checker crash for wrong number of base constructor arguments. 2015-12-09 17:37:19 +01:00
chriseth
e510e7e792 Bugfix concerning pointers to moved data. 2015-12-08 12:41:24 +01:00
chriseth
7e3bf833ae Bugfix for explicit memory types in libraries. 2015-11-30 19:46:26 +01:00
chriseth
e9c7837c15 Merge pull request #251 from chriseth/bind2
Bind library functions to types.
2015-11-30 16:06:44 +01:00
chriseth
f9e52c9db1 Also check the object type for bound functions. 2015-11-29 00:16:07 +01:00
chriseth
b97bb086de Introduce selfdestruct alias for suicide. 2015-11-29 00:10:07 +01:00
chriseth
d71cd3aa2b Added the using x for y directive. 2015-11-26 17:49:39 +01:00
chriseth
09b2f9acb7 Resolve type names using regular AST visit. 2015-11-26 17:49:02 +01:00
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
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
0cf8d022ae Addmod and mulmod. 2015-11-18 17:12:39 +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
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
e3dffb611f File reorganisation. 2015-10-21 00:46:01 +02:00