Commit Graph
100 Commits
Author SHA1 Message Date
Alex Beregszaszi 7e018179a1 Turn if statement into assertion 2020-09-14 14:33:57 +01:00
Alex Beregszaszi 7c73d4ca51 Merge pull request #9780 from ethereum/smt-type-minmax
[SMTChecker] Support type(T).min and type(T).max
2020-09-11 23:25:52 +01:00
Alex Beregszaszi 5bba1ab360 Merge pull request #9779 from jbn/patch-1
Add missing word to examples doc explainer
2020-09-11 22:43:27 +01:00
Alex Beregszaszi 961a199cf5 [SMTChecker] Support type(T).min and type(T).max 2020-09-11 21:37:51 +01:00
Alexander Arlt 23d9b1567e Add support for ewasm evmc vm. 2020-09-08 12:41:42 -05:00
Alexander Arlt df8bbeeb22 ViewPureChecker::reportMutability: don't check visibility on constructors. 2020-09-07 11:35:33 -05:00
Alexander Arlt 5f7b4a2e05 OSX: Fix readlink issues and that ASTImportTest.sh silently ignores errors. 2020-08-31 21:04:25 -05:00
Alex Beregszaszi 2426616859 Disallow language keywords to be used as identifiers by NameDispenser and VarNameCleaner
Also introduce isRestrictedIdentifier helper in OptimizerUtilities
2020-08-31 12:52:17 +01:00
Alex Beregszaszi 2ebc4bb9a7 Introduce TokenTraits::isYulKeyword helper 2020-08-31 11:55:27 +01:00
Alex Beregszaszi 7ef9591e64 Expose hex literal to the Yul parser
This allows nicer error messages.
2020-08-28 19:34:52 +01:00
Alex Beregszaszi 26a76c18d4 Add Yul syntax test for every Solidity keyword 2020-08-28 19:34:52 +01:00
Alex Beregszaszi 4366ede889 Introduce Leave as a keyword for Yul 2020-08-28 19:34:52 +01:00
Alex Beregszaszi caa329066e Do not emit Solidity-only tokens in the Scanner for Yul
And simplfiy AsmParser greatly.
2020-08-28 19:34:52 +01:00
Alex Beregszaszi bd7283ad22 Add scanner test for specially handled keywords in Yul 2020-08-28 19:34:52 +01:00
Alex Beregszaszi 64c73baee9 Use only advance() and not with a mix of m_scanner->next() 2020-08-28 19:34:52 +01:00
Alex Beregszaszi 98cc1d9994 Merge pull request #9696 from ethereum/immutable-tests
Update tests for immutable variables
2020-08-28 19:34:45 +01:00
Alex Beregszaszi a80e2c1462 Update tests for immutable variables 2020-08-28 19:06:34 +01:00
Alex Beregszaszi 56624af209 Merge pull request #9695 from ethereum/scanner-test
Add more scanner tests for hex and unicode literals
2020-08-28 18:19:22 +01:00
Alex Beregszaszi aa70758c32 Add more scanner tests for hex and unicode literals 2020-08-28 14:33:29 +01:00
Alex Beregszaszi abaa2e722f Merge pull request #9585 from ethereum/yul-wasm-strict
Add some asserts to WasmCodeTransform
2020-08-28 01:28:00 +01:00
Alex Beregszaszi dd44fc1f06 Use explicit yul namespace in WasmCodeTransform 2020-08-27 19:49:30 +01:00
Alex Beregszaszi fdf68a9525 Add some asserts to WasmCodeTransform 2020-08-27 19:49:30 +01:00
Alex Beregszaszi e872b1b51e Merge pull request #9689 from ethereum/using-for-interface
Disallow ``using for`` directive for interfaces.
2020-08-27 19:09:19 +01:00
Alex Beregszaszi 662f7d8fac Rename Arrow to DoubleArrow 2020-08-27 12:28:27 +01:00
Alex Beregszaszi 4e5b403c37 Introduce RightArrow (->) token in the scanner 2020-08-27 12:28:27 +01:00
Alex Beregszaszi b1fb9da63a Merge pull request #9619 from ethereum/yul-tests
Add more syntax tests for Yul
2020-08-13 17:09:39 +01:00
Alex Beregszaszi babb175d86 Add more syntax tests for Yul 2020-08-13 14:20:52 +01:00
Alex Beregszaszi acdaff6308 Merge pull request #9615 from haltman-at/fix-immutable-refs-docs
Correct immutableReferences documentation from array to object
2020-08-13 00:31:12 +01:00
Alex Beregszaszi ce501d6740 Merge pull request #9613 from ethereum/yul-function-arrow
Add/Update tests for Yul function definition
2020-08-13 00:30:00 +01:00
Alex Beregszaszi b752551ebd Add test case for string literals in switch statements in Yul 2020-08-13 00:27:41 +01:00
Alex Beregszaszi 18eed44688 Drop hex literals from the Yul documentation 2020-08-13 00:27:19 +01:00
Alex Beregszaszi acb1e8c280 Add tests showing hex literals are not allowed in Yul 2020-08-13 00:27:19 +01:00
Alex Beregszaszi bb29307b02 Add/Update tests for Yul function definition 2020-08-12 23:53:08 +01:00
Alex Beregszaszi d98eab24c5 Merge pull request #9502 from ethereum/yul-object-syntax-tests
Add syntax tests for Yul objects
2020-08-05 22:19:36 +01:00
Alex Beregszaszi 2e8616e2e4 Run prequisite steps for VarNameCleaner in tests 2020-08-05 22:12:51 +01:00
Alex Beregszaszi 99ba9ccc5b Merge pull request #9578 from cakesoft-omkar/develop
Update installing-solidity.rst
2020-08-05 21:32:48 +01:00
Alex Beregszaszi 028f77e8cc Remove covered test cases from error_codes.py exception list 2020-08-05 21:22:00 +01:00
Alex Beregszaszi 0a8bc861b2 Remove old boost tests from libyul/ObjectParser 2020-08-05 21:01:46 +01:00
Alex Beregszaszi 291c359ee9 Add more syntax tests for Yul objects
Also move some of them from boost tests.
2020-08-05 21:01:46 +01:00
Alex Beregszaszi e7c99918ed Use yul::test::parse in libyul/SynaxtTests to support objects 2020-08-05 18:10:21 +01:00
Alex Beregszaszi 99d96870ae Rename libsolidity/SolidityScanner to liblangutil/Scanner in tests 2020-08-05 13:39:18 +01:00
Alex Beregszaszi 42a777e9e2 Use forward declaration in EwasmTranslationTest 2020-08-05 13:31:51 +01:00
Alex Beregszaszi dec0f86b83 Merge pull request #9542 from ethereum/smt_add_test
[SMTChecker] Add test from Aon blog post
2020-08-05 13:24:16 +01:00
Alex Beregszaszi e77ae3f06e Parse optimiser output in yulOptimiserTests 2020-08-05 12:57:14 +01:00
Alex Beregszaszi a21c8e18f1 Merge pull request #9572 from ethereum/yul-optimiser-tests
Return object format in expectation for yulOptimizerTests
2020-08-05 12:57:01 +01:00
Alex Beregszaszi ea38193c71 Merge pull request #9569 from ethereum/yul-dialect-literalkind
Include literal kind of Dialect for builtins
2020-08-05 12:31:21 +01:00
Alex Beregszaszi ad6f39376f Return object format in expectation for yulOptimizerTests 2020-08-05 11:55:13 +01:00
Alex Beregszaszi a27b79fece Add yulSyntaxTests to error_codes.py 2020-08-05 11:37:04 +01:00
Alex Beregszaszi 6e381326fe Adjust and add more tests 2020-08-05 11:37:04 +01:00
Alex BeregszasziandDaniel Kirchner 3a617f9cf2 Validate expected literal kind for yul::Dialect builtins
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-08-05 11:37:04 +01:00
Alex BeregszasziandDaniel Kirchner f6a57af809 Add LiteralKind to Dialect.literalArguments
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-08-05 11:37:00 +01:00
Alex Beregszaszi 08791ab0d4 Merge pull request #9556 from goh-chunlin/develop
Corrected typo.
2020-07-31 16:02:31 +01:00
Alex Beregszaszi 24bb6252ac Merge Parser::instructions() into EVMDialect 2020-07-29 13:15:54 +01:00
Alex Beregszaszi d41fc31046 Do not use Parser::instructions() but depend on the dialect in NameDispenser and VarNameCleaner 2020-07-29 13:15:54 +01:00
Alex Beregszaszi d9cb8c8c5e Add ScannerKind and replace supportPeriodInIdentifier 2020-07-28 12:31:08 +01:00
Alex Beregszaszi 291c00c3de Remove errenous error duplication and move some tests around 2020-07-28 10:45:27 +01:00
Alex Beregszaszi 4e4b3ee67c Merge pull request #9523 from ethereum/scanner-dot-tests
Add more tests to the scanner regarding dots in identifiers
2020-07-27 18:42:38 +01:00
Alex Beregszaszi 0102d30b0a Add more tests to the scanner regarding dots in identifiers 2020-07-27 18:38:18 +01:00
Alex Beregszaszi af22dfa5b4 Document unicode string literals 2020-07-27 18:21:17 +01:00
Alex Beregszaszi 1f39640392 Update grammar for unicode literals 2020-07-27 18:21:17 +01:00
Alex Beregszaszi f5f86779b8 Update tests for unicode literals 2020-07-27 18:21:17 +01:00
Alex Beregszaszi 6eb60bc8cd Add check that regular and unicode string literals are well formatted 2020-07-27 18:21:17 +01:00
Alex Beregszaszi 6fe8e63eee Remove inconsistently used isValidUTF8 helper 2020-07-27 18:21:17 +01:00
Alex Beregszaszi 5bfcc1ffcc Update tests for string literals 2020-07-27 18:21:17 +01:00
Alex Beregszaszi 8abc1a6863 Check for invalid ASCII in the scanner 2020-07-27 18:21:17 +01:00
Alexander Arlt e0c55d6570 [circleci] Use hera enabled docker images. 2020-07-27 07:28:15 -05:00
Alex Beregszaszi 5ecc84e92e Distinguish between stringLiteral and hexStringLiteral in the JSON AST 2020-07-27 10:19:24 +01:00
Alexander Arlt cbe9a2d240 Add Hera to buildpacks. 2020-07-22 11:17:05 -05:00
Alexander Arlt f7e180fb8f Push images to docker hub. 2020-07-16 14:14:51 +02:00
Alexander Arlt aed424f23e Initial docker image creation workflows. 2020-07-14 19:00:48 -05:00
Alex Beregszaszi eab12ecf77 Nicer error message for private payable functions 2020-07-14 14:38:12 +01:00
Alex Beregszaszi 950612cf42 Add more tests for strings with unicode (escapes) 2020-07-13 20:43:30 +01:00
Alex Beregszaszi 6a1ad7e59c Fix formatting hex strings in isoltest update 2020-07-13 19:06:16 +01:00
Alex Beregszaszi 870ea98c21 Prefix EIP-615 opcodes with EIP615 in Instructions 2020-07-13 17:34:19 +01:00
Alex Beregszaszi 8df4baac42 Implement ctz/popcnt in yulInterpreter 2020-07-13 11:18:10 +01:00
Alex Beregszaszi 87557896ed Add ctz and popcnt to WasmDialect 2020-07-13 11:10:14 +01:00
Alex Beregszaszi 20dd66f398 Fix missing quote in error message for invalid Yul types 2020-07-10 21:06:09 +01:00
Alex Beregszaszi f5ae9c5761 Fix yulInterpreter to correctly handle i32.clz 2020-07-10 15:38:25 +01:00
Alex Beregszaszi a0300835eb Change CHC to avoid sign mismatch 2020-07-09 17:22:52 +02:00
Alex Beregszaszi 0bd6fb027b Update tests 2020-07-07 13:13:58 +01:00
Alex Beregszaszi fc8947d3e8 Restrict dots in Yul identifiers 2020-07-07 13:13:58 +01:00
Alex Beregszaszi beb4b1d563 Fix tests on breaking 2020-07-07 10:17:58 +01:00
Alex Beregszaszi 01facf8a0a Merge pull request #9317 from ethereum/yul-cleanup
Remove unused instructionNames() function in AsmParser
2020-07-06 23:09:09 +01:00
Alex Beregszaszi 65c50b14c8 Remove unused instructionNames() function in AsmParser 2020-07-06 16:48:28 +01:00
Alex Beregszaszi 60d4b1e8cc Rename drop to i64.drop in WasmDialect
Also properly implement support for both i32.drop and i64.drop in BinaryTransform, TextTransform, and YulInterpreter
2020-07-06 15:47:17 +01:00
Alex Beregszaszi 67ebb206ea Turn Instruction::JUMP* into yulAssert 2020-07-06 14:46:36 +01:00
Alex Beregszaszi 55e41b602a Explicitly check for jump instructions in EVMDialect 2020-07-06 14:46:24 +01:00
Alex Beregszaszi f0d256bfdb Add test case for jumpi in inline assembly 2020-07-06 10:41:35 +01:00
Alex Beregszaszi 0ac039e4ea Merge pull request #9305 from ethereum/yul-dot-tests
Add Yul syntax tests for dots in identifiers
2020-07-03 18:18:58 +01:00
Alex Beregszaszi 889131321a Merge pull request #9298 from ethereum/yul-evm-version-tests
Use different error code for various EVM features in Yul
2020-07-03 17:05:01 +01:00
Alex Beregszaszi 4c7c7c0270 Only use yulAssert and not solAssert in libyul 2020-07-03 15:46:50 +01:00
Alex Beregszaszi 8b53f85e28 Add Yul syntax tests for dots in identifiers 2020-07-03 15:41:09 +01:00
Alex Beregszaszi 9a94b89c48 Update and add new tests for features of different EVM version 2020-07-03 14:08:09 +01:00
Alex Beregszaszi 2e6cbd8718 Rename warnOnInstructions to validateInstructions 2020-07-03 12:35:22 +01:00
Alex Beregszaszi d211a45aa4 Use different error code for various EVM features in Yul 2020-07-03 12:35:22 +01:00
Alexander Arlt 86be0fbc2f [ewasm] Fix infinite loops. 2020-06-23 12:35:03 +02:00
Alex Beregszaszi a3b64fd19d Merge pull request #9083 from ethereum/tohex
Add shortcut to to/fromHex for empty input and fix signedness warning
2020-06-02 13:40:16 +01:00
Alex Beregszaszi 2d7edeea3f Add shortcut to to/fromHex for empty input and fix signedness warning 2020-06-02 08:24:04 +01:00
Alex Beregszaszi 0a71e41501 Merge pull request #9072 from FlashSheridan/patch-5
Fix grammar and remove redundant words
2020-05-29 23:04:12 +01:00
Alex Beregszaszi 513c9024e8 Merge pull request #9071 from FlashSheridan/patch-4
Spell-check
2020-05-29 23:03:23 +01:00