Commit Graph

861 Commits

Author SHA1 Message Date
chriseth
a9c6ff4ac8 Refactor json return type generation. 2017-01-26 18:21:19 +01:00
Valentin Wüstholz
5b7cc018f0 Address feedback from code review. 2017-01-26 16:39:07 +01:00
Valentin Wüstholz
9bcbd93ac5 Change translation of implicit throws (issue #1589).
This adds a new invalid instruction that is used for encoding
implicit throws that are emitted by the compiler. This makes it
possible to distinguish such runtime errors from user-provided,
explicit throws.
2017-01-26 16:39:07 +01:00
Alex Beregszaszi
102fd7ee5d Merge pull request #1604 from ethereum/checksums
Warn about invalid checksums of addresses.
2017-01-26 14:42:34 +00:00
chriseth
873f2dddd6 Update error message. 2017-01-26 13:52:02 +01:00
chriseth
525758a130 Disallow assignment to non-identifiers. 2017-01-26 13:40:40 +01:00
chriseth
946a63c26f Add test for assignment. 2017-01-25 17:27:01 +01:00
chriseth
27ba665694 Moved test. 2017-01-25 17:24:43 +01:00
Alex Beregszaszi
7ff44bec94 Add test for shadowing inline assembly instruction 2017-01-25 11:28:09 +00:00
Lefteris Karapetsas
9ca0fde853 Fix and better output for tests 2017-01-25 11:01:52 +01:00
Lefteris Karapetsas
5738e865d5 Accept any kind of whitespace after natspec tags 2017-01-25 11:01:52 +01:00
chriseth
1316bb7565 Warn about invalid checksums of addresses. 2017-01-24 23:37:48 +01:00
chriseth
8e5f1c0d50 Test double inclusion of bytecode. 2017-01-24 17:41:31 +01:00
chriseth
dea59bfbdc Test for initializing recursive structs. 2017-01-24 12:06:40 +01:00
chriseth
b52a60402d Merge pull request #1245 from ethereum/1215
Allow multiple events of the same name
2017-01-24 11:52:21 +01:00
Yoichi Hirai
3d8b56c2a4
test: add tests about functions and events of the same name 2017-01-23 15:25:13 +01:00
Yoichi Hirai
8dc306d62b
test: add a test case about inheriting multiple events of the same name 2017-01-23 15:25:13 +01:00
Yoichi Hirai
567139486f
test: somehow log counting system has changed 2017-01-23 15:25:13 +01:00
Yoichi Hirai
4c09e81c3e
test: check the results of function calls in the test for multiple events of the same name 2017-01-23 15:25:13 +01:00
Yoichi Hirai
133d1c05e1
test: fixing inconsistent usage of end-to-end test framework 2017-01-23 15:25:13 +01:00
Yoichi Hirai
0e85e35a7f
test: Add an end-to-end test about multiple events of the same name
See #1215
2017-01-23 15:25:13 +01:00
Yoichi Hirai
5a56496db9
test: Add a test for #1215
using the original example from @pipermerriam
2017-01-23 15:25:13 +01:00
chriseth
df4ef74199 Add tests for internal constructor. 2017-01-20 19:22:39 +01:00
chriseth
7159944f0f Reset AST node IDs between compilation runs. 2017-01-20 12:00:16 +01:00
chriseth
da178d967f Properly escape user strings and lists. 2017-01-19 13:23:58 +01:00
chriseth
3fed790a56 Type identifiers. 2017-01-19 13:23:57 +01:00
chriseth
d3a391c136 Provide fallback for linking. 2017-01-18 17:41:36 +01:00
Rhett Aultman
88a2ac25e5 Revert "Fix contract lookup in tests"
This reverts commit f8914c6b28.
2017-01-16 18:07:48 -05:00
Rhett Aultman
fda39afdba Modify library collision test
Since libaraies no longer collide on name but on fully-qualified name,
you can only induce collision by colliding them as idenfitiers.
2017-01-16 12:32:58 -05:00
Rhett Aultman
a7f8a1986a Revert "Move clashing libraries to common source in test"
This reverts commit c4a9ca5cfe7a8b4ba9d2d84392c57d5eefacd1f7.
2017-01-16 12:32:58 -05:00
Rhett Aultman
1f30982ab5 Use fully-qualified names for linking, too
Using libraries leaves behind a library link reference in the binary
which the linker must later resolve.  These link references were still
being generated by name and not by fully-qualified name.  This would
lead to a link-time collision between two libraries having the same
name but in different source units.

This change changes linker symbols over to fully-qualified names,
which resolves that issue.  This does potentially introduce a new
problem, which is that linker symbols appear to be limited to 36
characters and are truncated.  Storing paths extends the average
symbol size, and it would be great if truncation was from the tail
rather than the head.
2017-01-16 12:32:57 -05:00
Rhett Aultman
f8914c6b28 Fix contract lookup in tests
The fully-qualified name of a contract with no source unit is :<Name>
instead of just <Name>, so the test system needed to be adjusted
accordingly.
2017-01-16 12:32:57 -05:00
Rhett Aultman
220ccfb492 Move clashing libraries to common source in test
Since contracts and libraries only collide if they share a common
source file now, this test only works if both libraries are in the
same source.
2017-01-16 12:32:57 -05:00
chriseth
bde0b40634 Merge pull request #1479 from ethereum/function_variable_mixin
Disallow mixin of functions and attributes under the same name
2017-01-13 09:36:00 +01:00
VoR0220
b6508ca992
fixed
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-11 12:03:54 -06:00
VoR0220
4542f459f1
added fix and a test for order independence of nested prefixing
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-11 11:45:14 -06:00
Yoichi Hirai
9602318eab
test: allow multiple errors in modifier-function overriding 2017-01-11 18:28:11 +01:00
Yoichi Hirai
42b6726173
analysis: allow some shadowings explicitly 2017-01-11 18:28:11 +01:00
VoR0220
6d9020b3b8
fixed test and added solution
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-08 22:53:54 -06:00
VoR0220
4f62980d52
added test
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-08 22:53:51 -06:00
Yoichi Hirai
07f34e0023
test: add a test importing a file name starting with a period 2017-01-03 18:18:27 +01:00
Yoichi Hirai
96ca706353
test: add a test case for #1286 2017-01-02 17:58:33 +01:00
Yoichi Hirai
18f8f29c0a Merge pull request #1487 from ethereum/shift-ops
Shift operators
2016-12-14 16:31:27 +01:00
chriseth
08a11e309f Fix tests. 2016-12-13 17:02:28 +01:00
Yoichi Hirai
932e7887bd
test: add tests that tries different types on <<= 2016-12-13 16:35:42 +01:00
Federico Bond
de720e643d Improve error message when trying to modify constant variables 2016-12-13 00:32:37 -03:00
chriseth
2fac1d23a7 Tests for bytes. 2016-12-12 11:12:12 +01:00
chriseth
7bc2ecf30a Correct test expectations. 2016-12-12 11:12:12 +01:00
chriseth
2738045030 Cleaner shift handling and type conversion for binary operations. 2016-12-12 11:12:12 +01:00
chriseth
2df60bec92 Type after shift should be type of left operand. 2016-12-12 11:12:12 +01:00
Alex Beregszaszi
b8b4f5e9f9 Support bitshifting in variables 2016-12-12 11:12:10 +01:00
Federico Bond
05139500fb Warn about using msg.value in non-payable function 2016-12-08 16:22:13 -03:00
chriseth
84443eb560 Merge pull request #1351 from ethereum/truncate_bit
Truncate a boolean from calldata into one bit
2016-12-08 16:15:35 +01:00
chriseth
e7ff4ac810 Merge pull request #1412 from ethereum/disallow-multiple-errors
disallow more than one errors in name and type tests
2016-12-08 16:07:46 +01:00
Yoichi Hirai
94536ccec8
test: check error messages in parser tests 2016-12-06 17:28:49 +01:00
Yoichi Hirai
1f345e527d
test: either fix tests to raise just one error, or mark them as raising multiple errors 2016-12-05 15:41:37 +01:00
Yoichi Hirai
01215694f6
test: disallow more than one errors in name and type tests 2016-12-05 15:41:37 +01:00
Federico Bond
70d246c834 Migrate remaining source code in tests to R literals 2016-12-03 17:52:51 -03:00
chriseth
5098e1eb15 Count instructions without metadata hash. 2016-12-01 16:04:47 +01:00
Alex Beregszaszi
4c15c465ef Submit library addresses to the compiler in tests (and not link afterwards) 2016-12-01 16:04:00 +01:00
Alex Beregszaszi
c88f34c781 Remove unneeded optimised test from EndToEndTest 2016-12-01 16:04:00 +01:00
Alex Beregszaszi
1ad9640fa3 Optimizer tests to not interfere with the optimiser flag 2016-12-01 16:03:59 +01:00
chriseth
f91ae3f06b Fix tests 2016-12-01 16:03:59 +01:00
chriseth
6a7ff039df Use CBOR encoding. 2016-12-01 16:03:59 +01:00
chriseth
1e35526eb6 Fix tests. 2016-12-01 16:03:59 +01:00
chriseth
aa1fd6a879 Add test. 2016-12-01 16:03:59 +01:00
chriseth
5789eaa78d Metadata stamp. 2016-12-01 16:03:59 +01:00
chriseth
55a719a79c Merge pull request #1462 from ethereum/fix-incorrect-assertion
codegen: assertion did not assert non-nullness
2016-12-01 15:14:31 +01:00
chriseth
1367aef83b Merge pull request #1461 from ethereum/reference-not-pointer
test: replace a pointer argument by a reference
2016-12-01 15:13:32 +01:00
chriseth
9db14ce673 Merge pull request #1458 from federicobond/r-literals
Use more R string literals in tests
2016-12-01 15:03:27 +01:00
chriseth
5d1d81d270 Merge pull request #1454 from ethereum/end-of-comment
parser: recognize an end of comment of the form `**/`
2016-12-01 12:40:52 +01:00
Yoichi Hirai
422140f603
test: more precise expectation about the error for assigning into storage in inline assembly 2016-12-01 12:27:27 +01:00
Yoichi Hirai
dd0bd57d67
test: change retrieveFunctionBySignature to take a constant reference rather than a pointer
The function `retrieveFunctionBySignature` expected the argument to be a non-null pointer.
This commit makes this assumption more explicit.
2016-12-01 11:53:06 +01:00
Federico Bond
29e304d3bc Fix typos (existant -> existent) 2016-12-01 01:29:30 -03:00
Federico Bond
6ce41b566d Use more R string literals in tests 2016-12-01 00:50:15 -03:00
Alex Beregszaszi
610027cd26 Test that contracts separated by comments are compiled 2016-11-30 23:54:02 +00:00
Yoichi Hirai
547deec4be
codegen: clean any data from the input 2016-11-30 17:42:03 +01:00
Yoichi Hirai
b16cdbb57e
test: add a test that witnesses #1318 2016-11-30 17:40:34 +01:00
Yoichi Hirai
eaab712944
parser: recognize an end of comment of the form **/ at the end of a multi-line doc comment
This fixes #1433
2016-11-30 17:28:07 +01:00
Alex Beregszaszi
ac357d1225 Merge pull request #1442 from ethereum/lll-testing
LLL: introduce testing framework
2016-11-30 15:46:20 +00:00
Alex Beregszaszi
9a6a5f219b Fix sub-0 optimiser test 2016-11-30 11:51:00 +00:00
chriseth
4ff89dda1d Update SolidityOptimizer.cpp 2016-11-30 11:16:43 +00:00
Alex Beregszaszi
8d0b80f944 Add test for SUB with 0 optimisation 2016-11-30 11:16:43 +00:00
Alex Beregszaszi
25c5dd48de Rename testSolidityAgainstCpp* to testContractAgainstCpp* 2016-11-29 21:54:28 +00:00
Alex Beregszaszi
d83dd59178 Move ExecutionFramework to the dev::test namespace 2016-11-29 21:54:27 +00:00
Alex Beregszaszi
a226db7338 Split out Solidity-specific part of ExecutionFramework 2016-11-29 21:54:27 +00:00
chriseth
0933a4ff1a Merge pull request #1429 from ethereum/unreachablepeephole
Some dead code elimination
2016-11-25 16:57:59 +01:00
chriseth
3a8a0708ff Merge pull request #1381 from ethereum/overflown_enum_compared
Enum overflow checking before writing to storage
2016-11-25 16:22:12 +01:00
chriseth
f2872bfa99 Peephole optimizer for unreacheable code. 2016-11-25 16:10:02 +01:00
Yoichi Hirai
df5d5edd1b
test: add a test about explicitly converting a string literal to string 2016-11-25 13:54:13 +01:00
Yoichi Hirai
e136ec8704
ast: string literals that are not valid UTF are not convertible to strings 2016-11-25 13:36:06 +01:00
Yoichi Hirai
aaf58a8c4e
test: add a test case converting an invalid UTF-8 into a string 2016-11-25 13:13:47 +01:00
chriseth
9e7b608e78 Merge pull request #1392 from ethereum/check_warning_contents
Check warning text in tests
2016-11-24 21:22:17 +01:00
Yoichi Hirai
a81f556302
test: various fixes 2016-11-24 19:22:26 +01:00
Yoichi Hirai
384c4546f1
interface: move searchForSubstring out of Error class into a separate file 2016-11-24 16:45:17 +01:00
Yoichi Hirai
feb10d015f
test: add a test that stores an invalid enum value 2016-11-24 11:31:45 +01:00
Yoichi Hirai
d4173cd54a
test: add a test about trying to log an event with too big enum values 2016-11-24 11:31:45 +01:00
Yoichi Hirai
d49904c92a
test: add a test that compares overflown enums 2016-11-24 11:31:45 +01:00
Yoichi Hirai
2faaddca05
interface: fix the substring search 2016-11-23 17:38:41 +01:00
Yoichi Hirai
cace51fc47
test: wrapping the error message checking in a macro 2016-11-23 17:38:41 +01:00
Yoichi Hirai
ab3db782ae
test: check the error texts
by changing parseAnalyseAndReturnError to return the whole Error, not just the type
2016-11-23 17:38:41 +01:00
chriseth
c9293f2f23 Enable the optimizer for test runs. 2016-11-23 16:48:13 +01:00
chriseth
0c874bbf27 Merge pull request #1425 from ethereum/fixLicensing
Fix licensing headers
2016-11-23 12:45:57 +01:00
VoR0220
3f9f725737 Fix licensing headers
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-23 12:22:33 +01:00
Yoichi Hirai
75686e3d75
test: add a test case about returning a struct in memory from a library
This fixes #1378
2016-11-22 17:09:22 +01:00
chriseth
7fb7d5ae39 Optimizer: Clear state for JUMPDESTs. 2016-11-22 14:58:24 +01:00
Alex Beregszaszi
a35ca910c7 Rename test contract names to capitalised 2016-11-17 17:23:35 +00:00
Alex Beregszaszi
1d6fe5c4e4 Add payable to constructor ABI tests 2016-11-17 17:23:35 +00:00
Alex Beregszaszi
7af360882e Add missing payable constructors 2016-11-17 17:23:35 +00:00
chriseth
2c14a96820 Some more assertions and style changes. 2016-11-16 15:09:01 +01:00
chriseth
b3eeb5fcf9 Some more tests. 2016-11-16 14:37:19 +01:00
chriseth
e1fec9b287 JSON tests. 2016-11-16 14:37:19 +01:00
chriseth
ec31d08775 Change encoding to address-funid and add "function" as ABI type. 2016-11-16 14:37:19 +01:00
chriseth
a8e7ed37a1 Disable broken tests that are not useful. 2016-11-16 14:37:19 +01:00
chriseth
739dabff8b Fix tests. 2016-11-16 14:37:19 +01:00
chriseth
7a292c9a05 Fix parser for function type disambiguity. 2016-11-16 14:37:19 +01:00
Yoichi Hirai
f3d0433ec3 test: add a test about external function type taking/returning internal functions 2016-11-16 14:37:18 +01:00
chriseth
e51f852504 Converted sub assembly to smart pointer. 2016-11-16 14:37:18 +01:00
chriseth
e543bd34c0 Stored combined creation and runtime tags.
Includes a change to Assembly to allow tags from sub-assemblies to be
used.

Sorry, this get a bit bigger than I thought.
2016-11-16 14:37:18 +01:00
chriseth
ee3efa67a8 Fix tests. 2016-11-16 14:37:18 +01:00
chriseth
08763a206d Test passing functions as arrays to other contracts. 2016-11-16 14:37:18 +01:00
chriseth
925d674146 Disallow payable internal functions. 2016-11-16 14:37:18 +01:00
chriseth
e1df3bd77f Fix tests. 2016-11-16 14:37:18 +01:00
chriseth
f21f794f3c delete for function types 2016-11-16 14:37:18 +01:00
Yoichi Hirai
c9f9b2ab4d codegen: add a compilation mode and a runtime context to CompilerContext 2016-11-16 14:37:18 +01:00
chriseth
47794c1da4 Implement uninitialized storage functions. 2016-11-16 14:37:18 +01:00
chriseth
b6992d740a Tests for uninitialized storage functions. 2016-11-16 14:37:18 +01:00
Yoichi Hirai
3158a8ea7b test: add a test for storing an internal function in the constructor and then using the stored function in runtime 2016-11-16 14:37:18 +01:00
chriseth
87b148494b Tests. 2016-11-16 14:37:18 +01:00
Yoichi Hirai
6172590b87 Add a test around storing functions in an array 2016-11-16 14:37:17 +01:00
Yoichi Hirai
708b7b35ad Add a parser test for arrays containing functions 2016-11-16 14:37:17 +01:00
Yoichi Hirai
ab3d1b024d Add tests around calling functions returning functions returning functions 2016-11-16 14:37:17 +01:00
chriseth
95d7555e3c External functions in storage. 2016-11-16 14:37:17 +01:00
chriseth
6f19559de0 Fix some type checks and tests for internal / external function parameters. 2016-11-16 14:37:17 +01:00
chriseth
97a3588701 Function type state variables. 2016-11-16 14:37:17 +01:00
chriseth
dd173f83e3 Code generator for function types. 2016-11-16 14:37:17 +01:00
chriseth
cc8583ec7d Function types. 2016-11-16 14:37:17 +01:00
Alex Beregszaszi
227f6aab4f Change natspec/abi JSON expected message to be the same 2016-11-15 17:58:55 +00:00
Alex Beregszaszi
81c50143f2 Move JSON helpers to libdevcore/json 2016-11-15 17:38:18 +00:00
Alex Beregszaszi
9205662de9 Update tests to use JSON 2016-11-15 17:20:30 +00:00
Alex Beregszaszi
ae8403ed08 Rename ErrorTag to invalidJumpLabel in inline assembly 2016-11-15 10:30:33 +00:00
Alex Beregszaszi
bee926bf3f Add tests for the ErrorTag 2016-11-15 10:30:33 +00:00
chriseth
dce80911e1 Add tests 2016-11-15 09:16:33 +01:00
Yoichi Hirai
e6247195dd
test: add a testcase about using an invalid enum value as an external call argument 2016-11-14 20:46:30 +01:00
Yoichi Hirai
454e7618c8
test: add tests about returning invalid enum values from interface functions 2016-11-14 16:44:04 +01:00
Yoichi Hirai
4b6e7e0677
test: add a test conerting an enum into another enum, which should fail 2016-11-11 17:48:03 +01:00
Yoichi Hirai
eee629652e
parsing: ban empty enum definition. 2016-11-11 17:48:03 +01:00
Yoichi Hirai
457daecba1
test: add a test converting -1 as a literal into an enum
This shows #1334 fixes #1344
2016-11-11 17:48:03 +01:00
Yoichi Hirai
08a889a908
test: add a test case for #1343
The test witnesses that #1334 fixes #1343.
2016-11-11 17:48:03 +01:00
Yoichi Hirai
8856adce8f
test: add tests that witness issue #1311 2016-11-11 17:47:48 +01:00
Yoichi Hirai
33590d513e
test: add a test for #621 2016-11-11 15:51:54 +01:00
chriseth
a40dcfef12 Merge pull request #768 from roadriverrail/do_while_loops
Add support for do/while loops
2016-11-10 17:13:45 +01:00
Rhett Aultman
4524ad0870 Add support for do/while loops
This commit adds support for a standard do <statement> while <expr>;
form of statement.  While loops were already being supported; supporting
a do/while loop mostly involves reusing code from while loops but putting
the conditional checking last.
2016-11-10 07:07:25 -08:00
chriseth
81118de512 Merge pull request #1339 from ethereum/typo
test: fix a typo in calling_payable test
2016-11-09 11:29:41 +01:00
chriseth
63bde109a1 Fail if parsing fails in type checker tests. 2016-11-09 10:48:45 +01:00
Yoichi Hirai
88547a1c66
test: fix a typo in calling_payable test 2016-11-08 17:09:24 +01:00
Yoichi Hirai
2e92966684
libevmasm: fix comparison of SourceLocations 2016-11-08 11:11:08 +01:00
chriseth
681b130dc8 Test case for overflow in storage. 2016-10-31 16:40:19 +01:00
Yoichi Hirai
578b02bb37
Add tests for #1246 2016-10-25 16:48:26 +02:00
chriseth
e00a4b47c0 Merge pull request #1264 from ethereum/988
State variable under contract's name
2016-10-25 12:50:24 +02:00
Yoichi Hirai
58477c233d
test: add more tests about state variable access under base contract names 2016-10-24 19:31:51 +02:00
chriseth
6b028701a0 Test. 2016-10-24 16:43:08 +02:00
Yoichi Hirai
922e4b3ce7
test: add tests from #988 2016-10-24 16:34:52 +02:00
Yoichi Hirai
47b11ef2b8
test: add a test case for accessing a state variable under the contract's name
The test comes from the description of #988
2016-10-24 16:28:14 +02:00
Yoichi Hirai
df900c5583
test: add a test about using an inherited enum definition as an expression,
with an explicit mention of the base contract.  The test is about #1131.
2016-10-24 15:28:23 +02:00
chriseth
2b00804d1d Fix crash in throw. 2016-10-24 14:32:49 +02:00
chriseth
cb1fcaf6f6 Merge pull request #1240 from ethereum/1151
ast: super contract type does not contain native members
2016-10-24 11:45:54 +02:00
Yoichi Hirai
4b7fdaa0bd
test: add a test about accessing an enum member without the name of the enum 2016-10-21 13:01:45 +02:00
Yoichi Hirai
f967623a5b
test: add tests for #1131
The tests are about enum inheritance.
2016-10-21 13:01:45 +02:00
Alex Beregszaszi
13b2101ea7 Add tests for inline assembly in modifiers 2016-10-20 23:57:14 +01:00
Yoichi Hirai
6781ec105f
Add a test for #1151 2016-10-20 16:09:52 +02:00
Alex Beregszaszi
6cb2770344 Add two test cases for unbalanced inline assembly 2016-10-20 13:25:28 +01:00
Alex Beregszaszi
0e33b63468 Allow warnings for inline assembly block 2016-10-20 13:25:28 +01:00
Alex Beregszaszi
59603f7b8e Add tests for constant shifts 2016-10-20 00:03:09 +01:00
Alex Beregszaszi
0a3faf48d4 Add tests for magic variables in inline assembly 2016-10-19 20:44:15 +01:00
Alex Beregszaszi
8317eb0383 Add test case for bound types without self 2016-10-19 10:40:45 +01:00
Yoichi Hirai
0542df25df
Add a test for #1242
This is about `super` as an expression.
2016-10-18 13:25:00 +02:00
RJ
d9af51be51 Merge pull request #1079 from VoR0220/fixedTypeTestFramework
Solidity helper function for testing fixed points
2016-10-13 15:18:45 -05:00
chriseth
5fb0bcce45 Replace fixed by standard encode function.
This way, we can use
```
BOOST_CHECK(callContractFunction("t(fixed8x128)", make_pair(rational(2, 3), 128)) == encodeArgs(u256(9)));
```
which is a bit more self-explanatory, I would say.
2016-10-12 17:28:47 +02:00
Alex Beregszaszi
d0791fb365 Fix assignment after tags in inline assembly 2016-10-11 12:28:49 +01:00
chriseth
c4f4d6b971 Fix build error. 2016-10-10 22:14:46 +02:00
chriseth
0b1d449057 Merge pull request #1168 from ethereum/rename-dev-sha3
Rename dev::sha3 to dev::keccak256
2016-10-10 21:23:27 +02:00
Alex Beregszaszi
9f61ae924e Add test for address in inline assembly 2016-10-06 22:05:01 +01:00
Alex Beregszaszi
34df80c502 Add alias keccak256() for sha3() 2016-10-06 16:34:41 +02:00
Alex Beregszaszi
aefb6e5fcf Rename dev::sha3 to dev::keccak256 2016-10-06 14:53:40 +01:00
Alex Beregszaszi
c7508942fe Add test for suicide/selfdestruct 2016-10-06 12:44:33 +01:00
chriseth
212e016091 Merge pull request #1104 from ethereum/fixmemcosts
Fix memory resize costs during call
2016-09-17 12:30:41 +02:00
chriseth
5a45990458 Access output memory area so that we do not pay for resize during call. 2016-09-17 11:29:54 +02:00
chriseth
dd2f878e59 Test case. 2016-09-17 11:29:54 +02:00
chriseth
727c6fac85 Allow value transfer to library functions. 2016-09-17 11:29:27 +02:00
chriseth
031fd568cc Fix crash for TypeName[k]. 2016-09-15 18:16:34 +02:00
VoR0220
cbd933ceed
Solidity helper function for testing fixed points
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-09-09 21:03:23 -05:00
chriseth
6a55405160 Fix problem with release version string. 2016-09-08 17:56:28 +02:00
Alex Beregszaszi
65c4e65cb3 Tests for constructor visibility 2016-09-06 17:53:13 +02:00
Alex Beregszaszi
05ae5e4f5a Tests for constant constructors 2016-09-06 17:31:39 +02:00
chriseth
3588125692 Merge pull request #1014 from ethereum/strict-fallback
Reject constant modifier on the fallback function
2016-09-06 15:51:45 +02:00
Alex Beregszaszi
6ec40b3cde Reject constant modifier on the fallback function 2016-09-06 11:40:00 +01:00
chriseth
9ca7472089 Provide gas stipend manually for send(0). 2016-09-06 12:37:01 +02:00
chriseth
f687635e47 Merge pull request #665 from axic/feature/accept-ether
BREAKING: Add payable modifier
2016-09-06 12:25:19 +02:00
chriseth
171c74843b Merge pull request #995 from chriseth/fixutf8astjson
Do not emit non-utf8 strings for ast json.
2016-09-06 12:25:04 +02:00
chriseth
43c28c1ede Test case for non-utf8 characters in string literal. 2016-09-06 11:07:56 +02:00
chriseth
dff9633084 Test and fixes for payable fallback in ABI. 2016-09-06 10:59:13 +02:00
chriseth
384f189a6a Tests for payable / private combination. 2016-09-06 10:58:56 +02:00
chriseth
ff11aa1927 Change placeholder style. 2016-09-05 21:32:27 +02:00
chriseth
1eb7ddbb09 Make constant and payable mutually exclusive. 2016-09-05 21:28:28 +02:00
chriseth
9c64edf110 Change function type to include and propagate payable and constant modifier. 2016-09-05 21:28:28 +02:00
Alex Beregszaszi
962531af96 Merged in changes from chriseth/payable 2016-09-05 21:28:28 +02:00
Alex Beregszaszi
680b83b2a4 Mark every other test payable where neccesary in EndToEndTest 2016-09-05 21:28:28 +02:00
Alex Beregszaszi
34a6afbd77 Include EndToEnd test for payable keyword 2016-09-05 21:28:18 +02:00
Alex Beregszaszi
a7794b1a68 Include ABI JSON test for payable keyword 2016-09-05 21:28:18 +02:00
chriseth
02984b8de1 Require ";" after "_" 2016-09-05 14:54:50 +02:00
chriseth
459d2dd7cd Fix version pragmas in tests. 2016-09-01 00:03:01 +02:00
chriseth
3c412ed2f6 Version pragma. 2016-09-01 00:02:51 +02:00
chriseth
18abafe029 Merge pull request #960 from Denton-L/change-else-style
Change else style
2016-08-31 22:34:44 +02:00
Denton Liu
a8c5d2bbde Fix syntax error 2016-08-31 11:17:11 -04:00
winsvega
3ccd19868a Merge pull request #947 from winsvega/soltest
rename --ipc to --ipcpath
2016-08-31 12:45:36 +03:00
chriseth
546aca2a3e Test cases. 2016-08-30 15:31:50 +02:00
chriseth
4bfe09897e Make fallback function throw by default. 2016-08-30 15:31:50 +02:00
Dimitry
f892d1b9a3 rename --ipc to --ipcpath 2016-08-29 16:21:49 +04:00
Alex Beregszaszi
4019c832ca Add test for fallback function in JSON ABI 2016-08-26 19:03:46 +01:00
Denton Liu
ff756bc94d Make tests more consistent in style 2016-08-26 13:33:42 -04: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
ce42114c41 Fix tests. 2016-08-26 01:00:39 +02:00
chriseth
21b6aa92ff Disallow fallback function to return values. 2016-08-26 00:07:50 +02:00
chriseth
d5e4b7492e Merge pull request #928 from winsvega/solremove
remove sha256 and rmd160 hash
2016-08-24 19:41:12 +02:00
Dimitry
23acb383d5 remove sha256 and rmd160 hash 2016-08-24 19:52:49 +04:00
Denton Liu
e00f802f72 Remove standard contracts 2016-08-19 10:34:50 -04:00
Alex Sinyagin
4b9eb299d0 Rename root AST JSON node to SourceUnit 2016-08-18 15:38:20 +00:00
Alex Sinyagin
9139d763d3 Use the full names for JSON AST nodes 2016-08-18 13:12:15 +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
af64219e17 Check source loctaion in the InhertanceSpecifier test 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
34f9a59f18 Fix tests. 2016-08-17 11:27:15 +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
chriseth
15b85e2ea8 Fix tests. 2016-08-16 19:04:11 +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
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
61e94940bc Show compilation errors in tests. 2016-08-12 15:11:31 +02:00
chriseth
1bc0320811 Cleanup of test suite init. 2016-08-12 15:11:30 +02:00
Denton Liu
58d37f24ae Remove After test case 2016-08-11 10:15:59 -04:00
Alex Beregszaszi
c54e99a3f5 Include Unicode tests in the scanner 2016-08-04 17:28:48 +01:00
Dmitry K
5925ae0c6a Windows pipe for soltest 2016-08-02 19:32:03 +03:00
chriseth
c0afb4549e Further fixes to the optimizer. 2016-08-01 23:41:11 +02:00
chriseth
ac0d138800 Test case. 2016-08-01 15:30:19 +02:00
chriseth
8b68d476c2 Fix optimizer tests. 2016-08-01 12:17:04 +02:00
Bob Summerwill
4ee2114127 Make the Solidity repository standalone.
This commit is the culmination of several months of work to decouple Solidity from the webthree-umbrella so that it can be developed in parallel with cpp-ethereum (the Ethereum C++ runtime) and so that even for the Solidity unit-tests there is no hard-dependency onto the C++ runtime.

The Tests-over-IPC refactoring was a major step in the same process which was already committed.

This commit contains the following changes:

- A subset of the CMake functionality in webthree-helpers was extracted and tailored for Solidity into ./cmake.   Further cleanup is certainly possible.
- A subset of the libdevcore functionality in libweb3core was extracted and tailored for Solidity into ./libdevcore.   Further cleanup is certainly possible
- The gas price constants in EVMSchedule were orphaned into libevmasm.
- Some other refactorings and cleanups were made to sever unnecessary EVM dependencies in the Solidity unit-tests.
- TravisCI and Appveyor support was added, covering builds and running of the unit-tests (Linux and macOS only for now)
- A bug-fix was made to get the Tests-over-IPC running on macOS.
- There are still reliability issues in the unit-tests, which need immediate attention.    The Travis build has been flipped to run the unit-tests 5 times, to try to flush these out.
- The Emscripten automation which was previously in webthree-umbrella was merged into the TravisCI automation here.
- The development ZIP deployment step has been commented out, but we will want to read that ONLY for release branch.

Further iteration on these changes will definitely be needed, but I feel these have got to sufficient maturity than holding them back further isn't winning us anything.    It is go time :-)
2016-08-01 01:45:11 -07:00
chriseth
58cc6cbb37 Bugfix: Allocate empty array. 2016-07-28 17:24:18 +02:00
chriseth
c55584d3e2 Source location as part of AST. 2016-07-20 19:45:43 +02:00
chriseth
67d1e4783a Rename IPCSocket and removed unused code in TestHelper. 2016-06-29 00:14:50 +02:00
chriseth
05e5bdf780 Fixes for gas tests. 2016-06-28 23:18:55 +02:00
chriseth
c0bbd1cfe5 Some more test fixes. 2016-06-28 23:18:55 +02:00
chriseth
e5db096da9 Fix some more tests. 2016-06-28 23:18:55 +02:00
chriseth
007132a78e Fix empty storage check. 2016-06-28 23:18:55 +02:00
chriseth
93c8fc094e Parse arguments in free function. 2016-06-28 23:18:55 +02:00
Dimitry
27df4b7e71 parse command line arguments
ipcPath
2016-06-28 23:18:55 +02:00
Dimitry
763faf7b0e replace BalanceAt
add addressHasCode
remove m_state and sealengine
2016-06-28 23:18:55 +02:00
chriseth
ce2258b71e Balance and storage. 2016-06-28 23:18:54 +02:00
chriseth
966709b7d7 logs 2016-06-28 23:18:54 +02:00
chriseth
d6e39054e0 Refactor testing via IPC. 2016-06-28 23:18:54 +02:00
chriseth
ad36fc3c58 Style 2016-06-28 23:18:54 +02:00
Dimitry
55cfba6514 test framework
IPC socket and RPC communication with node
2016-06-28 23:18:54 +02:00
chriseth
5aca97af0d Initial poc to test via ipc. 2016-06-28 23:18:54 +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
3150ab2bcf Allow remappings to change depending on the context. 2016-06-08 18:16:46 +02:00
chriseth
a1aee031d1 Tests for implementation by constructor. 2016-06-06 19:38:22 +02:00
chriseth
1c3a64026b Add a test for a struct accessor. 2016-06-04 21:51:48 +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
a09583a2a4 Tests for invalid cleanup and missing bool conversion code. 2016-05-20 16:52:38 +02: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
chriseth
4b445b898e Merge pull request #546 from chriseth/fixiszero
Correctly use not/bnot/iszero.
2016-05-14 00:58:55 +02: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
af354d7555 Correctly handle unexpected exceptions during tests. 2016-05-10 19:33:30 +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
VoR0220
bfc238c8d1 updated algorithm for bit finding...now to figure out literal value
tiny fixups

changed location of the check

got rid of extra space and fixed a couple of things

added binary results bits

change back literal value
2016-05-09 11:41:03 -05:00
VoR0220
82039b732e added bytes conversion tests, resolved that, converted to binary scaling, refactored the find algo to prevent large numbers and take into account integer bytes
think we're good on solidity type name resolution now

removed couts

updates to documentation and more removed couts along with literal value implementation

forgot semicolons
2016-05-09 11:41:03 -05:00
VoR0220
f0ea817580 fixing modulus and Solidity Name and Type Resolution
minor fixes

current attempts at binary fixup
2016-05-09 11:41:03 -05:00
VoR0220
4d283b2b30 currently what we have 2016-05-09 11:41:02 -05:00
RJ Catalano
93295ae8f8 got exponents up and working with their inverse, changed a few of the tests....something is working that likely shouldn't be
slight changes to how to flip the rational negative around...still trying to figure it out

tests added

updated tests

odd differences in trying soltest from solc binary, let me know if you can replicate

test not working for odd reason

fixed test problem with fixed literals...still need a way to log this error

broken up the tests, added some, changed some things in types and began compiler work

moar tests and prepping for rebuilding much of the types.cpp file

further fixing

infinite loop still happening but it's somewhere in the fixedPoint methodd

fractional bits needed algo improved! Eliminated 2 errors

Corrected problems with the previous commit. No infinite loops. Actually appear to have corrected an error
2016-05-09 11:41:02 -05:00
RJ Catalano
91fda50922 fixed problem with var...probably a conversion problem for fixed in size capabilities
adding fixed type tests

Removing bitshift and regrouping fixed type tests together
2016-05-09 11:41:02 -05:00
RJ Catalano
dff1a26f55 fix for token bug, also quick fix for the wei and seconds 2016-05-09 11:41:02 -05:00
RJ Catalano
6fa5e0fac9 Rational implemented...trying to figure out exponential 2016-05-09 11:41:02 -05:00
RJ Catalano
9a075458ad initial work for fixed types...potentially needing a constant literal type for this
notation

Rational implemented...trying to figure out exponential

fix for token bug, also quick fix for the wei and seconds

fixed problem with var...probably a conversion problem for fixed in size capabilities

adding fixed type tests

Removing bitshift and regrouping fixed type tests together

size capabilities functioning properly for fixed types

got exponents up and working with their inverse, changed a few of the tests....something is working that likely shouldn't be

slight changes to how to flip the rational negative around...still trying to figure it out

tests added

updated tests

odd differences in trying soltest from solc binary, let me know if you can replicate

test not working for odd reason

fixed test problem with fixed literals...still need a way to log this error

broken up the tests, added some, changed some things in types and began compiler work

moar tests and prepping for rebuilding much of the types.cpp file

further fixing

initial work for fixed types...potentially needing a constant literal type for this
2016-05-09 11:41:02 -05:00
chriseth
a927efb151 Correctly use not/bnot/iszero.
A long time ago, some opcodes were renamed. Now we should only have
not (bitwise negation) and iszero (logical negation).
2016-05-09 10:52:23 +02:00
chriseth
e79797f348 Modify failing test: Accessor functions are not available anymore in libraries. 2016-05-04 09:14:44 +02:00
chriseth
e6b6e27bd7 Some more tests. 2016-05-03 22:48:53 +02:00
chriseth
7ea3d950d7 Allow calling internal functions of libraries.
Internal functions of libraries can be called as if the library were a
base contract of the calling contract. As the calling convention for
internal functions is to not create a new call context, the code of
these functions will be pulled into the context of the caller,
duplicating their code. This might pull in code of further internal or
even private functions.

The use case for such functions is to allow libraries which can operate
on memory types such that these types can also be modified in place.
2016-05-03 22:41:18 +02:00
Bob Summerwill
7ba6c98e5f Merge pull request #507 from chriseth/sealEngine
Explicitly init seal engine.
2016-04-15 15:06:32 -04:00
chriseth
d77a13878a Explicitly init seal engine. 2016-04-15 20:16:07 +02:00
chriseth
c126ec84a3 Test for bug in static array constructor argument decoder. 2016-04-15 18:42:44 +02:00
chriseth
82175fbd2b Test for bug when deleting dynamic array of structs. 2016-04-15 16:49:26 +02:00
Bob Summerwill
3ad5e821f2 Merge pull request #491 from winsvega/sealengines
sealengines throught init function
2016-04-12 10:33:59 -07:00
chriseth
6f54b13d7a Remove log.h from solidity. 2016-04-12 01:03:46 +02:00
Dimitry
24120a726c sealengines throught init function 2016-04-11 14:24:11 +04:00
chriseth
193b1c940c Merge pull request #475 from chriseth/byteasm
Allow "byte" in inline assembly.
2016-04-06 16:40:20 +02:00
chriseth
26a91109a7 Allow "byte" in inline assembly. 2016-04-06 12:31:31 +02:00
Dimitry
d2cee6f9c6 reduce unnecessary solidity:: namespace 2016-04-04 15:41:35 +04:00
Dimitry
9816510065 enable solidity test 2016-04-04 15:18:24 +04:00
Bob Summerwill
c492d9be00 Merge pull request #470 from chriseth/redundancy
Remove code duplication in source references formatter.
2016-03-31 20:31:15 -03:00
chriseth
285fdf3b0a Merge pull request #457 from VoR0220/tokenNameAndStringFix
Fix for Token::name and token::toString
2016-04-01 01:08:59 +02:00
chriseth
ea7325d2d2 Remove code duplication in source references formatter. 2016-04-01 00:54:12 +02:00
chriseth
98b686c672 Test to check we correctly clean higher order bits for index access. 2016-03-31 01:25:45 +02:00
VoR0220
427b9557d6 added solidity invalid fixed type test 2016-03-30 11:54:00 -05:00
chriseth
f049430723 Code generation (missing external access and source locations). 2016-03-30 02:37:00 +02:00
chriseth
949b00ed59 Parsing for inline assembly. 2016-03-30 02:37:00 +02:00
Bob Summerwill
a1ce66b304 Fixed Windows warnings 2016-03-18 01:22:15 -07:00
chriseth
1bf87c6c2b Set version to 0.3.0 2016-03-11 17:52:24 +01:00
RJ Catalano
d0054a8d29 added keyword type and some tests, changes in lexical cast 2016-03-11 17:50:09 +01:00
chriseth
e5514becb8 BREAKING: Implement delegatecall and make default for library calls. 2016-03-11 17:49:32 +01:00
chriseth
3b9969baaa Test for optimizer bug caused by not incrementing the sequence counter. 2016-03-11 16:14:48 +01:00
RJ Catalano
9b67969fd6 further optimization, splitting function into pieces
generating strings on the fly, changed name, and added two tests
2016-02-18 11:23:00 -06:00
RJ Catalano
84f2eb461b added two functions in Token to handle long identifiers, redid fromIdentifierOrKeyword, and made complementary changes in scanner and parser 2016-02-18 11:22:58 -06:00
RJ Catalano
f4da126018 tests added and changes made
fixed some silly problems in Token.cpp

windows error fix
2016-02-18 11:22:56 -06:00
RJ Catalano
7b918a7bc7 changes to redefine the token list, the scanner, and the parser and how they pass around variable types of different sizes
not ready for change to FixedPoint just yet

made this more const correct and added a switch statement for easier reading
2016-02-18 11:22:52 -06:00
chriseth
23074150f4 Test for segfault when using wrong number of constructor arguments. 2016-02-11 17:12:28 +01:00
chriseth
29faf1b298 Index access for bytesXX. 2016-02-09 17:07:04 +01:00
Lu Guanqun
51caa04238 add more test cases for cond-expr 2016-01-22 17:14:01 +00:00
Lu Guanqun
5840a3513f cond-expr: add more unit tests 2016-01-22 17:14:01 +00:00
Lu Guanqun
d36537e737 cond-expr: use the mobile type instead of the original type 2016-01-22 17:14:01 +00:00
Lu Guanqun
c8b0533933 [cond-expr] change the end to end test 2016-01-22 17:14:01 +00:00
Lu Guanqun
ac3019298a [cond-expr] add a test for different types 2016-01-22 17:14:01 +00:00
Lu Guanqun
1cd3288311 [cond-expr] add a test to assign memory to storage 2016-01-22 17:14:01 +00:00
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
db6ce6d8a1 comment out one un-supported test case 2016-01-22 17:14:00 +00:00
Lu Guanqun
08493589c1 fixup end to end test 2016-01-22 17:14:00 +00:00
Lu Guanqun
985744545a [cond-expr] add another parser expression 2016-01-22 17:14:00 +00:00
Lu Guanqun
4471a2ce3b [cond-expr] add test cases for type resolution 2016-01-22 17:14:00 +00:00
Lu Guanqun
0a45fe04f3 [cond-expr] add end to end test 2016-01-22 17:14:00 +00:00
Lu Guanqun
f1d21552fc [cond-expr] add parser test cases 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
chriseth
02340e8464 Merge pull request #358 from chriseth/fix_storage
Test for incorrect storage access.
2016-01-18 14:16:44 +01:00
chriseth
0099513cd4 Merge pull request #347 from chriseth/libraryNameClashes
Detect library name clashes
2016-01-18 09:24:11 +01:00
Liana Husikyan
7e511f93af Update SolidityNameAndTypeResolution.cpp 2016-01-15 18:03:51 +01:00
Liana Husikyan
738b254001 Update SolidityNameAndTypeResolution.cpp 2016-01-15 17:41:56 +01:00
LianaHus
b2daa5a9d8 fixed assert on EI creation for structs containing only mapping or arrays 2016-01-15 17:36:06 +01:00
chriseth
a88835bbce Test for incorrect storage access. 2016-01-15 17:02:37 +01:00
Lu Guanqun
e130bc7e7c check whether break/continue is in the loop 2016-01-15 15:12:23 +08:00
chriseth
1cf6acca90 Tests for library name clashes. 2016-01-14 11:36:11 +01: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
9c29cf79cf added documentation and one last test for struct creation inline 2016-01-11 15:36:30 -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 Catalano
c7df6d0310 one last test for long strings 2016-01-11 00:48:02 -06:00
RJ
c348791fa1 Update SolidityNameAndTypeResolution.cpp 2016-01-10 21:55:30 -06:00
RJ
5a3b40f802 Update SolidityEndToEndTest.cpp 2016-01-10 21:36:47 -06:00
RJ
d751b9085c Update SolidityEndToEndTest.cpp 2016-01-10 01:12:52 -06:00
RJ
10a1c352b9 Update with type resolution tests for arrays 2016-01-10 01:07:02 -06:00
chriseth
b158e48c1a Merge pull request #338 from guanqun/add_paren
support syntax "(x) = 3"
2016-01-05 13:15:29 +01:00
chriseth
e27bfa023d Merge pull request #317 from chriseth/pathsEverywhere
Use paths instead of simple identifiers wherever possible.
2016-01-04 11:47:11 +01:00
Lu Guanqun
208429644d add a test case for decayed tuple expression as left value 2016-01-04 16:11:43 +08:00
chriseth
0e2fa39fad Use paths instead of simple identifiers wherever possible. 2015-12-21 18:44:21 +01:00
chriseth
2466fb68a0 Merge pull request #308 from chriseth/fixoverloadbug
Fix bug preventing overloads of different array types.
2015-12-21 15:37:51 +01:00
chriseth
54e3637d23 Add structs and enums to contract types. 2015-12-18 16:50:14 +01:00
chriseth
79c5d032fe Fix bug preventing overloads of different array types. 2015-12-18 13:56:37 +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
905d55e34f updated tests and much simpler algorithm for parsing errors 2015-12-16 16:47:37 -06:00
RJ Catalano
fe04d7f7f7 added one more test and realized that there was one last change before the parser is perfect 2015-12-16 14:50:40 -06:00
RJ Catalano
f7a1860abd forgot about this one...again making this purely about parsing...typechecking will come another day 2015-12-16 13:35:28 -06:00
RJ Catalano
df41812442 making this purely about parsing...type checking will go in a different PR 2015-12-16 13:23:05 -06: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
9ab066de8c new tests 2015-12-15 14:47:09 -06:00
RJ Catalano
42c4339404 updated attempt, a couple of more things to sort through and change 2015-12-15 10:57:57 -06: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
8342424815 Increment version to 0.2.0 (includes breaking changes). 2015-12-01 16:06:14 +01:00
chriseth
7f415da886 Code generation for calling bound methods. 2015-12-01 12:35:34 +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
a8736b7b27 Merge pull request #256 from chriseth/selfdestruct
Introduce selfdestruct alias for suicide.
2015-11-30 16:06:18 +01:00
chriseth
6796afc2f8 Bugfix for constructor unpacking with fixed-size arrays. 2015-11-29 01:03:39 +01:00
chriseth
f9e52c9db1 Also check the object type for bound functions. 2015-11-29 00:16:07 +01:00
chriseth
93b3237c6a Add bound functions to types. 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
2e4f4e3363 Fix smart pointer lifetime issue in tests. 2015-11-26 15:37:55 +01:00
chriseth
b47d593252 Do not store elements of a contract by AST node type. 2015-11-26 15:37:55 +01:00