aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast/Types.h
Commit message (Collapse)AuthorAgeFilesLines
* Refactor `solidity::Token` into an `enum class` with `TokenTraits` helper ↵Christian Parpart2018-10-221-29/+29
| | | | namespace
* fix typoliangdzou2018-09-201-1/+1
|
* fixing rebase conflictsJordan Last2018-09-141-0/+7
| | | | | | | | | | | | | | | | | | | | 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-131-4/+11
|
* Split IntegerType into IntegerType and AddressType.Daniel Kirchner2018-09-051-9/+35
|
* Removed unused "FunctionType::Kind::CallCode" from Types.h and all its usageAnurag Dashputre2018-08-231-1/+0
|
* Add ``staticcall`` to ``address``.Daniel Kirchner2018-08-151-2/+4
|
* Add abi.decode(bytes data, (...))chriseth2018-08-151-0/+1
|
* Merge pull request #4765 from ethereum/fixes-issue-4673chriseth2018-08-141-1/+2
|\ | | | | [WIP] Fixes issue where computing storage size for a number would take too long (or even cause a crash).
| * Fixes issue where computing storage size for a number would take too long.Christian Parpart2018-08-141-1/+2
| | | | | | | | Fixes #4673.
* | Add implicit convertibility to function pointer with higher state mutabilityJesse Busman2018-08-141-1/+6
| |
* | Disallow ambiguous conversions between number literals and bytesXX types.Daniel Kirchner2018-08-131-4/+11
|/
* Rename FunctionKind SHA3 to KECCAK256 (as the instruction was renamed in ↵Alex Beregszaszi2018-08-091-2/+2
| | | | libevmasm)
* Assert that type identifier contains only valid charactersAlex Beregszaszi2018-08-081-1/+1
|
* Make MemberList nothrow move constructible.chriseth2018-08-071-2/+2
|
* Renamed FunctionType::hasEqualArgumentTypes to ↵Jesse Busman2018-08-061-1/+1
| | | | FunctionType::hasEqualParameterTypes
* Isolate determining the encoding type into its own function.chriseth2018-08-011-0/+5
|
* Disallow conversion between unrelated contract types.chriseth2018-08-011-2/+2
|
* Address members not accessible by contract instanceLeonardo Alt2018-07-171-2/+0
|
* Code, Changelog, ReleaseChecklist: Fix typos.Cryptomental2018-07-111-1/+1
| | | | Refs: #4442
* Bare functions take single bytes argument.chriseth2018-06-251-2/+3
|
* Single bytes argument.chriseth2018-06-251-2/+4
| | | | | In 0.5.0 mode, only accept a single bytes argument for ``.call``, ``keccak256`` and others and do not pad when encoding.
* Improves assembly and adds more tests.Erik Kundt2018-05-301-1/+0
|
* Implements pop() for value type arrays.bitshift2018-05-291-0/+2
|
* Allow data location suffix for internal elementary type parsingmingchuan2018-05-221-1/+2
|
* Warn/enforce single bytes argument for certain builtins (hashing functions).chriseth2018-05-161-0/+16
| | | | | 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-2/+2
|
* Change bytes to unsigned in FixedBytesTypedaniel2018-05-041-3/+3
|
* Change numBits to unsigned IntegerTypeAlex Beregszaszi2018-05-031-3/+3
|
* Change totalBits and fractionalDigits to unsigned in FixedPointTypeAlex Beregszaszi2018-05-031-5/+5
|
* Add virtual destructors on base classes.Alexander Arlt2018-05-021-0/+1
|
* Merge pull request #4018 from ethereum/disable-bytes0chriseth2018-05-011-4/+0
|\ | | | | Disable FixedBytesType(0) aka bytes0
| * Remove unused function smallestTypeForLiteralAlex Beregszaszi2018-04-301-4/+0
| |
* | Types changes for fixed pointsJason Cobb2018-04-211-0/+3
|/
* Merge pull request #2980 from ethereum/abi-apichriseth2018-04-131-2/+6
|\ | | | | Add abi.encode and abi.encodePacked
| * Add abi.encode, abi.encodePacked, abi.encodeWithSelector and ↵Alex Beregszaszi2018-04-121-2/+6
| | | | | | | | abi.encodeWithSignature.
* | Error on invalid arithmetic with constant expressions.Daniel Kirchner2018-04-121-0/+3
|/
* Fixed typoshydai2018-04-101-6/+6
|
* Allow ``memory`` suffix for internal elementary type parsing.chriseth2018-04-051-0/+1
|
* Optimize across MLOAD if MSIZE is not used.chriseth2018-04-031-0/+13
|
* Prevent encoding of weird types and support packed encoding of external ↵chriseth2018-03-291-3/+8
| | | | function types.
* Move dynamic type removal out of the type system.chriseth2018-03-211-0/+3
|
* Move msg.gas to global function gasleft(). Closes #2971.Daniel Kirchner2018-03-051-1/+2
|
* Use new escaping helpers for type identifiersAlex Beregszaszi2018-02-271-2/+0
|
* Rename Types::identifier to Types::richIdentifierAlex Beregszaszi2018-02-271-19/+25
|
* Add helpers escapeIdentifier to TypesAlex Beregszaszi2018-02-271-1/+7
|
* Always use shortened literal number representation.chriseth2018-02-131-1/+1
|
* Avoid output messages size blow-up using huge bignums literalsFederico Bond2018-02-131-0/+4
|
* Improve error message for constant evaluatorAlex Beregszaszi2017-12-121-1/+1
|
* Remove unused methodKwang Yul Seo2017-11-121-4/+0
| | | | The body of Function::functionIdentifier is missing and is not used.
* Pull out helper to apply address member to contract membersAlex Beregszaszi2017-09-281-0/+2
|
* Check for interface types of members and cache recursion check.chriseth2017-09-161-0/+4
|
* Implement struct encoder.chriseth2017-09-161-1/+1
|
* Fix tests.chriseth2017-09-161-1/+1
|
* Function signatures containing structs.chriseth2017-09-161-9/+19
|
* Check for recursive structs.chriseth2017-09-161-0/+4
|
* View-pure checker.chriseth2017-09-061-0/+1
|
* Swap declaration/statemutability in FunctionType constructorAlex Beregszaszi2017-08-291-2/+1
|
* Cleanup of Common.hchriseth2017-08-251-0/+1
|
* Introduce view (and keep constant as an alias)Alex Beregszaszi2017-08-231-1/+0
|
* Remove constant/payable in all function typesAlex Beregszaszi2017-08-141-13/+4
|
* Replace constant/payable with StateMutability in ASTAlex Beregszaszi2017-08-141-6/+12
|
* Add isDynamicallyEncoded member function to types.chriseth2017-08-101-1/+6
|
* Rename Bare to BarecallAlex Beregszaszi2017-08-011-1/+1
|
* Use solAssert instead of boost throw where possibleAlex Beregszaszi2017-07-271-4/+1
|
* Cleanup fixed point type changeschriseth2017-07-201-8/+8
|
* Change fixed point types to have digit countVoR02202017-07-201-8/+15
| | | | Signed-off-by: VoR0220 <rj@erisindustries.com>
* Issue error properly for oversized arrays for calldataAlex Beregszaszi2017-07-141-0/+5
|
* Add type error when attempting value transfer to a non-payable contractFederico Bond2017-07-131-0/+4
|
* Merge pull request #2501 from ethereum/undef-macroschriseth2017-07-121-1/+0
|\ | | | | Move UndefMacros from libdevcore to libsolidity/parsing
| * Move UndefMacros from libdevcore to libsolidity/parsingAlex Beregszaszi2017-07-021-1/+0
| |
* | Helper functions.chriseth2017-07-111-0/+3
|/
* Disallow comparisons between some types.chriseth2017-06-261-5/+4
|
* Rename FunctionType::Location to FunctionType::KindAlex Beregszaszi2017-03-161-11/+10
|
* Merge pull request #1698 from ethereum/exp-notationchriseth2017-03-151-0/+3
|\ | | | | Fix scientific notation in number literals
| * Split out parseRational from isValidLiteralAlex Beregszaszi2017-03-151-0/+3
| |
* | Merge pull request #1729 from ethereum/constantvariablesYoichi Hirai2017-03-151-0/+4
|\ \ | | | | | | Only allow pure expressions for constant state variables.
| * | Type checking for pure expressions.chriseth2017-03-131-0/+4
| |/
* / Require and Assert.chriseth2017-03-141-1/+2
|/
* Implement address.transfer()Alex Beregszaszi2017-02-241-0/+1
|
* Support revert()Alex Beregszaszi2017-02-111-0/+1
|
* Implement assert as a global functionAlex Beregszaszi2017-02-101-3/+4
|
* Add isNegative to RationalNumberTypeAlex Beregszaszi2017-02-021-0/+3
|
* Support explicit conversion of external function type to addressAlex Beregszaszi2017-02-011-0/+1
|
* Refactor json return type generation.chriseth2017-01-271-2/+0
|
* Warn about invalid checksums of addresses.chriseth2017-01-251-0/+2
|
* Properly escape user strings and lists.chriseth2017-01-191-8/+14
|
* Type identifiers.chriseth2017-01-191-0/+24
|
* Warn about using msg.value in non-payable functionFederico Bond2016-12-091-0/+2
|
* ast: string literals that are not valid UTF are not convertible to stringsYoichi Hirai2016-11-251-0/+2
|
* Fix licensing headersVoR02202016-11-231-4/+4
| | | | Signed-off-by: VoR0220 <rj@erisindustries.com>
* Change encoding to address-funid and add "function" as ABI type.chriseth2016-11-161-0/+1
|
* Check that no internals are used in any external function type.chriseth2016-11-161-0/+4
|
* delete for function typeschriseth2016-11-161-0/+1
|
* Code generator for function types.chriseth2016-11-161-0/+1
|
* Function types.chriseth2016-11-161-2/+8
|
* ast: add EnumType::numberOfMembers()Yoichi Hirai2016-11-121-0/+1
|
* Ensure that bound functions cannot be defined without self typeAlex Beregszaszi2016-10-191-2/+8
|
* `super`'s size on stack is zero, because the expression compiler does not ↵Yoichi Hirai2016-10-181-0/+1
| | | | | | push an address. This is different from `this`, which is translated to `ADDRESS` instruction.
* Change function type to include and propagate payable and constant modifier.chriseth2016-09-061-5/+19
|
* Support payable keyword for functionsAlex Beregszaszi2016-09-061-0/+2
|
* Move LiteralString::toString from the headerAlex Beregszaszi2016-08-091-1/+1
|
* Inaccessible dynamic typeschriseth2016-06-021-1/+22
|
* Fixes for invalid cleanups for small types.chriseth2016-05-201-1/+0
|
* Remove unused tests and add asserts for not implemented parts in code ↵chriseth2016-05-111-2/+2
| | | | | | | | | | | | generation. quick fix on christian's rational change so that ubuntu will stop yelling be more specific with rational declaration for Windows sake rational in namespace correction for windows
* Simplify interface of RationalNumber.chriseth2016-05-111-4/+5
|
* Some cleanup.chriseth2016-05-111-1/+1
|
* Prefer mobileType() to check rational range.chriseth2016-05-111-1/+1
|
* updated algorithm for bit finding...now to figure out literal valueVoR02202016-05-101-5/+3
| | | | | | | | | | | | tiny fixups changed location of the check got rid of extra space and fixed a couple of things added binary results bits change back literal value
* added bytes conversion tests, resolved that, converted to binary scaling, ↵VoR02202016-05-101-2/+3
| | | | | | | | | | | | refactored the find algo to prevent large numbers and take into account integer bytes think we're good on solidity type name resolution now removed couts updates to documentation and more removed couts along with literal value implementation forgot semicolons
* fixing modulus and Solidity Name and Type ResolutionVoR02202016-05-101-1/+1
| | | | | | minor fixes current attempts at binary fixup
* changed names for Rational Constants and categoriesVoR02202016-05-101-5/+5
|
* got exponents up and working with their inverse, changed a few of the ↵RJ Catalano2016-05-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | tests....something is working that likely shouldn't be slight changes to how to flip the rational negative around...still trying to figure it out tests added updated tests odd differences in trying soltest from solc binary, let me know if you can replicate test not working for odd reason fixed test problem with fixed literals...still need a way to log this error broken up the tests, added some, changed some things in types and began compiler work moar tests and prepping for rebuilding much of the types.cpp file further fixing infinite loop still happening but it's somewhere in the fixedPoint methodd fractional bits needed algo improved! Eliminated 2 errors Corrected problems with the previous commit. No infinite loops. Actually appear to have corrected an error
* initial work for fixed types...potentially needing a constant literal type ↵RJ Catalano2016-05-101-10/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for this notation Rational implemented...trying to figure out exponential fix for token bug, also quick fix for the wei and seconds fixed problem with var...probably a conversion problem for fixed in size capabilities adding fixed type tests Removing bitshift and regrouping fixed type tests together size capabilities functioning properly for fixed types got exponents up and working with their inverse, changed a few of the tests....something is working that likely shouldn't be slight changes to how to flip the rational negative around...still trying to figure it out tests added updated tests odd differences in trying soltest from solc binary, let me know if you can replicate test not working for odd reason fixed test problem with fixed literals...still need a way to log this error broken up the tests, added some, changed some things in types and began compiler work moar tests and prepping for rebuilding much of the types.cpp file further fixing initial work for fixed types...potentially needing a constant literal type for this
* Remove log.h from solidity.chriseth2016-04-121-0/+1
|
* - inline and assembly keywords addedLianaHus2016-03-121-1/+1
| | | | - some style fixes
* BREAKING: Implement delegatecall and make default for library calls.chriseth2016-03-121-1/+3
|
* changes to redefine the token list, the scanner, and the parser and how they ↵RJ Catalano2016-02-191-1/+1
| | | | | | | | pass around variable types of different sizes not ready for change to FixedPoint just yet made this more const correct and added a switch statement for easier reading
* Index access for bytesXX.chriseth2016-02-101-0/+1
|
* Simple aliasing during import.chriseth2015-12-181-2/+30
|
* Merge pull request #251 from chriseth/bind2chriseth2015-11-301-37/+37
|\ | | | | Bind library functions to types.
| * Also check the object type for bound functions.chriseth2015-11-291-1/+3
| |
| * Add bound functions to types.chriseth2015-11-291-36/+34
| |
* | Introduce selfdestruct alias for suicide.chriseth2015-11-291-1/+1
|/
* Invalidate cached members if scope changes.chriseth2015-11-261-0/+1
|
* Make members context-sensitive.chriseth2015-11-261-13/+17
|
* Type checking for creating new arrays.chriseth2015-11-261-4/+2
|
* Fixed string inside struct allocation bug.chriseth2015-11-241-2/+3
|
* Addmod and mulmod.chriseth2015-11-191-0/+2
|
* File reorganisation.chriseth2015-10-211-0/+996