aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast/Types.cpp
Commit message (Expand)AuthorAgeFilesLines
* 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
* Disallow explicit fixed->enum, but allow bytes->fixed.chriseth2016-05-111-1/+1
* Some cleanup.chriseth2016-05-111-59/+31
* Replace "unsigned int" by "unsigned".chriseth2016-05-111-9/+9
* Prefer mobileType() to check rational range.chriseth2016-05-111-9/+4
* reorganized tests and fixed mobile types and implicit conversions of rational...VoR02202016-05-101-80/+85
* updated algorithm for bit finding...now to figure out literal valueVoR02202016-05-101-121/+82
* changed algorithm for finding bitsVoR02202016-05-101-29/+37
* much better way of doing modulusVoR02202016-05-101-8/+2
* added bytes conversion tests, resolved that, converted to binary scaling, ref...VoR02202016-05-101-58/+66
* fixing modulus and Solidity Name and Type ResolutionVoR02202016-05-101-10/+8
* changed names for Rational Constants and categoriesVoR02202016-05-101-23/+27
* currently what we haveVoR02202016-05-101-4/+8
* got exponents up and working with their inverse, changed a few of the tests.....RJ Catalano2016-05-101-36/+47
* size capabilities functioning properly for fixed typesRJ Catalano2016-05-101-9/+4
* fixed problem with var...probably a conversion problem for fixed in size capa...RJ Catalano2016-05-101-1/+1
* Rational implemented...trying to figure out exponentialRJ Catalano2016-05-101-52/+15
* initial work for fixed types...potentially needing a constant literal type fo...RJ Catalano2016-05-101-70/+402
* Allow calling internal functions of libraries.chriseth2016-05-041-26/+41
* Do not allow value for delegatecall functions.chriseth2016-03-121-1/+1
* BREAKING: Implement delegatecall and make default for library calls.chriseth2016-03-121-23/+24
* further optimization, splitting function into piecesRJ Catalano2016-02-191-2/+2
* added const correctness to extract functions in TokenRJ Catalano2016-02-191-6/+6
* added two functions in Token to handle long identifiers, redid fromIdentifier...RJ Catalano2016-02-191-3/+4
* tests added and changes madeRJ Catalano2016-02-191-9/+5
* changes to redefine the token list, the scanner, and the parser and how they ...RJ Catalano2016-02-191-31/+35
* style fixesLianaHus2016-02-181-12/+14
* Index access for bytesXX.chriseth2016-02-101-0/+5
* fixed assert on EI creation for structs containing only mapping or arraysLianaHus2016-01-161-0/+4
* Merge pull request #308 from chriseth/fixoverloadbugchriseth2015-12-211-0/+2
|\
| * Fix bug preventing overloads of different array types.chriseth2015-12-181-0/+2
* | Add structs and enums to contract types.chriseth2015-12-181-7/+20
|/
* Simple aliasing during import.chriseth2015-12-181-2/+18
* Code generation for calling bound methods.chriseth2015-12-011-0/+4
* Also check the object type for bound functions.chriseth2015-11-291-1/+4
* Add bound functions to types.chriseth2015-11-291-167/+223
* Invalidate cached members if scope changes.chriseth2015-11-261-1/+2
* Do not store elements of a contract by AST node type.chriseth2015-11-261-4/+4
* Make members context-sensitive.chriseth2015-11-261-14/+14
* Fixed string inside struct allocation bug.chriseth2015-11-241-2/+2
* File reorganisation.chriseth2015-10-211-0/+1921