aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis/TypeChecker.cpp
Commit message (Expand)AuthorAgeFilesLines
* Deprecate wildcard assignments.chriseth2018-05-081-8/+49
* Merge pull request #4063 from ethereum/emit-non-eventchriseth2018-05-041-0/+1
|\
| * Show proper error when trying to emit a non-eventAlex Beregszaszi2018-05-041-0/+1
* | Change numBits to unsigned IntegerTypeAlex Beregszaszi2018-05-031-1/+2
|/
* Merge pull request #3981 from ethereum/years-suffixchriseth2018-04-241-0/+16
|\
| * The "year" denomination is deprecatedAlex Beregszaszi2018-04-231-0/+16
* | Merge pull request #3976 from ethereum/emptyTupleComponentchriseth2018-04-231-0/+13
|\ \ | |/ |/|
| * Treats inline array as an error.Erik Kundt2018-04-231-0/+2
| * Turns it into warning (error for 0.5.0) and adds Changelog entry.Erik Kundt2018-04-231-1/+8
| * Prevents null type from being used in tuple.Erik Kundt2018-04-221-0/+4
* | Turn deprecated warnings for sha3/suicide into errors (experimental 0.5.0)Alex Beregszaszi2018-04-211-2/+10
|/
* Make literals an error for tight packing (experimental 0.5.0)Alex Beregszaszi2018-04-201-8/+18
* Improve error message for failed member lookup.chriseth2018-04-191-11/+16
* Fix name clashes between constructor and fallback function.chriseth2018-04-181-47/+45
* Improve documentation and warning about accessing contract members inherited ...Daniel Kirchner2018-04-141-1/+2
* Merge pull request #3364 from ethereum/revertWithReasonchriseth2018-04-131-4/+3
|\
| * Allow function overloads involving MagicVariableDeclarations.chriseth2018-04-121-4/+3
* | Allow struct encoding with new encoder.chriseth2018-04-121-7/+18
* | Check partial function parameters if rest is arbitrary.chriseth2018-04-121-3/+14
|/
* Merge pull request #3309 from ethereum/limit-errorschriseth2018-04-111-11/+1
|\
| * Catch FatalError in CompilerStack::analysis to cover all the analysis testsAlex Beregszaszi2018-04-061-11/+1
* | Error when using no parentheses in modifier-style constructor calls.Daniel Kirchner2018-04-101-4/+23
* | Use the most derived contract as main location in case of diamond inheritance.Daniel Kirchner2018-04-091-3/+18
* | Move constructor argument override check to TypeChecker and reuse annotations...Daniel Kirchner2018-04-091-21/+54
|/
* Error when using empty parenthesis for base class constructors that require a...Daniel Kirchner2018-04-051-23/+39
* Prevent encoding of weird types and support packed encoding of external funct...chriseth2018-03-291-0/+11
* 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
* 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-071-0/+5
|/ /
* | 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 #3569 from ethereum/evmVersionchriseth2018-03-051-0/+1
|\ \
| * | Provide EVM version to assembly analysis.chriseth2018-03-021-0/+1
| |/
* | 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
|/
* Warn about using events without emit.chriseth2018-02-221-1/+9
* Introduce emit statement.chriseth2018-02-221-0/+9
* 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
* Issue warning for using public visibility for interface functionsAlex Beregszaszi2018-02-011-0/+2
* Split inline assembly into loose and strict flavours.chriseth2018-01-061-1/+1
* Improve error message for wrong struct initialization (#3359)Federico Bond2018-01-041-1/+5
* 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
* Unary operators and division.chriseth2017-11-301-1/+1
* 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
* 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
* Disallow non-pure constant state variables in 0.5.0Federico Bond2017-10-031-5/+14
* Extract duplicate function or event finding logicFederico Bond2017-09-301-37/+11
* Emit error when declaring event with same name and arguments twiceFederico Bond2017-09-301-0/+44
* 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
|/
* Warn about obsolete sha3/suicide callsAlex Beregszaszi2017-09-191-0/+8
* 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 #2848 from ethereum/checkViewPurechriseth2017-09-141-0/+3
|\
| * Store super function.chriseth2017-09-061-0/+3
* | Limit each duplicate declaration error to 32 referencesAlex Beregszaszi2017-09-131-2/+20
* | 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-291-1/+4
* Warn on using literals in tight packingAlex Beregszaszi2017-08-251-0/+22
* 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
* Avoid duplicate errors due to function overridesFederico Bond2017-08-121-5/+5
* Use a secondary location for function override errorsFederico Bond2017-08-121-24/+15
* Refactor function override check to remove duplicate logicFederico Bond2017-08-121-44/+48
* Use fully qualified name of super in messageFederico Bond2017-08-121-4/+3
* Improve override changes signature error messageFederico Bond2017-08-121-1/+31
* 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
* 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
* 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
|/
* 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
* Warn if local storage reference variable does not use "storage" explicitly.chriseth2017-07-061-4/+6
* 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
* Warn about copies in storage that might overwrite unexpectedly.chriseth2017-06-261-0/+31
* 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
* Initial EVM1.5 assembly implementation.chriseth2017-06-081-1/+2
* Refactor error reportingRhett Aultman2017-05-301-178/+152
* Introduce Julia mode in AsmAnalyzerAlex Beregszaszi2017-05-271-0/+1
* Adapt EVM codegen to new namespace.chriseth2017-05-261-5/+5
* minor fixes and changelog updatedjudjuu2017-05-221-0/+1
* refactoring functionCallAnnotationdjudjuu2017-05-191-6/+9
* Refactor to combined scope and stack height info.chriseth2017-04-261-2/+8
* Fix storage access tests.chriseth2017-04-251-5/+5
* Storage access from inline assembly.chriseth2017-04-251-6/+19
* 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-251-6/+5
* Split external identifier access into resolving and code generation.chriseth2017-04-251-23/+20
* Warn about side-effect free statements.chriseth2017-04-211-2/+2
* 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-181-0/+7
* 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-161-8/+7
* Mention 'transfer' in warning about unchecked 'send'.chriseth2017-03-151-2/+3
* 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
* Merge pull request #1751 from ethereum/warnLiteralExpBaseYoichi Hirai2017-03-111-0/+20
|\
| * Warn about literal constant base in exponentiation.chriseth2017-03-071-0/+20
* | 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 #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
|/
* 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
* Review comments.chriseth2017-02-141-5/+2
* Allow different entry scope for registerDeclarations.chriseth2017-02-141-1/+6
* Refactor type system to allow multiple entry points.chriseth2017-02-141-2/+2
* Warn about invalid checksums of addresses.chriseth2017-01-251-0/+10
* Check if constructor is public or not.chriseth2017-01-211-1/+6
* analysis: changes necessary to compile std/StandardToken.solYoichi Hirai2017-01-121-2/+17
* Improve error message when trying to modify constant variablesFederico Bond2016-12-131-1/+6
* Fix licensing headersVoR02202016-11-231-4/+4
* Check that no internals are used in any external function type.chriseth2016-11-161-0/+8
* Type checker: move the burden of computing mobile type to commonTypeYoichi Hirai2016-11-111-2/+2
* 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 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
* Make fallback function throw by default.chriseth2016-08-301-0/+2
* Disallow fallback function to return values.chriseth2016-08-261-0/+2
* Only warn about unused return in low-level functions.chriseth2016-06-261-6/+15
* Warn about unused return values.chriseth2016-06-261-0/+17
* Disallow implementation of abstract function by constructor of derived class.chriseth2016-06-071-1/+4
* Remove unused tests and add asserts for not implemented parts in code generat...chriseth2016-05-111-0/+2
* Simplify interface of RationalNumber.chriseth2016-05-111-5/+5
* 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-101-9/+12
* 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-101-9/+13
* 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-301-0/+57
* 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-231-29/+40
* [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-231-0/+27
* Update TypeChecker.cppLiana Husikyan2016-01-161-0/+2
* fixed assert on EI creation for structs containing only mapping or arraysLianaHus2016-01-161-6/+8
* 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
|/
* support decayed tuple expression as left valueLu Guanqun2016-01-041-1/+4
* 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 #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
|/
* Also check the object type for bound functions.chriseth2015-11-291-1/+10
* Added the `using x for y` directive.chriseth2015-11-271-1/+10
* Do not store elements of a contract by AST node type.chriseth2015-11-261-17/+15
* Make members context-sensitive.chriseth2015-11-261-7/+9
* Make some functions const.chriseth2015-11-261-2/+2
* Type checking for creating new arrays.chriseth2015-11-261-2/+22
* Allow "new expressions" also for general type names.chriseth2015-11-261-26/+41
* passed SourceLocations instead of nodes to the error reporting functionLianaHus2015-11-071-86/+86
* File reorganisation.chriseth2015-10-211-0/+1328