Commit Graph
441 Commits
Author SHA1 Message Date
Kamil Śliwak 156278aa42 CommandLineInterface: Report an error immediately when writing to disk fails 2021-10-14 13:45:41 +02:00
Kamil Śliwak fd5b4e2011 CommandLineInterface: Update control flow to accommodate the new way of reporting errors 2021-10-14 13:45:41 +02:00
neel iyer deb6250916 CommandLineInterface: Replace code that prints to serr() and returns false with CommandLineValidationError exception 2021-10-14 13:45:41 +02:00
Kamil Śliwak a3f6f12c7a Move the Yul experimental warning from CommandLineParser to CommandLineInterface and remove stderr from the parser 2021-10-14 13:45:41 +02:00
Kamil Śliwak 8055db0f11 CommandLineParser: Report errors by raising exceptions 2021-10-14 13:45:41 +02:00
neel iyer 909a46d064 Define CommandLineError and a few exceptions derived from it 2021-10-14 13:45:41 +02:00
Kamil Śliwak 531ea36662 Don't return an error from --help 2021-10-14 13:45:32 +02:00
Kamil Śliwak ca3b65437f CommandLineInterface: Merge processInput() and actOnInput()
- The distinction between them is not as clear-cut as it should be. For example processInput() prints output in assembly mode.
2021-10-14 13:45:32 +02:00
Kamil Śliwak 924c31d849 Treat --help, --license and --version as separate input modes 2021-10-14 13:45:32 +02:00
Kamil Śliwak 01327d6ef1 CommandLineInterface: Don't return zero exit code when writing linked files to disk fails 2021-10-12 18:23:16 +02:00
Kamil Śliwak a5ed732fd3 CommandLineInterface: Rename m_error to m_outputFailed 2021-10-12 18:23:16 +02:00
Kamil Śliwak a9e794c872 Expose --debug-info/settings.debug.debugInfo option 2021-10-11 20:34:48 +02:00
Kamil Śliwak bcfefc79d9 Pass DebugInfoSelection down to the code handling assembly printing 2021-10-11 20:34:48 +02:00
Kamil Śliwak b0a5b92fe9 Merge pull request #12071 from ethereum/cli-validate-output-selection
Validate selected compiler outputs on the CLI
2021-10-11 17:52:32 +02:00
Saurabh Sharma e13dc5084d Move exception handlers from CommandLineInterface to main() 2021-10-07 17:20:19 +02:00
Kamil Śliwak b9b2c69d24 CommandLineParser: Validate compiler output selection 2021-10-06 20:09:33 +02:00
Kamil Śliwak 9d6eaa7a46 Merge pull request #12070 from ethereum/refactor-cli-output-flags
Refactor CLI output selection flags
2021-10-04 16:03:20 +02:00
Kamil Śliwak 7f7107405f Try out the new assertion macro variants with less arguments 2021-10-04 12:05:00 +02:00
Kamil Śliwak 8a7695784c CommandLineParser: operator << for CompilerOutputs and CombinedJsonRequests 2021-10-01 14:41:55 +02:00
Kamil Śliwak 4b394f0b35 CommandLineParser: componentMap() for CombinedJsonRequests 2021-10-01 14:41:55 +02:00
Kamil Śliwak 809321e88d CommandLineParser: componentMap() for CompilerOutputs 2021-10-01 14:41:55 +02:00
Kamil Śliwak 1247239fe8 CommandLineParser: Replace boost::join() with joinHumanReadable() 2021-10-01 14:41:55 +02:00
Kamil Śliwak 7915f32852 Remove leftovers of compact-format and interface from --combined-json 2021-10-01 13:05:30 +02:00
Kamil Śliwak 9975b5e26b Detect source unit name collisions between paths specified on the command line 2021-09-27 13:14:23 +02:00
Kamil Śliwak c8a7a1da7c Add --include-path option 2021-09-27 13:14:23 +02:00
Kamil Śliwak c0b8378782 Do not whitelist any paths if remapping target is empty 2021-09-27 13:14:10 +02:00
Kamil Śliwak 8a8471d9cc Interpret remapping targets ending with /.. as directories 2021-09-27 13:14:10 +02:00
Kamil Śliwak 479ba7c523 Handle allowing empty paths correctly 2021-09-27 13:14:10 +02:00
Kamil Śliwak 52dd39212d Normalize allowed paths before comparing them with imports 2021-09-27 13:14:10 +02:00
Kamil Śliwak f0dceffe1d Refactor parsing of remappings to remove duplication and improve readability 2021-09-27 13:14:10 +02:00
Alex Beregszaszi 34b8477664 Improve --optimize-runs text 2021-09-23 10:07:10 +02:00
Kamil Śliwak 4a8a003b3d CommandLineParser: Initialize inputMode and perform generic validations earlier 2021-09-17 18:42:13 +02:00
Kamil Śliwak 30796b8957 Split CommandLineParser::parse() into smaller functions 2021-09-17 18:42:13 +02:00
Kamil Śliwak 13571f4a67 CommandLineInterface: Add asserts documenting which function is expected to work in which input modes 2021-09-17 18:42:13 +02:00
chriseth 535e1ecdb2 Merge pull request #11895 from ethereum/doNotRunEvmCodegenIfNotAsked
Do not run evm codegen if not asked.
2021-09-14 17:12:06 +02:00
Leo Alt e72fa7fc10 Add new info severity 2021-09-13 22:48:22 +02:00
Kamil Śliwak 1e4cef8405 Switch from full() to standard() optimizer settings in assembly mode on the CLI 2021-09-13 15:35:11 +02:00
Kamil Śliwak 6b46d4fdbe Extract duplicated code for initializing OptimiserSettings from CommandLineOptions into a common function 2021-09-13 15:35:11 +02:00
Kamil Śliwak 2f663c5f36 Common processing of optimization options in compiler and assembly modes 2021-09-13 15:35:11 +02:00
Kamil Śliwak 7a36a1d1db Reject optimizer options as invalid in linker and Standard JSON modes 2021-09-13 15:35:11 +02:00
Kamil Śliwak b7c124911a CommandLineParser: Process linker mode before assembly mode 2021-09-13 15:25:59 +02:00
Daniel Kirchner b934ef6c6e Only run evm bytecode generation if required. 2021-09-10 12:32:48 +02:00
Midhun07 11065c6e79 Disallowed option --experimental-via-ir in Assembler, Linker and StandardJson input modes 2021-08-30 19:58:55 +05:30
Kamil Śliwak 13f46ebb1e FileReader: Normalize base path and strip it from normalized source paths 2021-08-27 15:10:46 +02:00
soroosh-sdi 0417ee2a21 Replace boost::adaptors with range-v3
Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>
2021-08-24 13:07:26 +04:30
Kamil Śliwak cb1a0f08ca readFileAsString(): Accept path as boost::filesystem::path instead of string 2021-08-17 12:58:33 +02:00
Leo Alt 8ce878621a Make show unproved CLI a flag 2021-08-11 10:54:03 +02:00
hrkrshnn 79733fca48 Set default EVM version to London. 2021-08-11 09:54:14 +02:00
Leo Alt ee6285d6d7 Do not create VCs for underoverflow by default for Sol >=0.8 2021-08-09 14:12:31 +02:00
Leo Alt 08c065ee04 Add option divModWithSlacks 2021-08-06 15:50:25 +02:00