aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis
Commit message (Collapse)AuthorAgeFilesLines
* Refactor `solidity::Token` into an `enum class` with `TokenTraits` helper ↵Christian Parpart2018-10-225-16/+16
| | | | namespace
* Merge pull request #5208 from mestorlx/bug4156chriseth2018-10-151-4/+4
|\ | | | | [WIP] Bad identifier suggestion in certain cases
| * Updated MAXIMUM_STRING_DISTANCE to non static maximumStringDistance taking ↵mestorlx2018-10-131-4/+4
| | | | | | | | into account length of the identifier
* | Renaming namespace dev::julia to dev::yul.Christian Parpart2018-10-152-7/+7
| |
* | Fixes invalid function calls to literals inside tuple assignment's LHS.Christian Parpart2018-10-151-2/+6
|/
* Merge pull request #5195 from ethereum/unsigned-array-indexchriseth2018-10-112-3/+6
|\ | | | | Do not crash on non-unsigned array index
| * Fixes crash on non-unsigned array index.Erik Kundt2018-10-112-3/+6
| |
* | Improved error message for lookup in function types.Martin Diz2018-10-101-2/+19
|/
* Merge pull request #5180 from ethereum/cpp-cleanupchriseth2018-10-102-2/+2
|\ | | | | Some C++ cleanup
| * Use empty() instead of size() == 0Alex Beregszaszi2018-10-092-2/+2
| |
* | Fix pragma error suggestion.chriseth2018-10-091-1/+1
|/
* Fix typos.chriseth2018-10-041-4/+4
|
* Fixes #5051 (introduced in #4684), effectively allowing underscores in ↵Christian Parpart2018-10-021-2/+2
| | | | address literals.
* Merge pull request #5061 from ethereum/fixedSizeArrayLengthchriseth2018-09-261-0/+2
|\ | | | | Disallow fixed-size arrays with zero length
| * Removes unnecessary check of array type.Erik Kundt2018-09-261-3/+1
| |
| * Simplifies zero-length check for fixed-size arrays.Erik Kundt2018-09-221-3/+3
| |
| * Moves length check to reference resolver.Erik Kundt2018-09-222-5/+4
| |
| * Disallows fixed-size multidim. arrays with zero-length.Erik Kundt2018-09-221-0/+5
| |
* | Removed extra whitespace.Nicolás Venturo2018-09-261-1/+1
| |
* | Use 'switch' instead of 'if..else if'Khan M Rashedun-Naby2018-09-241-17/+22
| |
* | Make non-payable default for conversion to address.chriseth2018-09-201-3/+1
|/
* Do not set to ref for explicit conversion and add assertion for arrayliangdzou2018-09-141-2/+17
| | | | type conversion. Also, add some test cases for #4901 and #4948.
* fixing rebase conflictsJordan Last2018-09-141-2/+2
| | | | | | | | | | | | | | | | | | | | add ElementaryTypes::BytesMemory and ElementaryTypes::StringMemory fix rebase conflicts fixing rebase conflicts use make_shared instead of new fix tabs and StateMutability parameter create address and addressType functions, fix spaces in comment fix typo and switch nonpayable to payable fix spaces fix comment again
* Add payable and non-payable state mutability to AddressType.Daniel Kirchner2018-09-133-17/+53
|
* Accept ``address payable`` during parsing.Daniel Kirchner2018-09-111-1/+14
|
* Merge pull request #4872 from bakaoh/issue4716chriseth2018-09-061-4/+5
|\ | | | | Crash when array index value is too large
| * Fix #4716: Crash when array index value is too largebakaoh2018-09-051-4/+5
| |
* | Split IntegerType into IntegerType and AddressType.Daniel Kirchner2018-09-052-3/+3
| |
* | Merge pull request #4590 from ethereum/msgValueModifierchriseth2018-09-055-65/+102
|\ \ | | | | | | Warn if modifier uses msg.value in non-payable function
| * | Turn warning into error.chriseth2018-09-041-5/+7
| | |
| * | Warns if modifier uses msg.value in non-payable function.Erik Kundt2018-09-045-65/+100
| |/
* | Fix abi.decode returning single value.chriseth2018-09-052-20/+20
| |
* | Merge pull request #4888 from ↵chriseth2018-09-042-2/+25
|\ \ | | | | | | | | | | | | ethereum/disallow_single_statement_vardecl_if_while_for Disallow single statement var decl in if/while/for without blocks
| * | Review suggestionsLeonardo Alt2018-09-042-11/+11
| | |
| * | Changed error message and added testsLeonardo Alt2018-09-041-1/+1
| | |
| * | Disallow single statement var decl in if/while/for without blocksLeonardo Alt2018-09-042-2/+25
| |/
* / Rename Location::Default to Location::Unspecified.Chase McDermott2018-08-182-5/+5
|/
* Dynamic type as mapping key returns error instead of assertion failLeonardo Alt2018-08-161-1/+15
|
* Merge pull request #4822 from ethereum/addressStaticCallchriseth2018-08-161-3/+9
|\ | | | | Add ``staticcall`` to ``address``.
| * Add ``staticcall`` to ``address``.Daniel Kirchner2018-08-151-3/+9
| |
* | Review suggestionsLeonardo Alt2018-08-151-3/+3
| |
* | Disallow indexed reference types in events when using ABIEncoderV2Leonardo Alt2018-08-151-0/+10
|/
* Merge pull request #4390 from ethereum/abidecodechriseth2018-08-153-5/+81
|\ | | | | Add abi.decode
| * Add abi.decode(bytes data, (...))chriseth2018-08-153-5/+81
| |
* | Fixes #4718: High CPU usage when using large variable namesbakaoh2018-08-151-2/+5
|/
* Merge pull request #4738 from ethereum/dataloc_mergedchriseth2018-08-154-112/+102
|\ | | | | Enforce data location.
| * Refactor data location check.Chase McDermott2018-08-154-112/+102
| |
* | Merge pull request #4542 from aarlt/constructor_natspecchriseth2018-08-152-6/+39
|\ \ | |/ |/| Fix: natspec annotations on constructors
| * Fix: natspec annotations on constructorsAlexander Arlt2018-08-092-6/+39
| | | | | | | | - natspec annotations on constructore where ignored.
* | Adds support for structs in interfaces.Christian Parpart2018-08-142-4/+9
| | | | | | | | Closes #4733.
* | Merge pull request #4777 from ethereum/typeConversionMemorychriseth2018-08-141-3/+6
|\ \ | | | | | | Defaul data location for type conversions is memory.
| * | Defaul data location for type conversions is memory.chriseth2018-08-131-3/+6
| | |
* | | Merge pull request #4798 from ethereum/mappingArgumentsAndReturnschriseth2018-08-132-2/+8
|\ \ \ | | | | | | | | Mapping arguments and returns
| * | | Allow mappings of arrays as arguments and return values of internal functions.Daniel Kirchner2018-08-131-4/+1
| | | |
| * | | Consider mappings return values in control flow analysis.Daniel Kirchner2018-08-131-1/+4
| | | |
| * | | Allow mapping arguments and return values in all internal functions.Daniel Kirchner2018-08-131-1/+0
| | | |
| * | | Allow mapping arguments and return values in internal library functions.Daniel Kirchner2018-08-131-1/+8
| |/ /
* / / Disallow ambiguous conversions between number literals and bytesXX types.Daniel Kirchner2018-08-131-16/+0
|/ /
* | Fix data location of external reference parameters.chriseth2018-08-091-1/+1
| |
* | Rename FunctionKind SHA3 to KECCAK256 (as the instruction was renamed in ↵Alex Beregszaszi2018-08-092-5/+5
|/ | | | libevmasm)
* Merge pull request #4684 from ethereum/underscores_in_numeric_literalschriseth2018-08-092-0/+43
|\ | | | | [BREAKING] Underscores in numeric literals
| * Cleanup & polish numbers-with-underscores parsing, also improving tests.Christian Parpart2018-08-081-25/+24
| |
| * Add stricter hex underscore rulesBalajiganapathi S2018-08-082-0/+44
| |
* | Provide nicer error message when referencing overloaded referencesAlex Beregszaszi2018-08-081-0/+3
| |
* | Merge pull request #4740 from ethereum/enforceNumberOfReturnValueschriseth2018-08-081-1/+5
|\ \ | | | | | | Disallow empty return in function with return arguments.
| * | Disallow empty return expressions in functions with non-empty return parameters.Daniel Kirchner2018-08-081-1/+5
| |/
* | Merge pull request #4745 from ethereum/nameResolverNoEarlyExitchriseth2018-08-081-3/+0
|\ \ | | | | | | Do not stop after the first error in reference resolution.
| * | Do not stop after the first error in reference resolution.chriseth2018-08-081-3/+0
| |/
* / Remove remaining instances of ``fillRight`` left over from tuple wildcards ↵Daniel Kirchner2018-08-081-4/+7
|/ | | | assignments.
* Merge pull request #4731 from ethereum/interface-enumchriseth2018-08-072-8/+0
|\ | | | | Allow enums in interfaces
| * Allow enums in interfacesAlex Beregszaszi2018-08-072-8/+0
| |
* | Merge pull request #4699 from ethereum/cleanup_VariableDeclarationchriseth2018-08-071-105/+109
|\ \ | | | | | | libsolidity: Remove dead code wrt. VariableDeclaration::canHaveAutoType
| * | libsolidity: Remove dead code wrt. VariableDeclaration::canHaveAutoType()Christian Parpart2018-08-071-105/+109
| | | | | | | | | | | | Closes #4667
* | | More precise error message if using non-variables with _slot/_offsetAlex Beregszaszi2018-08-072-3/+7
| | |
* | | Properly handle invalid references used together with _slot and _offset.Alex Beregszaszi2018-08-071-0/+2
| |/ |/|
* | Do not crash on using _slot and _offset suffixes on their ownAlex Beregszaszi2018-08-071-0/+5
|/
* Merge pull request #4689 from ethereum/cleanup-050-testschriseth2018-08-062-3/+0
|\ | | | | Cleanup 0.5.0 test cases
| * Remove unused 050 variable in ReferencesResolverAlex Beregszaszi2018-08-062-3/+0
| |
* | Merge pull request #4690 from ethereum/equalParameterTypesAlex Beregszaszi2018-08-062-5/+5
|\ \ | | | | | | Renamed FunctionType::hasEqualArgumentTypes to FunctionType::hasEqual…
| * | Renamed FunctionType::hasEqualArgumentTypes to ↵Jesse Busman2018-08-062-5/+5
| |/ | | | | | | FunctionType::hasEqualParameterTypes
* | Merge pull request #4671 from ethereum/mappingTupleAssignmentchriseth2018-08-062-5/+33
|\ \ | |/ |/| Disallow assignments to mappings within tuple assignments; allow for local variables.
| * Review suggestions; to be squashed.Daniel Kirchner2018-08-031-8/+10
| |
| * Allow assignments to local variables of mapping types.Daniel Kirchner2018-08-031-1/+9
| |
| * Disallow assignments to mappings within tuple assignments.Daniel Kirchner2018-08-032-5/+23
| |
* | Merge pull request #4644 from ethereum/event_struct_errorchriseth2018-08-061-0/+10
|\ \ | | | | | | Disallow structs in events without ABIEncoderV2
| * | Disallow structs in events without ABIEncoderV2Leonardo Alt2018-08-031-0/+10
| |/
* | Merge pull request #4681 from ethereum/var-suggestion-crashchriseth2018-08-061-0/+6
|\ \ | | | | | | Fix declaration suggestion for var with different number of components
| * | Fix declaration suggestion for var with different number of componentsAlex Beregszaszi2018-08-041-0/+6
| |/
* | Merge pull request #4412 from ethereum/v050-reference-resolver-errorTypeForLooseChristian Parpart2018-08-042-6/+2
|\ \ | |/ |/| [BREAKING] permanently set errorTypeForLoose from Warning to SyntaxError
| * Disallow loos assembly in Solidity by permanently setting it to SyntaxError ↵Christian Parpart2018-08-022-6/+2
| | | | | | | | (from Warning)
* | Turn warning about uninitialized storage returns into an error.Daniel Kirchner2018-08-031-5/+5
| |
* | Merge pull request #4522 from ethereum/fullEncodingTypechriseth2018-08-021-16/+2
|\ \ | |/ |/| Isolate determining the encoding type into its own function.
| * Isolate determining the encoding type into its own function.chriseth2018-08-011-16/+2
| |
* | Extend code comment about signatures.Daniel Kirchner2018-08-011-1/+2
| |
* | Do not exclude public state variables when looking for conflicting declarations.Daniel Kirchner2018-08-011-8/+1
| |
* | Merge pull request #4378 from ethereum/noBaseWithoutArgumentsAlex Beregszaszi2018-08-011-17/+7
|\ \ | | | | | | [BREAKING] Disallow calling base constructors without arguments.
| * | Correctly determine whether base constructor is called without parentheses.chriseth2018-08-011-11/+11
| | |
| * | Disallow calling base constructors without arguments.chriseth2018-08-011-14/+4
| |/
* / Guard CycleDetector against recursion exhaustion.Christian Parpart2018-08-012-2/+8
|/ | | | fixes #3935.
* Merge pull request #4507 from ethereum/v050-var-keyword-trace-removalsAlex Beregszaszi2018-08-011-2/+19
|\ | | | | Ensures an empty use of var keyword is caught with the proper non-fatal error message
| * Ensures an empty use of var keyword is caught with the proper error message.Christian Parpart2018-08-011-2/+19
| |
* | Fix crash when FunctionType has undeclared type as parameterLeonardo Alt2018-07-311-1/+1
| |
* | Merge pull request #4527 from ethereum/mappingEnforceStorageAlex Beregszaszi2018-07-241-1/+8
|\ \ | | | | | | Enforces explicit data location for mappings
| * | Enforces data location of local mappings to storage.Erik Kundt2018-07-241-1/+8
| | |
* | | 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.
* | Do not handle `balance` member of contract types specially.chriseth2018-07-201-2/+1
| |
* | Merge pull request #4439 from ethereum/address_memberschriseth2018-07-191-18/+16
|\ \ | | | | | | [BREAKING] Enforce address members not accessible by contract instance
| * | Changes in ExpressionCompilerLeonardo Alt2018-07-191-2/+3
| | |
| * | Add suggestion to error messageLeonardo Alt2018-07-171-18/+15
| | |
* | | Adds warning if function is shadowing a contract.Erik Kundt2018-07-181-9/+1
| | |
* | | Disallows old constructor syntax.Erik Kundt2018-07-182-25/+17
| |/ |/|
* | Suggests external for fallback and interface functions.chriseth2018-07-182-1/+15
| |
* | Enforces visibility specifier and updates docs.Erik Kundt2018-07-172-11/+1
|/
* Add missing period in the end of error messagesLeonardo Alt2018-07-161-3/+3
|
* Deprecate the throw statementAlex Beregszaszi2018-07-161-12/+4
|
* enforce interface-functions to be external-declaredChristian Parpart2018-07-161-12/+4
| | | | | | | | - libsolidity: Enforce interface-functions must be external-declared. - Changelog adapted to reflect changes wrt. functions in interfaces. - test: Adjustments according to prior interface-function changes. - tests: Adapting SolidityEndToEndTest to interface-function change. - docs: Adapted documentation to interface-function change.
* Merge pull request #4501 from ethereum/recursiveStructsWithFixedArrayschriseth2018-07-131-13/+16
|\ | | | | Consider fixed-size arrays when checking for recursive structs.
| * Use CycleDetector and account for multi-dimensional arrays.Daniel Kirchner2018-07-131-19/+16
| |
| * Consider fixed size array members when checking for recursive structs.Daniel Kirchner2018-07-131-0/+6
| |
* | Disallow multi variable declarations with mismatching number of values.Daniel Kirchner2018-07-131-72/+16
|/
* Merge pull request #4437 from ethereum/report-empty-var-declschriseth2018-07-132-0/+15
|\ | | | | [BREAKING] Report empty var tuple decls
| * Generates a syntax error when declaring a variable declaration's LHS has no ↵Christian Parpart2018-07-122-0/+15
| | | | | | | | named components
* | Require storage location.Daniel Kirchner2018-07-121-13/+4
|/
* Merge pull request #4443 from ethereum/double_var_decl_fixchriseth2018-07-123-1/+15
|\ | | | | Fix crash when declaring the same var twice in the same scope
| * Add comment explaining new codeLeonardo Alt2018-07-111-0/+5
| |
| * Fix crash for double variable declaration in the same scope.Leonardo Alt2018-07-113-1/+10
| |
* | Merge pull request #4404 from ethereum/v050-var-keyword-suggestChristian Parpart2018-07-113-19/+63
|\ \ | | | | | | [WIP] v0.5.0 var keyword type suggestion
| * | Coding style.chriseth2018-07-111-23/+18
| | |
| * | semantics: Suggest auto-deduced type when user declares variable with `var` ↵Christian Parpart2018-07-113-19/+68
| | | | | | | | | | | | keyword.
* | | Merge pull request #4454 from ethereum/constructorArgCountchriseth2018-07-111-24/+9
|\ \ \ | | | | | | | | [BREAKING] Wrong argument count in constructor call
| * | | Improves error with suggestion to remove parantheses.Erik Kundt2018-07-111-1/+1
| | | |
| * | | Updates Changelog, syntax test and simplifies type checker.Erik Kundt2018-07-111-3/+1
| | | |
| * | | Turns wrong argument count in base constructor call into en error.Erik Kundt2018-07-111-22/+9
| |/ /
* | | Merge pull request #4388 from ethereum/noPackedLiteralschriseth2018-07-111-17/+7
|\ \ \ | | | | | | | | Disallow packed encoding of literals.
| * | | Disallow packed encoding of literals.chriseth2018-07-031-17/+7
| | | |
* | | | Code, Changelog, ReleaseChecklist: Fix typos.Cryptomental2018-07-112-2/+2
| |/ / |/| | | | | | | | Refs: #4442
* | | Merge pull request #4376 from ethereum/fallbackExternalchriseth2018-07-111-4/+1
|\ \ \ | | | | | | | | Fallback functions have to be external
| * | | Fallback function has to be external.chriseth2018-07-041-4/+1
| | | |
* | | | Merge pull request #4464 from ↵chriseth2018-07-111-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | cryptomental/bugfix/fix-typos-in-AsmParser-and-TypeChecker AsmParser,TypeChecker: Fix typos.
| * | | | AsmParser,TypeChecker: Fix typos.Cryptomental2018-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix typos. The change requested as a separate PR during codespell PR. Adapt tests as well. Refs: #4442
* | | | | Merge pull request #4466 from ethereum/tupleNotEmptychriseth2018-07-111-11/+2
|\ \ \ \ \ | |_|_|_|/ |/| | | | Disallow empty tuple components.
| * | | | Remove special ``(x,)`` case from type assignment.chriseth2018-07-101-4/+0
| | | | |
| * | | | Disallow empty tuple components.Daniel Kirchner2018-07-101-7/+2
| | | | |
* | | | | defaulting to v0.5.0 behaviour of unary + operator (disallow); also adapting ↵Christian Parpart2018-07-101-8/+2
| | | | | | | | | | | | | | | | | | | | all tests to it
* | | | | Merge pull request #4415 from ethereum/uninitializedStoragePointerchriseth2018-07-101-4/+1
|\ \ \ \ \ | |/ / / / |/| | | | [BREAKING] Turn uninitialized storage variables into error.
| * | | | Turn uninitialized storage variables into an error.Daniel Kirchner2018-07-101-4/+1
| |/ / /
* / / / Check for matching number of components in ↵Daniel Kirchner2018-07-101-19/+1
|/ / / | | | | | | | | | TupleType::isImplicitlyConvertibleTo instead of the TypeChecker.
* | | Enforce error on hex number combined with unit denominationLeonardo Alt2018-07-091-17/+6
| | |
* | | Merge pull request #4418 from ethereum/initialConstantschriseth2018-07-051-13/+4
|\ \ \ | | | | | | | | Only allow compile-time constants for constant state variables.
| * | | Only allow compile-time constants for constant state variables.chriseth2018-07-041-13/+4
| |/ /
* | | Merge pull request #4409 from ethereum/viewPureCheckerchriseth2018-07-042-26/+13
|\ \ \ | | | | | | | | Enforce state mutability in view pure checker.
| * | | Remove v050 check for enforcing "view" in ViewPureChecker.Daniel Kirchner2018-07-042-26/+13
| |/ /
* / / Enforcing error on msg.gas and block.blockhash()Leonardo Alt2018-07-041-27/+9
|/ /
* | Merge pull request #4379 from ethereum/constructorArgsTwicechriseth2018-07-041-14/+5
|\ \ | | | | | | Disallow constructor arguments given multiple times.
| * | Disallow constructor arguments given multiple times.chriseth2018-06-291-14/+5
| | |
* | | libsolidity: turns the var-keyword use from deprecation-warning to an error ↵Christian Parpart2018-07-031-6/+1
| |/ |/| | | | | and include explicit type suggestion
* | Remove trailing whitespace in missing visibility warning.Daniel Kirchner2018-07-021-2/+2
|/
* Merge pull request #4352 from D-Nice/developchriseth2018-06-291-1/+1
|\ | | | | Fixes storage ref var typo error from 'prefix' to 'suffix'
| * Fixes storage ref var typo error from 'prefix' to 'suffix'D-Nice2018-06-251-1/+1
| |
* | Merge pull request #4097 from ethereum/noPackedExceptForPackedchriseth2018-06-282-37/+44
|\ \ | | | | | | [BREAKING] call only takes a single argument and does not pad
| * | Also mention regular abi.encode in error message.chriseth2018-06-271-2/+8
| | |
| * | Provide better suggestions in error messages with respect to call and hash ↵chriseth2018-06-251-4/+34
| | | | | | | | | | | | functions.
| * | Bare functions take single bytes argument.chriseth2018-06-252-33/+4
| | |
* | | Remove non-0.5.0 warning for emit keyword (make it mandatory)Alex Beregszaszi2018-06-271-6/+1
|/ /
* | Keep the 'if it not used as an address' helper message for all cases of ↵Alex Beregszaszi2018-06-251-7/+12
| | | | | | | | address related warnings
* | Better wording for invalid address literal errorAlex Beregszaszi2018-06-251-2/+4
| |
* | Change invalid (not exactly 160 bits long) address literal to errorJason Cobb2018-06-251-4/+11
|/
* Disallow the years unit denomination properlyAlex Beregszaszi2018-06-221-12/+4
|
* Merge pull request #4301 from rnaby/TypeCheckerchriseth2018-06-221-5/+3
|\ | | | | Simplification of typeSupportedByOldABIEncoder
| * Simplification of typeSupportedByOldABIEncoderKhan M Rashedun-Naby2018-06-211-5/+3
| |
* | Merge pull request #4306 from ethereum/remove_050_workaround_scopingchriseth2018-06-214-36/+23
|\ \ | | | | | | [BREAKING] C99 scoping rules by default (remove 050 workaround)
| * | C99 scoping rules by defaultLeonardo Alt2018-06-204-36/+23
| | |
* | | Merge pull request #4219 from ethereum/functionTypeNamedArgumentsAlex Beregszaszi2018-06-211-1/+1
|\ \ \ | |/ / |/| | Turn named return parameters in function types into an error.
| * | Return parameters in function types may not be named.Daniel Kirchner2018-06-181-1/+1
| |/
* / Disallow raw callcode (was deprecated in 0.4.12)Alex Beregszaszi2018-06-201-12/+4
|/
* 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.
* Disallow sha3/suicide aliasesAlex Beregszaszi2018-06-131-10/+2
|
* Show named argument name in errorAlex Beregszaszi2018-06-061-1/+1
|
* Fix view/pure error ordering problem.chriseth2018-06-041-2/+2
|
* Allow using `calldata` keyword to specify data locationmingchuan2018-05-302-8/+32
|
* Update control flow graph.Daniel Kirchner2018-05-171-5/+4
|
* Split warning for multi arguments for hash functionsAlex Beregszaszi2018-05-161-10/+12
|
* Warn/enforce single bytes argument for certain builtins (hashing functions).chriseth2018-05-161-0/+27
| | | | | In 0.5.0 mode, only accept a single bytes argument for ``.call``, ``keccak256`` and others and do not pad when encoding.
* ABI encoding functions are pure and should be usable in constants.chriseth2018-05-151-0/+3
|
* Add control flow analyzer and test for uninitialized storage returns.Daniel Kirchner2018-05-152-0/+208
|
* Add control flow graph.Daniel Kirchner2018-05-154-0/+797
|
* 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-event
| * 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 deprecated
| * The "year" denomination is deprecatedAlex Beregszaszi2018-04-231-0/+16
| |
* | Merge pull request #3976 from ethereum/emptyTupleComponentchriseth2018-04-231-0/+13
|\ \ | |/ |/| Empty tuple components should not be possible
| * 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
|
* Warn about functions named "constructor".chriseth2018-04-191-1/+6
|
* Fix name clashes between constructor and fallback function.chriseth2018-04-181-47/+45
|
* Merge pull request #3880 from ethereum/addressMemberDocAndWarnchriseth2018-04-161-1/+2
|\ | | | | Improve documentation and warning about accessing contract members in…
| * Improve documentation and warning about accessing contract members inherited ↵Daniel Kirchner2018-04-141-1/+2
| | | | | | | | from address.
* | Merge pull request #3875 from ethereum/constructorSelfRefchriseth2018-04-141-4/+26
|\ \ | |/ |/| Stricter check for "this" in constructor.
| * Stricter check for member access to "this" in constructor.Daniel Kirchner2018-04-131-4/+26
| |
* | Merge pull request #3364 from ethereum/revertWithReasonchriseth2018-04-134-8/+18
|\ \ | | | | | | Revert with reason
| * | Allow error string for ``require``.chriseth2018-04-121-0/+1
| | |
| * | Register overload for ``revert()`` that can receive a reason string.chriseth2018-04-122-1/+4
| | |
| * | Allow function overloads involving MagicVariableDeclarations.chriseth2018-04-123-7/+13
| |/
* | Merge pull request #2980 from ethereum/abi-apichriseth2018-04-133-11/+39
|\ \ | |/ |/| Add abi.encode and abi.encodePacked
| * Allow struct encoding with new encoder.chriseth2018-04-121-7/+18
| |
| * Check partial function parameters if rest is arbitrary.chriseth2018-04-121-3/+14
| |
| * Add abi.encode, abi.encodePacked, abi.encodeWithSelector and ↵Alex Beregszaszi2018-04-122-1/+7
| | | | | | | | abi.encodeWithSignature.
* | Merge pull request #3848 from ethereum/constantDivisionByZerochriseth2018-04-122-0/+44
|\ \ | |/ |/| Error on invalid arithmetic with constant expressions.
| * Error on invalid arithmetic with constant expressions.Daniel Kirchner2018-04-122-0/+44
| |
* | Warn if modifiers are applied to functions without implementation.chriseth2018-04-121-0/+7
|/
* Fix ConstantEvaluator to correctly handle single element tuples.Daniel Kirchner2018-04-122-0/+7
|
* Merge pull request #3309 from ethereum/limit-errorschriseth2018-04-111-11/+1
|\ | | | | Limit the number of errors output in a single run to 256
| * 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 ↵Daniel Kirchner2018-04-094-65/+60
| | | | | | | | annotations in ContractCompiler.
* | Allow duplicated constructor calls, if no arguments; support for multiple ↵Daniel Kirchner2018-04-091-20/+30
| | | | | | | | | | | | inheritance; backwards compatibility. # tmp
* | Error on duplicated super constructor callsFederico Bond2018-04-092-0/+33
| |
* | Static Analyzer: Fix non-deterministic order of unused variable warnings.Daniel Kirchner2018-04-072-8/+10
|/
* Merge pull request #3824 from ethereum/baseArgumentsEmptyParenthesisDaniel Kirchner2018-04-051-23/+39
|\ | | | | Error when using empty parentheses for base class constructors that r…
| * Error when using empty parenthesis for base class constructors that require ↵Daniel Kirchner2018-04-051-23/+39
| | | | | | | | arguments.
* | Merge pull request #3745 from ethereum/fixRecursionAlex Beregszaszi2018-04-052-19/+22
|\ \ | |/ |/| Fix invalid recursion errors for structs
| * 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
|\ | | | | Defaults to external visibility for interfaces.
| * 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
|\ \ | | | | | | Disallow empty structs
| * | 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 ↵chriseth2018-03-291-0/+11
|/ | | | function types.
* Merge pull request #3681 from ethereum/interface-externalchriseth2018-03-271-0/+9
|\ | | | | Allow overriding external functions in interfaces with public in a child
| * Introduce inContractKind helper on FunctionDefinitionAlex Beregszaszi2018-03-261-11/+5
| |
| * Allow overriding external functions in interfaces with public in an ↵Alex Beregszaszi2018-03-261-0/+15
| | | | | | | | implementing contract
* | 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
|\ | | | | Warn if using address overloads on contracts
| * 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.
| * | 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
|/ /