aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis/SyntaxChecker.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Introduce namespace `langutil` in liblangutil directory.Christian Parpart2018-11-221-0/+1
| | | | | | | Also: - Use {}-style list initialisation for SourceLocation construction - Introduce new system includes - Changes the API of the Scanner to take source as value (with move) as opposed to as a reference
* Isolating files shared between Yul- and Solidity language frontend.Christian Parpart2018-11-221-1/+1
|
* Refactor `solidity::Token` into an `enum class` with `TokenTraits` helper ↵Christian Parpart2018-10-221-1/+1
| | | | namespace
* Merge pull request #5180 from ethereum/cpp-cleanupchriseth2018-10-101-1/+1
|\ | | | | Some C++ cleanup
| * Use empty() instead of size() == 0Alex Beregszaszi2018-10-091-1/+1
| |
* | Fix pragma error suggestion.chriseth2018-10-091-1/+1
|/
* Review suggestionsLeonardo Alt2018-09-041-7/+7
|
* Changed error message and added testsLeonardo Alt2018-09-041-1/+1
|
* Disallow single statement var decl in if/while/for without blocksLeonardo Alt2018-09-041-2/+19
|
* Cleanup & polish numbers-with-underscores parsing, also improving tests.Christian Parpart2018-08-081-25/+24
|
* Add stricter hex underscore rulesBalajiganapathi S2018-08-081-0/+43
|
* Disallow functions without implementation to use modifiers. This was already ↵Christian Parpart2018-07-241-8/+2
| | | | the case in the experimental 0.5.0 mode.
* Disallows old constructor syntax.Erik Kundt2018-07-181-20/+8
|
* Suggests external for fallback and interface functions.chriseth2018-07-181-1/+13
|
* Enforces visibility specifier and updates docs.Erik Kundt2018-07-171-1/+1
|
* Deprecate the throw statementAlex Beregszaszi2018-07-161-12/+4
|
* Generates a syntax error when declaring a variable declaration's LHS has no ↵Christian Parpart2018-07-121-0/+13
| | | | named components
* semantics: Suggest auto-deduced type when user declares variable with `var` ↵Christian Parpart2018-07-111-9/+0
| | | | keyword.
* defaulting to v0.5.0 behaviour of unary + operator (disallow); also adapting ↵Christian Parpart2018-07-101-8/+2
| | | | all tests to it
* libsolidity: turns the var-keyword use from deprecation-warning to an error ↵Christian Parpart2018-07-031-6/+1
| | | | and include explicit type suggestion
* Return parameters in function types may not be named.Daniel Kirchner2018-06-181-1/+1
|
* Enforce disallowing empty structsChristian Parpart2018-06-141-8/+2
| | | | | | | | This patch enfoces an error when it encounters an empty struct, effectively eliminating the deprecation warning. Also adjust 419_interface_structs to explicitely test for (non-empty) structs, as this behaviour "may" change in the future.
* Warn about functions named "constructor".chriseth2018-04-191-1/+6
|
* Warn if modifiers are applied to functions without implementation.chriseth2018-04-121-0/+7
|
* Constructors are defined using the ``constructor`` keyword.Daniel Kirchner2018-04-041-1/+16
|
* Merge pull request #3699 from ethereum/interfaceExternalVisibilityAlex Beregszaszi2018-04-031-12/+3
|\ | | | | Defaults to external visibility for interfaces.
| * Defaults to external visibility for interfaces.bitshift2018-04-031-12/+3
| |
* | Still allow empty structs for non-0.5.0 modeAlex Beregszaszi2018-03-271-1/+8
| |
* | Disallow empty structsAlex Beregszaszi2018-03-271-0/+7
|/
* Issue error if no visibility is specified (on 0.5.0)Alex Beregszaszi2018-02-271-6/+13
|
* Turn throw into a syntax error for 0.5.0Alex Beregszaszi2018-02-271-4/+12
|
* Do not warn about analysis-only experimental features.chriseth2018-02-221-2/+4
|
* Deprecate the var keyword (and mark it an error as experimental 0.5.0 feature)Jimmy Vogel2018-02-131-0/+14
|
* Fix a typoKwang Yul Seo2017-11-141-1/+1
| | | | | A semicolon was mistakenly inserted where a string concatenation operator was meant.
* Unary + now a synax error (experimental 0.5.0)Rhett Aultman2017-09-301-1/+8
| | | | | | | The unary + was deprecated with a warning, but will be elevated to an error in 0.5.0. This adds the syntax error for the 0.5.0 pragma, and for a true 0.5.0 release we should consider removing the operator from the parser.
* Warn if no visibility is specified on contract functions.Alex Beregszaszi2017-09-141-1/+13
|
* Introduce ExperimentalFeatures headerAlex Beregszaszi2017-08-101-6/+4
|
* Reject wildcard and multiple experimental pragmasAlex Beregszaszi2017-08-101-13/+16
|
* Reject unsupported experimental feature namesAlex Beregszaszi2017-08-101-0/+5
|
* Warn if using experimental pragmaAlex Beregszaszi2017-08-101-0/+5
|
* Support experimental feature pragmaAlex Beregszaszi2017-08-101-4/+28
|
* Deprecate throw.chriseth2017-07-061-0/+10
|
* Warn deprecated usage of parameter names in function typesFederico Bond2017-06-271-0/+12
|
* Refactor error reportingRhett Aultman2017-05-301-32/+9
| | | | | | | | | This commit introduces ErrorReporter, a utility class which consolidates all of the error logging functionality into a common set of functions. It also replaces all direct interactions with an ErrorList with calls to an ErrorReporter. This commit resolves issue #2209
* Style and stricter tests.chriseth2017-05-021-3/+1
|
* Deprecate use of unary '+'Rhett Aultman2017-04-291-0/+19
| | | | | | | The unary '+' serves no meaningful purpose in Solidity and it makes it possible to produce typos with dagerous implications (e.g. 'a =+5 '), so we are deprecating it. The SyntaxChecker currently issues warnings on the unary '+' but will still compile it for now.
* Refactor NameAndTypeResolver and SyntaxChecker to allow other entry points.chriseth2017-02-141-2/+2
|
* Fix licensing headersVoR02202016-11-231-4/+4
| | | | Signed-off-by: VoR0220 <rj@erisindustries.com>
* Suggest correct version for pragma and complain about pre-release version.chriseth2016-10-251-4/+13
|
* Fix pragma keyword checkYoichi Hirai2016-10-111-1/+1
| | | | Fixes #1192
* Use version string (including prerelease) for pragma matching.chriseth2016-09-011-2/+3
|
* Version pragma.chriseth2016-09-011-3/+50
|
* Require modifiers to contain "_".chriseth2016-08-161-1/+20
|
* add another test case for continue not in loopLu Guanqun2016-01-191-4/+4
|
* code changes according to Chris's commentsLu Guanqun2016-01-191-16/+9
|
* check whether break/continue is in the loopLu Guanqun2016-01-151-0/+87