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
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
588e4232eb
Test for allocation bug.
2015-11-24 14:54:18 +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
Gav Wood
bff172cf65
Fix up for new API from EIP-1.1.
2015-11-21 14:34:21 +01:00
Gav Wood
58110b27c1
Merge remote-tracking branch 'origin/hot_gav' into develop
2015-11-20 00:06:58 +01:00
Gav Wood
9997aac163
Fix solidity tests.
2015-11-20 00:06:02 +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
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
28c3f1839b
Merge pull request #216 from chriseth/dynamic_indexed_event_args
...
Fix dynamic indexed event arguments - applies sha3.
2015-11-17 14:46:00 +01:00
chriseth
6411bf0026
Merge pull request #214 from chriseth/fix_optimizerTest
...
Test fix: Do not increment iterator past end.
2015-11-17 10:57:18 +01:00
Gav Wood
ad249e5787
Fix tests for new API.
2015-11-16 21:00:05 +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
8bd34ee2e9
Test fix: Do not increment iterator past end.
2015-11-16 16:39:47 +01:00
chriseth
9ef67bc756
Fix segfault during test.
2015-11-16 16:32:09 +01:00
chriseth
1bdc7eed31
Work around bug in MSVC/Boost for u256->unsigned conversion.
2015-11-16 11:47:19 +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
Gav Wood
2f85153dcc
Fixups for new API.
2015-11-06 14:23:18 +01:00
Gav Wood
a89fa99994
New vocab.
2015-11-06 13:26:20 +01:00
chriseth
a5c227778d
Bugfix: Returning literal strings in tuples.
2015-10-31 23:13:45 +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
chriseth
87079bd3fd
Correctly parse ambiguities like A.B[10] x
and x.y[10] = 3
.
2015-10-16 16:12:25 +02:00
chriseth
ead0478f26
Fix errors when struct array type is used on its own.
2015-10-16 14:36:30 +02:00
chriseth
1d4219d43d
Some fixes taking other pull requests into account.
2015-10-15 18:14:14 +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
292fb473bf
renaming in test framework
2015-10-15 16:46:02 +02:00
LianaHus
162d021c3f
some more style fixes
2015-10-15 16:27:26 +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
0d0fd31fbf
fix
2015-10-15 12:16:10 +02:00
LianaHus
675aed1edf
fixed new tests
2015-10-15 11:50:25 +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
763b544822
Add a dynamic array push() test
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
742e5b259a
added Error class for all kind of errors
...
Conflicts:
libsolidity/Exceptions.h
2015-10-14 20:27:41 +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
c54a033bf0
Tests for multi variable declaration.
2015-10-09 16:26:27 +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
b6ddde9372
Allow four indexed arguments for anynomous events.
2015-10-07 16:40:54 +02:00
chriseth
0297a213fe
Reject ether sent to library.
2015-10-06 22:55:45 +02:00
chriseth
d35a4b849d
Merge pull request #117 from chriseth/internalTypesForLibrary
...
Internal types for library
2015-10-06 18:29:05 +02:00
chriseth
c6e637677b
Merge pull request #115 from chriseth/testLongConstructorArguments
...
Test long constructor arguments.
2015-10-06 15:40:52 +02:00
chriseth
99351aebe0
Compiler version stamp.
2015-10-06 14:20:06 +02:00
chriseth
44e42bf52e
Add structs to library interface.
2015-10-06 14:20:06 +02:00
chriseth
bf5b387954
Provide access to scoped structs.
2015-10-06 14:20:06 +02:00
chriseth
bc609c55c0
Compute canonical names of types for function signatures.
2015-10-06 14:20:06 +02:00
chriseth
ce25ddfa6a
Encode storage items correctly for library calls.
2015-10-06 14:20:06 +02:00
chriseth
d2332769d3
Test for internal types.
2015-10-06 14:19:30 +02:00
chriseth
0950aa99a0
Test long constructor arguments.
2015-10-05 11:09:33 +02:00
chriseth
5e4166acb8
Report warning in tests if requested.
2015-10-02 23:18:54 +02:00
chriseth
da408640ca
Store small byte arrays and strings in storage in one slot with their
...
length.
2015-10-02 13:12:23 +02:00
LianaHus
53d0684cb4
-fixed the warning printing
...
-style fixes
2015-10-02 12:38:48 +02:00
LianaHus
fe2b9a3b3c
added warning for noninitialized references in storage.
2015-10-02 12:38:48 +02:00
LianaHus
db9cc9c6ef
added test
2015-10-02 12:38:48 +02:00
chriseth
6161ec96ff
Bugfix in calldata unpacker.
...
The offset was not specified correctly if memory activity preceded the
unpacker.
2015-10-01 16:50:11 +02:00
chriseth
52f7e35843
Merge pull request #91 from chriseth/literalStringsToStoragePointer
...
Literal strings to storage pointer
2015-09-24 10:23:35 +02:00
chriseth
c4b7916c14
Test that literal strings cannot be assigned to storage pointers.
2015-09-23 17:34:03 +02:00
LianaHus
c096c3c349
improved the test
2015-09-23 17:31:47 +02:00
LianaHus
9547c4563c
fixed-sized arrays as return type
...
Conflicts:
test/libsolidity/SolidityEndToEndTest.cpp
2015-09-23 17:31:37 +02:00
chriseth
efdea76d5e
Merge pull request #85 from chriseth/warnings
...
Support mulitple errors and warnings.
2015-09-23 14:42:54 +02:00
LianaHus
ed76798406
fixed the test
2015-09-22 14:03:09 +02:00
chriseth
34a81fd60e
Refactoring: Check types outside of AST and recover from some errors.
2015-09-21 20:03:05 +02:00
LianaHus
e50400082b
fixed using string as a type for struct member
2015-09-17 15:15:46 +02:00
LianaHus
e89b8d516b
test
...
Conflicts:
test/libsolidity/SolidityEndToEndTest.cpp
2015-09-17 15:15:36 +02:00
LianaHus
279a36b6f8
throw statement implementation
2015-09-16 13:25:32 +02:00
LianaHus
152bc642a6
style fix
2015-09-15 12:10:23 +02:00
LianaHus
dbb36a7a7b
fixed rebase
2015-09-15 11:44:04 +02:00
LianaHus
9d44e65932
moved the test
...
Conflicts:
test/libsolidity/SolidityEndToEndTest.cpp
test/libsolidity/SolidityNameAndTypeResolution.cpp
2015-09-15 11:41:40 +02:00
LianaHus
466f5a4b88
returned test for exceptions in constructor
2015-09-15 11:40:20 +02:00
LianaHus
bc91464131
- changed implementation
...
- style fixes
2015-09-15 11:40:19 +02:00
LianaHus
7dbff2489f
some fixes in tests
2015-09-15 11:40:19 +02:00
LianaHus
e21632555c
added compile time check for out of bounds access for ordinary arrays
...
todo: check for dynamicaly sized arrays
Conflicts:
test/libsolidity/SolidityEndToEndTest.cpp
2015-09-15 11:40:14 +02:00
LianaHus
626a57826c
test
2015-09-15 11:37:56 +02:00
chriseth
4360e04596
Merge pull request #66 from chriseth/sol_libraries
...
Calling libraries.
2015-09-11 19:35:31 +02:00
chriseth
3c25420b84
Merge pull request #69 from LianaHus/sol_enum_too_many_indexed_args
...
too many indexed arguments for event
2015-09-11 15:48:43 +02:00
LianaHus
1d1386a58c
add call for EventDefinition::checkTypeRequirements()
2015-09-11 15:24:11 +02:00
chriseth
976c380b61
Possibility to call library functions.
2015-09-11 15:21:37 +02:00
chriseth
a9edc7b1a6
Transition from bytecode to more general linker objects.
2015-09-11 15:21:37 +02:00
chriseth
337fde9d11
Parsing and type checking of libraries without inheritance.
2015-09-11 15:21:37 +02:00
chriseth
c5b6d9d2a9
Merge pull request #65 from LianaHus/sol_Creating_a_contract_from_within_itself
...
Added error when creating a contract from within itself
2015-09-11 15:19:58 +02:00
LianaHus
f5fc119dc8
added test
...
Conflicts:
test/libsolidity/SolidityEndToEndTest.cpp
2015-09-11 14:59:54 +02:00
LianaHus
d570ab44c8
style fixes
2015-09-11 14:31:00 +02:00
LianaHus
47e42430f2
added type check if the type of the var decl is one of base contract type
2015-09-10 17:17:13 +02:00
LianaHus
30e89b3d9a
added test
...
Conflicts:
test/libsolidity/SolidityEndToEndTest.cpp
2015-09-10 15:05:10 +02:00
LianaHus
845bcf8db0
- added tests to test empty comment
...
- fixed skipSingleLineComment
- some style fixes
2015-09-10 14:26:34 +02:00
chriseth
3fc2561223
Merge pull request #51 from ethereum/revert-25-sol_strings_as_mapping_keys
...
Revert "added check for string as mapping key for local var."
2015-09-09 16:30:54 +02:00
chriseth
9967ae4038
Stylistic corrections.
2015-09-09 16:15:35 +02:00
chriseth
985eb80695
Fix for constant strings.
2015-09-08 16:51:14 +02:00
LianaHus
df8c82bc60
- renamed AST to ast and ABI to abi
...
- style fixes
2015-09-08 14:30:21 +02:00
LianaHus
02d4198242
removed get prefix
...
style fixes
2015-09-08 13:12:00 +02:00
LianaHus
1b5e6fc9e7
renamed getter functions
2015-09-08 13:12:00 +02:00
chriseth
9fc775269b
Revert "added check for string as mapping key for local var."
2015-09-07 22:43:23 +02:00
LianaHus
4c7777128b
added check for string as mapping key for local var.
2015-08-24 14:24:10 +02:00
LianaHus
ffcf18406b
added test to check string as mapping key
2015-08-24 13:48:20 +02:00
LianaHus
1af8ff0121
add tests for state variables accessors. normal and constant
...
fixed the issue with accessors for constant state variables
2015-08-21 17:57:57 +02:00
chriseth
e985b285be
Move Solidity tests.
2015-08-19 21:54:09 +02:00