aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis
Commit message (Expand)AuthorAgeFilesLines
* 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
| * analysis: Resolve event overloadingYoichi Hirai2017-01-232-14/+11
| * analysis: Allow multiple events of the same nameYoichi Hirai2017-01-231-0/+7
* | Check if constructor is public or not.chriseth2017-01-211-1/+6
|/
* Fix default function type name visibility.chriseth2017-01-191-1/+0
* analysis: use Declaration::functionType() in another locationYoichi Hirai2017-01-121-11/+4
* ast: add Declaration::functionType()Yoichi Hirai2017-01-121-14/+7
* analysis: avoid emscripten build failureYoichi Hirai2017-01-121-3/+3
* analysis: changes necessary to compile std/StandardToken.solYoichi Hirai2017-01-123-12/+58
* analysis: allow some shadowings explicitlyYoichi Hirai2017-01-121-0/+8
* analysis: report errors when inheritance causes collisionYoichi Hirai2017-01-121-1/+25
* Improve error message when trying to modify constant variablesFederico Bond2016-12-131-1/+6
* Warn about using msg.value in non-payable functionFederico Bond2016-12-092-0/+150
* Fix licensing headersVoR02202016-11-2318-72/+72
* Check that no internals are used in any external function type.chriseth2016-11-163-1/+17
* Disallow payable internal functions.chriseth2016-11-161-1/+2
* Function types.chriseth2016-11-162-0/+18
* Type checker: move the burden of computing mobile type to commonTypeYoichi Hirai2016-11-111-2/+2
* Suggest correct version for pragma and complain about pre-release version.chriseth2016-10-251-4/+13
* Merge pull request #1279 from ethereum/semver-helperchriseth2016-10-251-0/+6
|\
| * Export major/minor/patch helpers on SemVerVersionAlex Beregszaszi2016-10-251-0/+6
* | Merge pull request #1264 from ethereum/988chriseth2016-10-251-0/+5
|\ \ | |/ |/|
| * analysis: determine if a member access on a contract is an l-valueYoichi Hirai2016-10-251-0/+5
* | More checks for missing mobile type.chriseth2016-10-241-4/+14
|/
* Use warning function in TypeCheckerAlex Beregszaszi2016-10-201-5/+4
* Disallow unsupported RValues in inline assemblyAlex Beregszaszi2016-10-201-4/+2
* Disallow magic variables in inline assemblyAlex Beregszaszi2016-10-201-0/+4
* Fix pragma keyword checkYoichi Hirai2016-10-111-1/+1
* Add alias keccak256() for sha3()Alex Beregszaszi2016-10-061-0/+2
* Fix crash for TypeName[k].chriseth2016-09-161-1/+1
* Constructor must be internal or publicAlex Beregszaszi2016-09-061-0/+2
* Reject constant constructorsAlex Beregszaszi2016-09-061-2/+6
* Reject constant modifier on the fallback functionAlex Beregszaszi2016-09-061-0/+2
* Tests for payable / private combination.chriseth2016-09-061-2/+2
* Make constant and payable mutually exclusive.chriseth2016-09-061-0/+2
* Change function type to include and propagate payable and constant modifier.chriseth2016-09-061-10/+2
* Merged in changes from chriseth/payableAlex Beregszaszi2016-09-061-2/+12
* Use version string (including prerelease) for pragma matching.chriseth2016-09-011-2/+3
* Version pragma.chriseth2016-09-014-3/+449
* Make fallback function throw by default.chriseth2016-08-301-0/+2
* Disallow fallback function to return values.chriseth2016-08-261-0/+2
* Require modifiers to contain "_".chriseth2016-08-162-1/+29
* Only warn about unused return in low-level functions.chriseth2016-06-261-6/+15
* Warn about unused return values.chriseth2016-06-262-0/+20
* Disallow implementation of abstract function by constructor of derived class.chriseth2016-06-071-1/+4
* fix: error: call of overloaded ‘list(int, <brace-enclosed initializer list>...moneroexample2016-05-171-1/+1
* Remove unused tests and add asserts for not implemented parts in code generat...chriseth2016-05-111-0/+2
* Simplify interface of RationalNumber.chriseth2016-05-112-6/+6
* Prefer mobileType() to check rational range.chriseth2016-05-111-16/+18
* reorganized tests and fixed mobile types and implicit conversions of rational...VoR02202016-05-101-19/+53
* updated algorithm for bit finding...now to figure out literal valueVoR02202016-05-102-13/+14
* rational renamingVoR02202016-05-102-4/+4
* changed names for Rational Constants and categoriesVoR02202016-05-101-8/+8
* initial work for fixed types...potentially needing a constant literal type fo...RJ Catalano2016-05-103-14/+19
* reduce unnecessary solidity:: namespaceDimitry2016-04-041-1/+1
* rename namespace for instruction.h/cpp in libevmasmDimitry2016-04-021-1/+1
* Code generation (missing external access and source locations).chriseth2016-03-304-0/+81
* changes to redefine the token list, the scanner, and the parser and how they ...RJ Catalano2016-02-191-1/+1
* Fix segfault when using wrong number of constructor arguments.chriseth2016-02-121-0/+3
* Index access for bytesXX.chriseth2016-02-101-0/+18
* cond-expr: use the mobile type instead of the original typeLu Guanqun2016-01-231-12/+3
* [cond-expr] change the end to end testLu Guanqun2016-01-231-2/+6
* [cond-expr] add a test for different typesLu Guanqun2016-01-231-1/+1
* [cond-expr] add a test to assign memory to storageLu Guanqun2016-01-231-2/+6
* [cond-expr] don't allow conditional as left value for the first stageLu Guanqun2016-01-231-43/+25
* [cond-expr] fixup according to code reviewLu Guanqun2016-01-231-2/+7
* [cond-expr] change endVisit() to visit()Lu Guanqun2016-01-232-30/+41
* [cond-expr] fix the crash in ExpressionStatementLu Guanqun2016-01-231-0/+5
* [cond-expr] support conditional expression as lvalueLu Guanqun2016-01-231-0/+8
* [cond-expr] add type checkerLu Guanqun2016-01-232-0/+28
* Merge pull request #356 from guanqun/break-not-in-loopchriseth2016-01-212-0/+141
|\
| * add another test case for continue not in loopLu Guanqun2016-01-191-4/+4
| * code changes according to Chris's commentsLu Guanqun2016-01-192-19/+15
| * check whether break/continue is in the loopLu Guanqun2016-01-152-0/+145
* | Update TypeChecker.cppLiana Husikyan2016-01-161-0/+2
* | fixed assert on EI creation for structs containing only mapping or arraysLianaHus2016-01-161-6/+8
* | Merge pull request #346 from chriseth/importAliaseschriseth2016-01-142-16/+52
|\ \ | |/ |/|
| * Allow aliases during import.chriseth2016-01-112-16/+52
* | clarification on dynamic arrays, switcheroo on typepointer, and a documentati...RJ Catalano2016-01-121-1/+1
* | Merge branch 'develop' of https://github.com/ethereum/solidity into developRJ Catalano2016-01-121-0/+3
|\|
| * Fixed a crash during type checking.chriseth2016-01-081-0/+3
* | final changes to typechecker, the expression compiler, and a couple more test...RJ Catalano2016-01-121-15/+25
* | find common typeRJ2016-01-101-2/+11
|/
* Merge pull request #338 from guanqun/add_parenchriseth2016-01-051-1/+4
|\
| * support decayed tuple expression as left valueLu Guanqun2016-01-041-1/+4
* | Use paths instead of simple identifiers wherever possible.chriseth2015-12-221-1/+1
|/
* Simple aliasing during import.chriseth2015-12-182-9/+24
* Parse complex import directives.chriseth2015-12-181-1/+1
* changed a couple of small nuances, made an attempt at fixing the parsing in t...RJ Catalano2015-12-171-9/+2
* temporary assert addedRJ Catalano2015-12-171-0/+1
* still not able to get types resolved, however it is compilingRJ Catalano2015-12-161-2/+9
* Merge pull request #288 from chriseth/import_contextschriseth2015-12-155-58/+123
|\
| * Style.chriseth2015-12-151-4/+4
| * Relative paths in import directives.chriseth2015-12-101-4/+10
| * Source units are independent scopes.chriseth2015-12-105-43/+96
| * Bugfix concerning pointers to moved data.chriseth2015-12-082-21/+27
* | Merge pull request #289 from chriseth/fix_base_constructor_paramschriseth2015-12-101-0/+3
|\ \
| * | Fix: Type checker crash for wrong number of base constructor arguments.chriseth2015-12-101-0/+3
| |/
* / Fix: Segfaults connected to paramater types.chriseth2015-12-101-2/+2
|/
* Bugfix for explicit memory types in libraries.chriseth2015-12-011-20/+24
* Merge pull request #251 from chriseth/bind2chriseth2015-11-305-86/+89
|\
| * Also check the object type for bound functions.chriseth2015-11-291-1/+10
| * Added the `using x for y` directive.chriseth2015-11-273-3/+13
| * Resolve type names using regular AST visit.chriseth2015-11-272-82/+66
* | Introduce selfdestruct alias for suicide.chriseth2015-11-291-1/+3
|/
* Do not store elements of a contract by AST node type.chriseth2015-11-264-50/+24
* Make members context-sensitive.chriseth2015-11-265-19/+14