chriseth
acab525fef
Merge pull request #2199 from roadriverrail/no_unary_plus
...
Deprecate use of unary '+'
2017-05-02 16:43:47 +02:00
chriseth
96870686a9
Style and stricter tests.
2017-05-02 15:48:58 +02:00
chriseth
2891b98882
Merge pull request #2110 from federicobond/fix-posttypechecker
...
Fix PostTypeChecker retaining state across contracts
2017-05-02 12:12:46 +02:00
Rhett Aultman
e544698ad3
Deprecate use of unary '+'
...
The unary '+' serves no meaningful purpose in Solidity and it makes it
possible to produce typos with dagerous implications (e.g. 'a =+5 '),
so we are deprecating it. The SyntaxChecker currently issues warnings
on the unary '+' but will still compile it for now.
2017-04-28 17:43:19 -07:00
chriseth
f3ec2ba39e
Refactor to combined scope and stack height info.
2017-04-26 17:12:04 +02:00
chriseth
1d712c7d64
Fix storage access tests.
2017-04-25 16:49:04 +02:00
chriseth
978884d9ca
Build fix.
2017-04-25 16:49:04 +02:00
chriseth
478f2997ea
Storage access from inline assembly.
2017-04-25 16:49:04 +02:00
chriseth
dfb7d5ebd9
Move analysis out of code generator.
2017-04-25 16:49:04 +02:00
chriseth
dfaab73efe
Only allow access to local variables and only if they have a stack size of one.
2017-04-25 16:49:04 +02:00
chriseth
83bf34c571
Review comments and cleanup.
2017-04-25 16:49:03 +02:00
chriseth
c6fa78c73e
Use actual type checking phase of assembler.
2017-04-25 16:49:03 +02:00
chriseth
e0849f2f3b
Split external identifier access into resolving and code generation.
2017-04-25 16:49:03 +02:00
chriseth
937695bfdc
Change error message.
2017-04-21 15:04:03 +02:00
chriseth
9bc9fe6af7
Warn about side-effect free statements.
2017-04-21 11:36:38 +02:00
Federico Bond
e6f13353f2
Fix PostTypeChecker retaining state across contracts
2017-04-08 18:45:15 -03:00
chriseth
4792806b99
Fix: Contract inheriting from base with unimplemented constructor is abstract.
2017-03-21 18:12:08 +01:00
chriseth
5ced3af3a0
Visit structs only once.
2017-03-21 15:05:59 +01:00
Alex Beregszaszi
96c09fcbcd
Simplify interface checks for FunctionDefinition
2017-03-17 17:07:20 +00:00
Alex Beregszaszi
2067a00f22
Disallow private or internal functions in interfaces
2017-03-17 17:07:18 +00:00
Alex Beregszaszi
d5102c1db7
Disallow constructor in interfaces
2017-03-17 17:06:52 +00:00
Alex Beregszaszi
2c4bce2d62
Disallow enums in interfaces
2017-03-17 17:06:52 +00:00
Alex Beregszaszi
16a91ef90a
Use declared instead of defined
2017-03-17 17:06:52 +00:00
Alex Beregszaszi
4693aed177
Reject invalid definitions for interface contracts
2017-03-17 16:27:04 +00:00
Alex Beregszaszi
3ae88377d6
Change references to FunctionType::Location
2017-03-16 12:49:52 +00:00
chriseth
ab178b8bac
Mention 'transfer' in warning about unchecked 'send'.
2017-03-15 11:10:24 +01:00
Yoichi Hirai
d134fda0c0
Merge pull request #1729 from ethereum/constantvariables
...
Only allow pure expressions for constant state variables.
2017-03-15 10:03:35 +01:00
chriseth
9f328ff749
Turn non-constant constants error into warning.
2017-03-14 19:25:16 +01:00
chriseth
47cd8964b8
Require and Assert.
2017-03-14 14:21:33 +01:00
chriseth
592cec7e90
Disallow constants that are neither value types nor strings.
2017-03-13 13:30:23 +01:00
chriseth
14948e514d
Allow enum values for constants.
2017-03-13 13:30:23 +01:00
chriseth
f39763e91c
Type checking for pure expressions.
2017-03-13 13:30:21 +01:00
Yoichi Hirai
ef8b56a058
Merge pull request #1751 from ethereum/warnLiteralExpBase
...
Warn if base of exponentiation operation is a literal.
2017-03-10 19:25:47 +01:00
Ryan Casey
797e05ba08
Resolve build-stopping error about 'minor' and 'major' being defined in <sys/types.h>
2017-03-09 17:03:19 -08:00
Yoichi Hirai
e364909e06
Merge pull request #1747 from ethereum/fixICEInternalConstructor
...
Move privateness of constructor into AST itself.
2017-03-08 17:49:14 +01:00
chriseth
3f9a775834
Merge pull request #1748 from ethereum/singletonArray
...
Use mobile type for singleton array.
2017-03-08 16:11:03 +01:00
chriseth
93ef7fd260
Disallow compound assignment for tuples.
2017-03-08 12:42:07 +01:00
Yoichi Hirai
a1e350a4ae
Merge pull request #1699 from ethereum/asmlabels
...
Assembly labels with stack information
2017-03-08 11:56:44 +01:00
chriseth
1324ebc4bf
Warn about literal constant base in exponentiation.
2017-03-07 13:44:11 +01:00
chriseth
a2ac05e1a2
Merge pull request #1733 from ethereum/selfReferentialConstant
...
Detect cyclic dependencies between constants.
2017-03-06 17:18:39 +01:00
chriseth
2fcccb97d3
Merge pull request #1737 from ethereum/localmappings
...
Disallow uninitialized mapping variables.
2017-03-06 15:05:58 +01:00
chriseth
5c5d83fd70
Check for circular references in constant variables.
2017-03-06 15:05:09 +01:00
chriseth
c500d9f717
Convert to mobile type for array type.
2017-03-06 14:42:28 +01:00
chriseth
c126edc6ea
Disallow uninitialized mapping variables.
2017-03-06 14:27:18 +01:00
chriseth
f300bdb020
Move public constructor property into AST itself.
2017-03-06 14:12:42 +01:00
chriseth
f521fd7b19
Mention way to remove warning.
2017-03-06 13:37:57 +01:00
Yoichi Hirai
cfbbd89daf
Merge pull request #1702 from ethereum/assertError
...
Change effect of assert to invalid opcode.
2017-03-03 18:25:50 +01:00
chriseth
455e8a4ef8
Move lambda.
2017-03-03 15:41:02 +01:00
chriseth
25dcfa3480
Refactor CodeGen to recurse on blocks.
2017-03-03 15:41:01 +01:00
chriseth
cc01d870ff
Disallow variable declaration with inferred empty tuple type.
2017-03-02 14:33:58 +01:00