aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast/Types.cpp
Commit message (Expand)AuthorAgeFilesLines
* Fix time constantsHEADv0.5.3releasedevelopHsuan Lee2019-04-131-6/+8
* Merge pull request #5817 from ethereum/refactoringAlex Beregszaszi2019-01-181-1/+1
|\
| * Add ContractDefinition::isInterface.Daniel Kirchner2019-01-181-1/+1
* | Add helper to show if contract can be deployed.chriseth2019-01-181-1/+1
* | Code generation for access to contract code.chriseth2019-01-181-0/+7
* | Syntax for meta type information.chriseth2019-01-181-6/+37
|/
* Sort includes in libsolidity/astLeonardo Alt2018-12-171-6/+6
* Merge pull request #5619 from ethereum/cleanup-abcchriseth2018-12-111-34/+27
|\
| * Replace push_back with emplace_back where it makes senseMathias Baumann2018-12-111-34/+27
* | Add tests for implcit conversions from literals to fixed-point numbers.Yi Huang2018-12-111-18/+28
|/
* Adds more detailed type errors and tests.Erik Kundt2018-12-071-4/+4
* Adds an additional message to failing type conversions.Erik Kundt2018-12-071-7/+4
* Fix #5470Albert2018-12-061-4/+3
* Simplifies Result<T> and prevents undefined behaviour.Erik Kundt2018-12-051-3/+3
* Introduces Result<T> for operator and implicit conversion type checks.Erik Kundt2018-12-051-48/+48
* Fix internal compiler error for unimplemented base contract function.Anurag Dashputre2018-12-031-1/+2
* Fix ICE when function type struct parameter has field of non-existent typeLeonardo Alt2018-11-291-1/+7
* Make asCallableFunction to never fail and assert abount parameter size if bou...chriseth2018-11-221-6/+7
* Rename 'asMemberFunction' to widen its purpose.chriseth2018-11-221-4/+4
* Introduce namespace `langutil` in liblangutil directory.Christian Parpart2018-11-221-0/+1
* Merge pull request #5265 from ethereum/cleanupsha3chriseth2018-11-091-1/+1
|\
| * Renamed SHA3.{h,cpp} files.chriseth2018-10-181-1/+1
* | Fix negative denominator in ``boost::rational`` during exponentiation.Daniel Kirchner2018-11-061-2/+2
* | Fixes crash while encoding too large arrays.Erik Kundt2018-10-301-0/+3
* | Refactor `solidity::Token` into an `enum class` with `TokenTraits` helper nam...Christian Parpart2018-10-221-32/+32
|/
* Fixes large rational number literals being wrongly interpreted.Christian Parpart2018-10-091-9/+3
* Fixes #5051 (introduced in #4684), effectively allowing underscores in addres...Christian Parpart2018-10-021-1/+1
* Use better assertion messages for RationalNumberType::literalValueAlex Beregszaszi2018-09-261-2/+2
* Merge pull request #5041 from liangdzou/fix_typo_in_docchriseth2018-09-241-1/+1
|\
| * fix typoliangdzou2018-09-211-1/+1
* | Merge pull request #5049 from ethereum/structtype-assert-annotationAlex Beregszaszi2018-09-211-0/+3
|\ \
| * | Add assertion for annotated type in Structtype::canBeUsedExternallyAlex Beregszaszi2018-09-211-0/+3
* | | Merge pull request #5030 from ethereum/payableConversionchriseth2018-09-211-2/+2
|\ \ \ | |_|/ |/| |
| * | Make non-payable default for conversion to address.chriseth2018-09-201-2/+2
| |/
* / fix typoliangdzou2018-09-201-1/+1
|/
* Add payable and non-payable state mutability to AddressType.Daniel Kirchner2018-09-131-11/+63
* Split IntegerType into IntegerType and AddressType.Daniel Kirchner2018-09-051-65/+66
* Add return data to bare calls.Daniel Kirchner2018-09-041-5/+12
* Merge pull request #4851 from anurag-git/anurag_issue_4824chriseth2018-09-031-4/+1
|\
| * Removed unused "FunctionType::Kind::CallCode" from Types.h and all its usageAnurag Dashputre2018-08-231-4/+1
* | Merge branch 'develop' into anurag_issue_3667Anurag Dashputre2018-08-231-52/+135
|\|
| * Merge pull request #4825 from ethereum/expressionCompBareCallchriseth2018-08-161-0/+11
| |\
| | * More safeguards for (library) function types.chriseth2018-08-151-0/+11
| * | Add ``staticcall`` to ``address``.Daniel Kirchner2018-08-151-0/+6
| |/
| * Add abi.decode(bytes data, (...))chriseth2018-08-151-1/+12
| * Merge pull request #4765 from ethereum/fixes-issue-4673chriseth2018-08-141-1/+2
| |\
| | * Fixes issue where computing storage size for a number would take too long.Christian Parpart2018-08-141-1/+2
| * | Add implicit convertibility to function pointer with higher state mutabilityJesse Busman2018-08-141-20/+59
| * | Merge pull request #4782 from ethereum/encodePackedArrayOfStructschriseth2018-08-141-10/+10
| |\ \
| | * | Disallow packed encoding of arrays of structs.chriseth2018-08-101-10/+10
| | |/
| * / Disallow ambiguous conversions between number literals and bytesXX types.Daniel Kirchner2018-08-131-20/+35
| |/
* | Removed the default cases related to assertion to detect the problem at compi...Anurag Dashputre2018-08-231-6/+0
* | Default case removed to detect errors at comoile time rather than run timeAnurag Dashputre2018-08-171-1/+0
|/
* Rename FunctionKind SHA3 to KECCAK256 (as the instruction was renamed in libe...Alex Beregszaszi2018-08-091-3/+3
* Merge pull request #4684 from ethereum/underscores_in_numeric_literalschriseth2018-08-091-9/+13
|\
| * Cleanup & polish numbers-with-underscores parsing, also improving tests.Christian Parpart2018-08-081-10/+11
| * Add stricter hex underscore rulesBalajiganapathi S2018-08-081-1/+4
* | Merge pull request #4753 from mattaereal/boost-to-string-patchAlex Beregszaszi2018-08-081-7/+7
|\ \
| * | Removing std:: from std::to_string and include for boost/lexical_castMatías Aereal Aeón2018-08-081-7/+7
* | | Merge pull request #4748 from ethereum/validate-identifierchriseth2018-08-081-0/+11
|\ \ \
| * | | Assert that type identifier contains only valid charactersAlex Beregszaszi2018-08-081-0/+11
| | |/ | |/|
* / | Remove remaining instances of ``fillRight`` left over from tuple wildcards as...Daniel Kirchner2018-08-081-7/+5
|/ /
* | Merge pull request #4726 from ethereum/moveNothrowchriseth2018-08-071-9/+0
|\ \
| * | Make MemberList nothrow move constructible.chriseth2018-08-071-9/+0
* | | Fix type identifiers for RationalNumberTypeAlex Beregszaszi2018-08-071-1/+8
|/ /
* / Renamed FunctionType::hasEqualArgumentTypes to FunctionType::hasEqualParamete...Jesse Busman2018-08-061-2/+2
|/
* Merge pull request #4522 from ethereum/fullEncodingTypechriseth2018-08-021-0/+21
|\
| * Isolate determining the encoding type into its own function.chriseth2018-08-011-0/+21
* | Guard CycleDetector against recursion exhaustion.Christian Parpart2018-08-011-1/+1
|/
* Disallow conversion between unrelated contract types.chriseth2018-08-011-6/+5
* Address members not accessible by contract instanceLeonardo Alt2018-07-171-38/+0
* Fix literals with exponents with mantissa of zero.Daniel Kirchner2018-07-111-8/+11
* Code, Changelog, ReleaseChecklist: Fix typos.Cryptomental2018-07-111-1/+1
* Check for matching number of components in TupleType::isImplicitlyConvertible...Daniel Kirchner2018-07-101-16/+4
* Merge pull request #4097 from ethereum/noPackedExceptForPackedchriseth2018-06-281-3/+22
|\
| * Fix: Call functions do not take variable arguments.chriseth2018-06-251-3/+3
| * Bare functions take single bytes argument.chriseth2018-06-251-3/+22
* | Merge pull request #4342 from rnaby/l/a/Typeschriseth2018-06-261-15/+19
|\ \ | |/ |/|
| * RationalNumberType::isImplicitlyConvertibleTo RefactorKhan M Rashedun-Naby2018-06-241-15/+19
* | Disallow implicit conversion from rational (literal) to addressJason Cobb2018-06-251-2/+4
|/
* Additional test and more explanation.Daniel Kirchner2018-06-121-2/+7
* Use proper SAR for signed right shifts and emulate on pre-constantinople.Daniel Kirchner2018-06-121-2/+9
* Use boost::multiprecision::pow explicitlyAlex Beregszaszi2018-06-121-10/+7
* Fix bug related to byte array pop.chriseth2018-05-311-0/+2
* Merge pull request #3743 from ethereum/popStorageArraychriseth2018-05-311-0/+9
|\
| * Improves assembly and adds more tests.Erik Kundt2018-05-301-1/+1
| * Implements pop() for value type arrays.bitshift2018-05-291-0/+9
* | Allow using `calldata` keyword to specify data locationmingchuan2018-05-301-3/+11
|/
* Merge pull request #4173 from sifmelcara/add/allow-storage-calldata-suffixchriseth2018-05-291-14/+28
|\
| * Allow data location suffix for internal elementary type parsingmingchuan2018-05-221-14/+28
* | Disallow conversions between bytesX and uintY of different size.Daniel Kirchner2018-05-171-3/+6
* | Bool variables should not allow arithmetic comparisonLeonardo Alt2018-05-171-1/+1
|/
* ABI encoding functions are pure and should be usable in constants.chriseth2018-05-151-1/+5
* Change bytes to unsigned in FixedBytesTypedaniel2018-05-041-3/+2
* Change numBits to unsigned IntegerTypeAlex Beregszaszi2018-05-031-5/+5
* Change totalBits and fractionalDigits to unsigned in FixedPointTypeAlex Beregszaszi2018-05-031-3/+3
* Revert "BREAKING: Bool variables should not allow arithmetic comparison"chriseth2018-05-021-1/+1
* Merge pull request #4003 from ethereum/bool_vars_comparisonchriseth2018-05-021-1/+1
|\
| * Bool variables should not allow arithmetic comparisonLeonardo Alt2018-04-271-1/+1
* | Merge pull request #4018 from ethereum/disable-bytes0chriseth2018-05-011-9/+4
|\ \
| * | Remove unused function smallestTypeForLiteralAlex Beregszaszi2018-04-301-7/+0
| * | Disable FixedBytesType(0) aka bytes0Alex Beregszaszi2018-04-301-2/+4
| |/
* | Remove category check in FixedPointType:binaryOperatorResult as commonType ha...Alex Beregszaszi2018-04-211-11/+0
* | Types changes for fixed pointsJason Cobb2018-04-211-13/+14
|/
* Disallow explicit conversion of bytesXX to contractAlex Beregszaszi2018-04-191-1/+0
* Limits rational numbers to 4096 bits.Erik Kundt2018-04-161-20/+160
* Add abi.encode, abi.encodePacked, abi.encodeWithSelector and abi.encodeWithSi...Alex Beregszaszi2018-04-121-1/+48
* Fix bug in typechecking when comparing rational literalsJason Cobb2018-04-111-3/+3
* Allow ``memory`` suffix for internal elementary type parsing.chriseth2018-04-051-2/+13
* Generalize cycle detection.chriseth2018-04-031-16/+6
* Fix detection of recursive structs.chriseth2018-04-031-0/+5
* Set default fixed point decimal places to 18Jason Cobb2018-03-311-2/+2
* Prevent encoding of weird types and support packed encoding of external funct...chriseth2018-03-291-0/+2
* Improve error message when trying to shift by fractional numberFederico Bond2018-03-221-1/+1
* Move dynamic type removal out of the type system.chriseth2018-03-211-10/+13
* Make external library functions accessible.chriseth2018-03-141-2/+2
* Add gasleft to FunctionType::richIdentifier().Daniel Kirchner2018-03-071-0/+1
* Fix multi-dimensional arrays in the ABI.chriseth2018-03-011-2/+0
* Merge pull request #3589 from ethereum/identifiersAlex Beregszaszi2018-02-271-23/+34
|\
| * Use new escaping helpers for type identifiersAlex Beregszaszi2018-02-271-18/+9
| * Rename Types::identifier to Types::richIdentifierAlex Beregszaszi2018-02-271-16/+16
| * Add helpers escapeIdentifier to TypesAlex Beregszaszi2018-02-271-0/+20
* | Fix: Function types for getters should not have storage pointers.chriseth2018-02-261-1/+4
* | Simplify FunctionType constructors.chriseth2018-02-261-42/+14
|/
* Always use shortened literal number representation.chriseth2018-02-131-8/+8
* Avoid output messages size blow-up using huge bignums literalsFederico Bond2018-02-131-3/+17
* Remove a redundant checkKwang Yul Seo2017-11-131-1/+1
* Remove obsolete createTypeError in ASTAlex Beregszaszi2017-10-061-1/+1
* Do not add members of address to contracts in experimental 0.5.0Alex Beregszaszi2017-10-051-2/+5
* Use solAssert and not assertAlex Beregszaszi2017-10-041-1/+1
* Pull out helper to apply address member to contract membersAlex Beregszaszi2017-09-281-4/+8
* Simplify address overloadingAlex Beregszaszi2017-09-281-2/+33
* Ensure that address types are always declared as 160bitAlex Beregszaszi2017-09-271-7/+7
* Check for interface types of members and cache recursion check.chriseth2017-09-161-21/+44
* Implement struct encoder.chriseth2017-09-161-1/+9
* Fix interface type conversion internal to structs.chriseth2017-09-161-1/+5
* Function signatures containing structs.chriseth2017-09-161-28/+62
* Check for recursive structs.chriseth2017-09-161-1/+26
* Allow structs as part of function interfaces.chriseth2017-09-161-1/+1
* Rename .sig to .selector on function typesAlex Beregszaszi2017-09-131-1/+1
* Add sig member on function typeAlex Beregszaszi2017-09-131-0/+5
* Merge pull request #2833 from ethereum/statemutability-builtinschriseth2017-08-291-8/+9
|\
| * Swap declaration/statemutability in FunctionType constructorAlex Beregszaszi2017-08-291-7/+6
| * Mark all built in functions with appropriate statemutabilityAlex Beregszaszi2017-08-291-1/+3
* | Move all file specific globals to anonymous namespaceAlex Beregszaszi2017-08-291-0/+5
|/
* Mark event non-payable and not viewAlex Beregszaszi2017-08-281-2/+6
* Some smaller issues found by Covertiy ScanAlex Beregszaszi2017-08-221-4/+4
* Reject the creation of interface with the new statementAlex Beregszaszi2017-08-221-0/+3
* FunctionType comparison/identifer to support all statemutability levelsAlex Beregszaszi2017-08-171-10/+4
* Merge pull request #2704 from ethereum/newEncoderchriseth2017-08-141-2/+0
|\
| * Allow multi-dimensional arrays in interfaces.chriseth2017-08-141-2/+0
* | Remove constant/payable in all function typesAlex Beregszaszi2017-08-141-16/+11
* | Replace constant/payable with StateMutability in ASTAlex Beregszaszi2017-08-141-20/+18
|/
* Merge pull request #2727 from ethereum/simplify-typeschriseth2017-08-111-16/+29
|\
| * Simplify if/else statements in TypesAlex Beregszaszi2017-08-111-16/+29
* | FunctionType operator== boolean refactorgubatron2017-08-111-17/+12
* | Check for payable when comparing function typesAlex Beregszaszi2017-08-111-4/+15
|/
* Add isDynamicallyEncoded member function to types.chriseth2017-08-101-0/+10
* Disallow gas modifier on sha255/ripemd160/ecrecoverAlex Beregszaszi2017-08-021-3/+0
* Rename Bare to BarecallAlex Beregszaszi2017-08-011-5/+5
* Disallow externalSignature for fallback functionsAlex Beregszaszi2017-07-281-0/+1
* Use solAssert instead of boost throw where possibleAlex Beregszaszi2017-07-271-21/+11
* Cleanup fixed point type changeschriseth2017-07-201-52/+28
* Change fixed point types to have digit countVoR02202017-07-201-43/+58
* Issue error properly for oversized arrays for calldataAlex Beregszaszi2017-07-141-1/+12
* Add type error when attempting value transfer to a non-payable contractFederico Bond2017-07-131-0/+6
* Helper functions.chriseth2017-07-111-0/+16
* Only allow equality checks for internal function types.chriseth2017-06-261-1/+1
* Disallow comparisons between some types.chriseth2017-06-261-0/+10
* Merge interface/Exceptions and interface/UtilsAlex Beregszaszi2017-06-221-1/+0
* Compact format for AST-Json with backwards compatibilitychriseth2017-05-171-0/+2
* Change references to FunctionType::LocationAlex Beregszaszi2017-03-161-8/+8
* Rename FunctionType::Location to FunctionType::KindAlex Beregszaszi2017-03-161-89/+89
* Merge pull request #1698 from ethereum/exp-notationchriseth2017-03-151-27/+88
|\
| * Split out parseRational from isValidLiteralAlex Beregszaszi2017-03-151-32/+55
| * Rename x to valueAlex Beregszaszi2017-03-151-16/+17
| * Disallow radix points in hex literalsAlex Beregszaszi2017-03-151-1/+6
| * Do not try parsing hex numbers as scientific notationAlex Beregszaszi2017-03-151-1/+2
| * Support older version of boostAlex Beregszaszi2017-03-151-1/+4
| * Support negative exponentAlex Beregszaszi2017-03-151-6/+11
| * Fix exponentional notation in number literalsAlex Beregszaszi2017-03-151-4/+27
* | Type checking for pure expressions.chriseth2017-03-131-0/+12
|/
* Fix 'ambiguous overload for operator==' Boost error.Ryan Casey2017-03-101-5/+5
* Convert reference types to pointers in member function conversion.chriseth2017-03-011-1/+1
* Merge pull request #1700 from ethereum/fixNoMobilechriseth2017-02-241-2/+5
|\
| * Merge branch 'develop' into fixNoMobilechriseth2017-02-241-0/+4
| |\
| * | Some checks for the existence of mobile type.chriseth2017-02-161-2/+5
* | | Disallow setting .gas() on .transfer()Alex Beregszaszi2017-02-241-2/+1
* | | Support gas modifier on addr.transfer()Alex Beregszaszi2017-02-241-1/+2
* | | Implement address.transfer()Alex Beregszaszi2017-02-241-1/+3
| |/ |/|
* | Fix early exist for fatal errors.chriseth2017-02-161-0/+4
|/
* Support revert()Alex Beregszaszi2017-02-111-0/+1
* Support explicit conversion of external function type to addressAlex Beregszaszi2017-02-011-0/+11
* Refactor json return type generation.chriseth2017-01-271-18/+0
* Warn about invalid checksums of addresses.chriseth2017-01-251-0/+8
* Reset AST node IDs between compilation runs.chriseth2017-01-201-3/+4
* Properly escape user strings and lists.chriseth2017-01-191-36/+72
* Type identifiers.chriseth2017-01-191-3/+186
* Cleaner shift handling and type conversion for binary operations.chriseth2016-12-121-30/+20
* Type after shift should be type of left operand.chriseth2016-12-121-5/+42
* Support bitshifting in variablesAlex Beregszaszi2016-12-121-0/+5
* Rename dev::validate to dev::validateUTF8Alex Beregszaszi2016-11-291-2/+2
* Make position optional in dev::validateAlex Beregszaszi2016-11-291-2/+1
* Indentation.chriseth2016-11-251-1/+1
* ast: string literals that are not valid UTF are not convertible to stringsYoichi Hirai2016-11-251-1/+8
* Fix licensing headersVoR02202016-11-231-4/+4
* Some more assertions and style changes.chriseth2016-11-161-16/+25
* Change encoding to address-funid and add "function" as ABI type.chriseth2016-11-161-2/+7
* Check that no internals are used in any external function type.chriseth2016-11-161-0/+24
* Disallow payable internal functions.chriseth2016-11-161-1/+3
* delete for function typeschriseth2016-11-161-0/+7
* Change alignment.chriseth2016-11-161-1/+1
* Changelog entry and small fixes.chriseth2016-11-161-5/+3
* Fix some type checks and tests for internal / external function parameters.chriseth2016-11-161-3/+3
* Code generator for function types.chriseth2016-11-161-1/+11
* Function types.chriseth2016-11-161-4/+61
* Print canonical names of structs and enums in ASTAlex Sinyagin2016-11-141-2/+2
* ast, codegen: disallow conversion between different enum typesYoichi Hirai2016-11-121-1/+1
* ast: add EnumType::numberOfMembers()Yoichi Hirai2016-11-121-1/+6
* Type checker: move the burden of computing mobile type to commonTypeYoichi Hirai2016-11-111-4/+4
* ast: ban signed EXP, fixing #1246Yoichi Hirai2016-10-251-1/+4
* More checks for missing mobile type.chriseth2016-10-241-2/+14
* Fix crash in throw.chriseth2016-10-241-1/+1
* ast: simplifications suggested by @chrisethYoichi Hirai2016-10-201-7/+4
* When a contract type is super, its members do not contain the functions of it...Yoichi Hirai2016-10-201-1/+8
* Use >> (SAR) to denote constant shiftsAlex Beregszaszi2016-10-201-1/+3
* Reject negative shifts within constantsAlex Beregszaszi2016-10-201-4/+8
* Support shifting constantsRJ2016-10-201-0/+22
* Omit non-convertible bound functionsAlex Beregszaszi2016-10-191-1/+2
* Ensure that bound functions cannot be defined without self typeAlex Beregszaszi2016-10-191-0/+3
* Check if a fixedBytes fits an integer typeYoichi Hirai2016-10-141-1/+5
* Rename dev::sha3 to dev::keccak256Alex Beregszaszi2016-10-061-1/+1
* Include assert for selfType on bound functions to avoid crashAlex Beregszaszi2016-09-071-1/+2
* Change function type to include and propagate payable and constant modifier.chriseth2016-09-061-13/+49
* Merged in changes from chriseth/payableAlex Beregszaszi2016-09-061-14/+17
* Support payable keyword for functionsAlex Beregszaszi2016-09-061-0/+1
* Remove After from Types.cppDenton Liu2016-08-111-3/+2
* Remove dev::utf8 namespaceAlex Beregszaszi2016-08-091-1/+1
* Use size_t in dev::utf8::validate()Alex Beregszaszi2016-08-091-1/+1
* Use utf8::validate in StringLiteral::toStringAlex Beregszaszi2016-08-091-0/+6
* Move LiteralString::toString from the headerAlex Beregszaszi2016-08-091-0/+5
* Inaccessible dynamic typeschriseth2016-06-021-16/+7
* Fixes for invalid cleanups for small types.chriseth2016-05-201-13/+0
* updated docsVoR02202016-05-191-4/+13
* explicit conversion and loosening of binary operations on integer and fixed p...VoR02202016-05-191-24/+11
* current debugging infoVoR02202016-05-191-2/+20
* Remove unused tests and add asserts for not implemented parts in code generat...chriseth2016-05-111-3/+2
* Simplify interface of RationalNumber.chriseth2016-05-111-12/+12
* Special case for moving sign bit to fractional part.chriseth2016-05-111-5/+10
* Cleanup.chriseth2016-05-111-14/+19