aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis
Commit message (Expand)AuthorAgeFilesLines
* Provide EVM version to assembly analysis.chriseth2018-03-022-1/+3
* Use EVM version in type checker.chriseth2018-03-021-1/+8
* 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
* | Require and Assert.chriseth2017-03-141-3/+4
|/
* Merge pull request #1751 from ethereum/warnLiteralExpBaseYoichi Hirai2017-03-111-0/+20
|\
| * Warn about literal constant base in exponentiation.chriseth2017-03-071-0/+20
* | Resolve build-stopping error about 'minor' and 'major' being defined in <sys/...Ryan Casey2017-03-101-0/+3
* | Merge pull request #1747 from ethereum/fixICEInternalConstructorYoichi Hirai2017-03-091-3/+1
|\ \
| * | Move public constructor property into AST itself.chriseth2017-03-061-3/+1
* | | Merge pull request #1748 from ethereum/singletonArraychriseth2017-03-081-1/+1
|\ \ \
| * | | Convert to mobile type for array type.chriseth2017-03-061-1/+1
| | |/ | |/|
* | | Disallow compound assignment for tuples.chriseth2017-03-081-0/+5
* | | Merge pull request #1699 from ethereum/asmlabelsYoichi Hirai2017-03-081-4/+11
|\ \ \
| * | | Move lambda.chriseth2017-03-031-3/+9
| * | | Refactor CodeGen to recurse on blocks.chriseth2017-03-031-3/+4
* | | | Merge pull request #1733 from ethereum/selfReferentialConstantchriseth2017-03-073-0/+180
|\ \ \ \
| * | | | Check for circular references in constant variables.chriseth2017-03-063-0/+180
| | |/ / | |/| |
* | | | Merge pull request #1737 from ethereum/localmappingschriseth2017-03-061-2/+5
|\ \ \ \ | |/ / / |/| | |
| * | | Disallow uninitialized mapping variables.chriseth2017-03-061-2/+5
| | |/ | |/|
* / | Mention way to remove warning.chriseth2017-03-061-1/+5
|/ /
* | Merge pull request #1702 from ethereum/assertErrorYoichi Hirai2017-03-041-2/+3
|\ \ | |/ |/|
| * Remove assert for now.chriseth2017-02-241-2/+3
* | Disallow variable declaration with inferred empty tuple type.chriseth2017-03-021-0/+5
* | Deposit one stack item for non-value types in inline assembly type checking.chriseth2017-02-201-1/+1
* | Fix early exist for fatal errors.chriseth2017-02-164-73/+82
|/
* Review comments.chriseth2017-02-143-7/+7
* Allow different entry scope for registerDeclarations.chriseth2017-02-143-9/+22
* Extract scopes into compiler stack.chriseth2017-02-142-2/+8
* Refactor type system to allow multiple entry points.chriseth2017-02-144-15/+27
* Refactor NameAndTypeResolver and SyntaxChecker to allow other entry points.chriseth2017-02-146-61/+86
* Support revert()Alex Beregszaszi2017-02-111-1/+3
* Implement assert as a global functionAlex Beregszaszi2017-02-101-1/+3
* Disallow arrays with negative lengthAlex Beregszaszi2017-02-021-0/+2
* Warn about invalid checksums of addresses.chriseth2017-01-251-0/+10
* Merge pull request #1245 from ethereum/1215chriseth2017-01-242-7/+19
|\
| * analysis: disallow overloading functions with eventsYoichi Hirai2017-01-231-1/+6
| * analysis: fix formatYoichi Hirai2017-01-231-4/+7