aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis
Commit message (Expand)AuthorAgeFilesLines
* Merge pull request #3824 from ethereum/baseArgumentsEmptyParenthesisDaniel Kirchner2018-04-051-23/+39
|\
| * Error when using empty parenthesis for base class constructors that require a...Daniel Kirchner2018-04-051-23/+39
* | Merge pull request #3745 from ethereum/fixRecursionAlex Beregszaszi2018-04-052-19/+22
|\ \ | |/ |/|
| * Generalize cycle detection.chriseth2018-04-032-19/+22
* | Constructors are defined using the ``constructor`` keyword.Daniel Kirchner2018-04-041-1/+16
|/
* Merge pull request #3699 from ethereum/interfaceExternalVisibilityAlex Beregszaszi2018-04-032-12/+13
|\
| * Makes visibility warning more concise.Erik Kundt2018-04-031-2/+4
| * Defaults to external visibility for interfaces.bitshift2018-04-032-12/+11
* | Merge pull request #3790 from ethereum/empty-structschriseth2018-03-302-0/+16
|\ \
| * | Still allow empty structs for non-0.5.0 modeAlex Beregszaszi2018-03-271-1/+8
| * | Disallow empty structsAlex Beregszaszi2018-03-272-0/+9
| |/
* / Prevent encoding of weird types and support packed encoding of external funct...chriseth2018-03-291-0/+11
|/
* Merge pull request #3681 from ethereum/interface-externalchriseth2018-03-271-0/+9
|\
| * Introduce inContractKind helper on FunctionDefinitionAlex Beregszaszi2018-03-261-11/+5
| * Allow overriding external functions in interfaces with public in an implement...Alex Beregszaszi2018-03-261-0/+15
* | Changes deprecation and adjusts tests.bitshift2018-03-271-0/+15
* | Moves blockhash function to global level.bitshift2018-03-271-0/+1
|/
* Decode dynamic data.chriseth2018-03-211-1/+1
* Move dynamic type removal out of the type system.chriseth2018-03-211-3/+9
* Merge pull request #3611 from ethereum/warn-using-address-overloadAlex Beregszaszi2018-03-071-0/+14
|\
| * Assert that address members are not present on contract types in 0.5.0.chriseth2018-03-051-0/+4
| * Warn if using address overloads on contractsAlex Beregszaszi2018-03-051-0/+10
* | Merge pull request #3664 from ethereum/literalsHexUnitSmallFixchriseth2018-03-071-2/+2
|\ \
| * | Use double quotes for suggestion about hex literals and denominations.Daniel Kirchner2018-03-071-2/+2
* | | Warn about using loose inline assembly features as experimental 0.5.0 feature.chriseth2018-03-072-1/+7
|/ /
* | Merge pull request #3549 from ethereum/fixmultidimAlex Beregszaszi2018-03-061-4/+26
|\ \
| * | Fix multi-dimensional arrays in the ABI.chriseth2018-03-011-4/+26
* | | Merge pull request #3652 from ethereum/gasleft_v2chriseth2018-03-061-1/+18
|\ \ \
| * | | Use StaticAnalyzer to deprecate msg.gas instead of conditionally removing it ...Daniel Kirchner2018-03-061-1/+18
* | | | Merge pull request #3643 from ethereum/gasleftchriseth2018-03-061-0/+1
|\| | | | |_|/ |/| |
| * | Move msg.gas to global function gasleft(). Closes #2971.Daniel Kirchner2018-03-051-0/+1
* | | Merge pull request #3569 from ethereum/evmVersionchriseth2018-03-053-2/+11
|\ \ \ | |/ / |/| |
| * | Provide EVM version to assembly analysis.chriseth2018-03-022-1/+3
| * | Use EVM version in type checker.chriseth2018-03-021-1/+8
| |/
* | Suggest expressions of the form '0x1234 * 1 day' instead of hex numbers with ...Daniel Kirchner2018-03-021-2/+4
* | Deprecate using unit denominations in combination with hex numbers. Closes #3...Daniel Kirchner2018-03-011-0/+15
|/
* Merge pull request #3613 from ethereum/require-visibilitychriseth2018-02-281-6/+13
|\
| * Issue error if no visibility is specified (on 0.5.0)Alex Beregszaszi2018-02-271-6/+13
* | Only active variables at the point of their declaration.chriseth2018-02-276-30/+84
* | Enable C99-scoping with the 0.5.0-experimental pragma.chriseth2018-02-273-17/+31
* | Blocks and for loops can be scopes.chriseth2018-02-274-1/+63
* | Scopes do not have to be declarations.chriseth2018-02-272-11/+23
* | Make all lookups recursive by default.chriseth2018-02-272-10/+11
|/
* Turn throw into a syntax error for 0.5.0Alex Beregszaszi2018-02-271-4/+12
* Warn about using events without emit.chriseth2018-02-222-1/+13
* Introduce emit statement.chriseth2018-02-222-0/+10
* Do not warn about analysis-only experimental features.chriseth2018-02-221-2/+4
* Fix shadowing for imports with aliases.chriseth2018-02-201-2/+3
* Properly warn about the use of constants in inline assembly in connection wit...chriseth2018-02-201-6/+6
* Disallow uninitialized storage pointers as experimental 0.5.0 feature.chriseth2018-02-151-1/+5
* Merge pull request #3498 from ethereum/allowthisfselectorchriseth2018-02-142-0/+17
|\
| * Allow `this.f.selector` to be pure.chriseth2018-02-132-0/+17
* | Fix: remove reference.chriseth2018-02-131-2/+4
* | Minor changes.chriseth2018-02-131-2/+1
* | Restructure code for alternative identifier suggestionsBalajiganapathi S2018-02-133-19/+6
* | Move string distance function to utils and format error messageBalajiganapathi S2018-02-133-48/+6
* | Suggest alternatives when identifier not found.Balajiganapathi S2018-02-135-2/+95
|/
* Deprecate the var keyword (and mark it an error as experimental 0.5.0 feature)Jimmy Vogel2018-02-132-0/+16
* Fix segfault with undeclared array typesFederico Bond2018-02-121-0/+5
* Merge pull request #3360 from federicobond/nonfatal-reference-errorsAlex Beregszaszi2018-02-041-13/+20
|\
| * Replace some fatal errors when resolving references with normal onesFederico Bond2018-02-031-13/+20
* | Issue warning for using public visibility for interface functionsAlex Beregszaszi2018-02-011-0/+2
|/
* Split inline assembly into loose and strict flavours.chriseth2018-01-062-2/+2
* Merge pull request #3297 from ethereum/separate_expression_and_statementAlex Beregszaszi2018-01-041-0/+4
|\
| * Separate expression and statement.chriseth2017-12-131-0/+4
* | Improve error message for wrong struct initialization (#3359)Federico Bond2018-01-041-1/+5
* | Merge pull request #3232 from ethereum/simplifyConstantchriseth2017-12-143-47/+65
|\ \ | |/ |/|
| * Re-use `commonType`chriseth2017-12-121-1/+1
| * Simplify ConstantEvaluator.chriseth2017-12-123-41/+61
| * Reduce the types of errors outputted by ConstantEvaluatorAlex Beregszaszi2017-12-121-8/+6
| * Improve error message for constant evaluatorAlex Beregszaszi2017-12-121-1/+1
* | Limit number of secondary source locations.chriseth2017-12-121-14/+5
|/
* Fix struct encoding warning for libraries.chriseth2017-12-111-0/+1
* Suggest the experimental ABI encoder if using structs as function parametersAlex Beregszaszi2017-12-111-0/+10
* Split Instruction and FunctionalInstruction in JuliaAlex Beregszaszi2017-12-051-5/+9
* Unary operators and division.chriseth2017-11-301-1/+1
* If statement for Iulia / inline assembly.chriseth2017-11-221-0/+5
* Improve cyclic constant error messageAlex Beregszaszi2017-11-221-1/+1
* Detect cyclic constant definitionsBalajiganapathi S2017-11-222-8/+15
* Allow constant integer variables as array lengths.Balajiganapathi S2017-11-222-0/+19
* Do not try to display checksummed address for too-short/long address literalsAlex Beregszaszi2017-11-171-2/+2
* Improves address literal checksum error messagewadeAlexC2017-11-171-3/+5
* Update outdated commentsKwang Yul Seo2017-11-154-4/+4
* Fix a typoKwang Yul Seo2017-11-141-1/+1
* More detailed errors for invalid array lengths (such as division by zero).Alex Beregszaszi2017-10-201-3/+20
* Turn usage of callcode into an error as experimental 0.5.0 featureAlex Beregszaszi2017-10-191-4/+12
* Only check tuples for valid rational numbers if they have more than one element.chriseth2017-10-181-1/+1
* Validate each tuple literalAlex Beregszaszi2017-10-181-0/+6
* Force interface functions as external (0.5.0)Alex Beregszaszi2017-10-061-2/+10
* Use the proper error reporting interface in ConstantEvaluatorAlex Beregszaszi2017-10-063-7/+13
* Require location keyword for local variables (0.5.0)Alex Beregszaszi2017-10-061-5/+13
* Do not consider shadowing in variable names inside event declarationsFederico Bond2017-10-051-2/+4
* Better error message when using fractional number as array size expressionswadeAlexC2017-10-041-2/+3
* Disallow non-pure constant state variables in 0.5.0Federico Bond2017-10-031-5/+14
* Extract duplicate function or event finding logicFederico Bond2017-09-302-37/+14
* Emit error when declaring event with same name and arguments twiceFederico Bond2017-09-302-0/+45
* Unary + now a synax error (experimental 0.5.0)Rhett Aultman2017-09-301-1/+8
* Validate array length in type checkerAlex Beregszaszi2017-09-291-1/+1
* Order GlobalContext entriesAlex Beregszaszi2017-09-271-13/+13
* Format GlobalContext for readabilityAlex Beregszaszi2017-09-271-42/+25
* Merge pull request #2978 from ethereum/infer-locationchriseth2017-09-271-1/+1
|\
| * Report correct location for inferred types in packed encodingAlex Beregszaszi2017-09-271-1/+1
* | Ensure that address types are always declared as 160bitAlex Beregszaszi2017-09-271-1/+1
|/
* Merge pull request #2902 from ethereum/warn-obsoletechriseth2017-09-211-0/+8
|\
| * Warn about obsolete sha3/suicide callsAlex Beregszaszi2017-09-191-0/+8
* | Ensure parameter names match between headers and implementationAlex Beregszaszi2017-09-203-11/+11
|/
* Allow constant byte arrays.chriseth2017-09-191-1/+1
* Merge pull request #2910 from ethereum/fallback-restrict-externalchriseth2017-09-181-0/+5
|\
| * Force fallback to be external (experimental 0.5.0 change)Alex Beregszaszi2017-09-181-0/+5
* | Check for recursive structs.chriseth2017-09-161-3/+3
|/
* Merge pull request #2904 from ethereum/viewPure5Alex Beregszaszi2017-09-152-11/+24
|\
| * Enforce view with error for experimental 0.5.0.chriseth2017-09-142-11/+24
* | Warn if no visibility is specified on contract functions.Alex Beregszaszi2017-09-142-1/+14
|/
* Merge pull request #2848 from ethereum/checkViewPurechriseth2017-09-146-4/+398
|\
| * Minor changes from review.chriseth2017-09-131-9/+3
| * Rename to invalidInPureFunctionschriseth2017-09-131-1/+1
| * Allow constant variables in pure functions.chriseth2017-09-061-1/+1
| * Rename and add anonymous namespace.chriseth2017-09-061-1/+4
| * Fix testschriseth2017-09-061-5/+8
| * Tone down error message.chriseth2017-09-061-2/+2
| * Modifier invocation can be base constructor callchriseth2017-09-061-5/+7
| * Analyze assembly.chriseth2017-09-062-11/+88
| * Do not report on overriding function and only warn for view.chriseth2017-09-061-12/+19
| * Store super function.chriseth2017-09-062-0/+4
| * Remove previous warning about pureness not being enforced.chriseth2017-09-061-2/+0
| * View-pure checker.chriseth2017-09-063-2/+308
* | Limit each duplicate declaration error to 32 referencesAlex Beregszaszi2017-09-131-2/+20
* | Merge pull request #2852 from ssuman/developchriseth2017-09-121-1/+10
|\ \
| * | Display helpful warning for unused function arguments/return parametersSuman2017-09-121-1/+10
* | | Do not report overload conflicts for every line excessivelyAlex Beregszaszi2017-09-121-1/+5
|/ /
* | Merge pull request #2888 from ethereum/same-declaration-errorAlex Beregszaszi2017-09-121-10/+12
|\ \
| * | Use secondary source location as a vector in same declaration errorsAlex Beregszaszi2017-09-121-10/+12
* | | Show each unimplemented function in secondary source locationAlex Beregszaszi2017-09-121-5/+7
|/ /
* / Do not show the same error multiple times for eventsAlex Beregszaszi2017-09-121-4/+4
|/
* Change array too large error message as it is valid for non-calldata tooAlex Beregszaszi2017-09-061-1/+1
* Swap declaration/statemutability in FunctionType constructorAlex Beregszaszi2017-08-291-1/+0
* Mark all built in functions with appropriate statemutabilityAlex Beregszaszi2017-08-292-11/+14
* Warn on using literals in tight packingAlex Beregszaszi2017-08-251-0/+22
* Remove unused statements from the Natspec headersAlex Beregszaszi2017-08-251-1/+1
* Introduce pure specifier on functionsAlex Beregszaszi2017-08-241-0/+2
* Check inheritance specifier arguments for interfaces.chriseth2017-08-221-5/+5
* Reject the creation of interface with the new statementAlex Beregszaszi2017-08-221-0/+6
* Fix crash related to ``using for`` without a library.chriseth2017-08-211-1/+1
* Library cannot have constructorsAlex Beregszaszi2017-08-211-0/+3
* Use state mutability in override error messagesAlex Beregszaszi2017-08-171-11/+10
* Use state mutability in fallback/constructor checkAlex Beregszaszi2017-08-171-4/+14
* Warn about shift of literals.chriseth2017-08-161-2/+3
* Remove useless payable & constant typecheckAlex Beregszaszi2017-08-141-2/+0
* Merge pull request #2703 from ethereum/warnAboutLargeStorageArrayschriseth2017-08-142-0/+45
|\
| * Warn about large storage structures.chriseth2017-08-122-0/+45
* | Avoid duplicate errors due to function overridesFederico Bond2017-08-121-5/+5
* | Use a secondary location for function override errorsFederico Bond2017-08-122-24/+16
* | Refactor function override check to remove duplicate logicFederico Bond2017-08-122-47/+50
* | Use fully qualified name of super in messageFederico Bond2017-08-121-4/+3
* | Improve override changes signature error messageFederico Bond2017-08-122-1/+34
|/
* 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-102-4/+30
* Disable unimplemented library functions insteadAlex Beregszaszi2017-08-081-15/+2
* Raise error when using unimplemented internal library functions.Alex Beregszaszi2017-08-081-0/+15
* Constructors must be implemented if declared.Alex Beregszaszi2017-08-051-6/+2
* Merge pull request #2687 from ethereum/show-unimplemented-funcsAlex Beregszaszi2017-08-051-12/+16
|\
| * Remove duplicated check for unimplemented functionsAlex Beregszaszi2017-08-041-2/+0
| * Show unimplemented function if trying to instantiate an abstract classAlex Beregszaszi2017-08-041-1/+8
| * Replace isFullyImplemented with unimplementedFunctions in ASTAnnotationsAlex Beregszaszi2017-08-041-10/+9
* | Search for shadowee starting from parent scope.chriseth2017-08-052-24/+4
* | Do not mark overloaded functions as shadowingAlex Beregszaszi2017-08-052-1/+20
|/
* Rename Bare to BarecallAlex Beregszaszi2017-08-011-1/+1
* Add isFallback() helperAlex Beregszaszi2017-07-281-2/+2
* Merge pull request #2635 from ethereum/fixCrashOnAssignmentToNonLValueAlex Beregszaszi2017-07-271-1/+3
|\
| * Fix crash on assignment to non-lvalue.chriseth2017-07-261-1/+3
* | Re-allow multiple modifiers per function.chriseth2017-07-271-2/+0
* | Warn about shadowing variables.Alex Beregszaszi2017-07-252-40/+98
|/
* Migrate over to ErrorReporterRhett Aultman2017-07-191-1/+1
* Warn if this is used in constructorAlex Beregszaszi2017-07-192-0/+15
* Include types in explicit conversion error messageAlex Beregszaszi2017-07-141-1/+8
* Disable large arrays for memory location tooAlex Beregszaszi2017-07-141-1/+5
* Issue error properly for oversized arrays for calldataAlex Beregszaszi2017-07-141-0/+6
* Add type error when attempting value transfer to a non-payable contractFederico Bond2017-07-131-0/+19
* Issue proper warning trying to access calldata variables in inline assemblyAlex Beregszaszi2017-07-121-1/+4
* Fix invalid "explicit storage keyword" warning for reference members of structs.chriseth2017-07-111-1/+1
* Deprecate throw.chriseth2017-07-062-0/+13
* Warn if local storage reference variable does not use "storage" explicitly.chriseth2017-07-062-5/+20
* Remove parsing of why3 doc stringsAlex Beregszaszi2017-07-012-13/+1
* Warn about callcode.chriseth2017-06-301-0/+8
* Rename to isHexNumber()Alex Beregszaszi2017-06-291-1/+1
* Add hasHexPrefix() to AST::LiteralAlex Beregszaszi2017-06-281-1/+1
* Give min and max values in warning message.chriseth2017-06-281-1/+9
* Warn if using var x = 0chriseth2017-06-281-0/+24
* Merge pull request #2464 from federicobond/deprecate-function-type-nameschriseth2017-06-272-0/+14
|\
| * Warn deprecated usage of parameter names in function typesFederico Bond2017-06-272-0/+14
* | Warn about copies in storage that might overwrite unexpectedly.chriseth2017-06-262-0/+34
* | Merge pull request #2460 from ethereum/disallowMultiModifierAlex Beregszaszi2017-06-261-0/+13
|\ \
| * | Disallow invoking the same modifier multiple times.chriseth2017-06-241-0/+13
* | | Merge pull request #2449 from federicobond/warn-bytesxx-decimalchriseth2017-06-261-1/+18
|\ \ \ | |/ / |/| |
| * | Warn if decimal literals are used in a bytesXX contextFederico Bond2017-06-241-1/+18
* | | Fix address literals not being treated as compile-time constantsFederico Bond2017-06-231-5/+5
| |/ |/|
* | Fix segmentation fault with constant function parametersFederico Bond2017-06-221-1/+8
|/
* Silence compiler warning.chriseth2017-06-141-1/+1
* Fix a crash about a non-callable expression.chriseth2017-06-141-4/+1
* Add a warning about a varialbe of the name of an instructionYoichi Hirai2017-06-133-0/+27
* Generate only single error in inline assembly.chriseth2017-06-082-3/+12
* Initial EVM1.5 assembly implementation.chriseth2017-06-082-2/+9
* Refactor error reportingRhett Aultman2017-05-3014-429/+241
* Introduce Julia mode in AsmAnalyzerAlex Beregszaszi2017-05-272-1/+2
* Adapt EVM codegen to new namespace.chriseth2017-05-262-7/+7
* Merge pull request #2292 from roadriverrail/inline_asm_unused_warningAlex Beregszaszi2017-05-241-3/+0
|\
| * Drop the inline asm includes from StaticAnalyzerRhett Aultman2017-05-231-3/+0
* | Merge pull request #2265 from roadriverrail/inline_asm_unused_warningchriseth2017-05-222-2/+24
|\|
| * Analyze InlineAssembly for variable useRhett Aultman2017-05-222-2/+24
* | minor fixes and changelog updatedjudjuu2017-05-221-0/+1
* | refactoring functionCallAnnotationdjudjuu2017-05-191-6/+9
|/
* Added change to make compile happy on MacOS 10.9.5Erik Quenon Steggall2017-05-061-1/+1
* Cleanup, style and additional test.chriseth2017-05-032-11/+7
* Refactor: Combine bool and function pointer.chriseth2017-05-032-10/+8
* Treat returns with expressions as return param useRhett Aultman2017-05-032-1/+14
* Warn on unused local variablesRhett Aultman2017-05-032-0/+45
* Merge pull request #2199 from roadriverrail/no_unary_pluschriseth2017-05-022-0/+21
|\
| * Style and stricter tests.chriseth2017-05-021-3/+1
| * Deprecate use of unary '+'Rhett Aultman2017-04-292-0/+23
* | Merge pull request #2110 from federicobond/fix-posttypecheckerchriseth2017-05-021-0/+3
|\ \ | |/ |/|
| * Fix PostTypeChecker retaining state across contractsFederico Bond2017-04-091-0/+3
* | Refactor to combined scope and stack height info.chriseth2017-04-262-4/+13
* | Fix storage access tests.chriseth2017-04-251-5/+5
* | Build fix.chriseth2017-04-251-3/+3
* | Storage access from inline assembly.chriseth2017-04-252-7/+38
* | Move analysis out of code generator.chriseth2017-04-251-2/+2
* | Only allow access to local variables and only if they have a stack size of one.chriseth2017-04-251-28/+38
* | Review comments and cleanup.chriseth2017-04-251-0/+2
* | Use actual type checking phase of assembler.chriseth2017-04-252-11/+10
* | Split external identifier access into resolving and code generation.chriseth2017-04-252-32/+30
* | Change error message.chriseth2017-04-211-1/+1
* | Warn about side-effect free statements.chriseth2017-04-213-2/+11
|/
* Fix: Contract inheriting from base with unimplemented constructor is abstract.chriseth2017-03-221-0/+10
* Visit structs only once.chriseth2017-03-211-3/+7
* Simplify interface checks for FunctionDefinitionAlex Beregszaszi2017-03-181-8/+7
* Disallow private or internal functions in interfacesAlex Beregszaszi2017-03-181-0/+3
* Disallow constructor in interfacesAlex Beregszaszi2017-03-181-0/+3
* Disallow enums in interfacesAlex Beregszaszi2017-03-182-0/+8
* Use declared instead of definedAlex Beregszaszi2017-03-181-1/+1
* Reject invalid definitions for interface contractsAlex Beregszaszi2017-03-181-0/+13
* Change references to FunctionType::LocationAlex Beregszaszi2017-03-162-25/+24
* Mention 'transfer' in warning about unchecked 'send'.chriseth2017-03-151-2/+3
* Merge pull request #1729 from ethereum/constantvariablesYoichi Hirai2017-03-151-18/+62
|\
| * Turn non-constant constants error into warning.chriseth2017-03-151-2/+3
| * Disallow constants that are neither value types nor strings.chriseth2017-03-131-0/+8
| * Allow enum values for constants.chriseth2017-03-131-1/+4
| * Type checking for pure expressions.chriseth2017-03-131-18/+50