aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast
Commit message (Expand)AuthorAgeFilesLines
* 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-312-0/+10
|\
| * Improves assembly and adds more tests.Erik Kundt2018-05-302-2/+1
| * Implements pop() for value type arrays.bitshift2018-05-292-0/+11
* | Allow using `calldata` keyword to specify data locationmingchuan2018-05-303-4/+14
|/
* Merge pull request #4173 from sifmelcara/add/allow-storage-calldata-suffixchriseth2018-05-292-15/+30
|\
| * Allow data location suffix for internal elementary type parsingmingchuan2018-05-222-15/+30
* | Merge pull request #4067 from ethereum/050chriseth2018-05-241-4/+7
|\ \ | |/ |/|
| * 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
* | Fix assert message about function visibilitymingchuan2018-05-201-2/+2
|/
* Warn/enforce single bytes argument for certain builtins (hashing functions).chriseth2018-05-161-0/+16
* ABI encoding functions are pure and should be usable in constants.chriseth2018-05-152-3/+7
* Change bytes to unsigned in FixedBytesTypedaniel2018-05-042-6/+5
* Change numBits to unsigned IntegerTypeAlex Beregszaszi2018-05-032-8/+8
* Change totalBits and fractionalDigits to unsigned in FixedPointTypeAlex Beregszaszi2018-05-032-8/+8
* 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
* | Add virtual destructors on base classes.Alexander Arlt2018-05-023-0/+7
* | Merge pull request #4018 from ethereum/disable-bytes0chriseth2018-05-012-13/+4
|\ \
| * | Remove unused function smallestTypeForLiteralAlex Beregszaszi2018-04-302-11/+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-212-13/+17
|/
* Disallow explicit conversion of bytesXX to contractAlex Beregszaszi2018-04-191-1/+0
* Limits rational numbers to 4096 bits.Erik Kundt2018-04-161-20/+160
* Uses short string representation of TypePointerErik Kundt2018-04-132-9/+9
* Merge pull request #3364 from ethereum/revertWithReasonchriseth2018-04-132-7/+13
|\
| * Allow function overloads involving MagicVariableDeclarations.chriseth2018-04-121-0/+5
| * Use FunctionTypePointer (adds ``const``).chriseth2018-04-122-7/+8
* | Merge pull request #2980 from ethereum/abi-apichriseth2018-04-132-3/+54
|\ \ | |/ |/|
| * Add abi.encode, abi.encodePacked, abi.encodeWithSelector and abi.encodeWithSi...Alex Beregszaszi2018-04-122-3/+54
* | Error on invalid arithmetic with constant expressions.Daniel Kirchner2018-04-121-0/+3
|/
* Fix bug in typechecking when comparing rational literalsJason Cobb2018-04-111-3/+3
* Error when using no parentheses in modifier-style constructor calls.Daniel Kirchner2018-04-103-8/+13
* Merge pull request #3821 from ethereum/warn-constructor-overridechriseth2018-04-101-0/+3
|\
| * Move constructor argument override check to TypeChecker and reuse annotations...Daniel Kirchner2018-04-091-0/+3
* | Fixed typoshydai2018-04-101-6/+6
|/
* Allow ``memory`` suffix for internal elementary type parsing.chriseth2018-04-052-2/+14
* Merge pull request #3824 from ethereum/baseArgumentsEmptyParenthesisDaniel Kirchner2018-04-053-7/+12
|\
| * Error when using empty parenthesis for base class constructors that require a...Daniel Kirchner2018-04-053-7/+12
* | Merge pull request #3745 from ethereum/fixRecursionAlex Beregszaszi2018-04-051-11/+6
|\ \ | |/ |/|
| * Generalize cycle detection.chriseth2018-04-031-16/+6
| * Fix detection of recursive structs.chriseth2018-04-031-0/+5
* | Constructors are defined using the ``constructor`` keyword.Daniel Kirchner2018-04-041-1/+2
* | Optimize across MLOAD if MSIZE is not used.chriseth2018-04-031-0/+13
|/
* 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-292-3/+10
* Merge pull request #3775 from federicobond/improve-error-fractional-shiftchriseth2018-03-281-1/+1
|\
| * Improve error message when trying to shift by fractional numberFederico Bond2018-03-221-1/+1
* | Introduce inContractKind helper on FunctionDefinitionAlex Beregszaszi2018-03-262-0/+9
|/
* Move dynamic type removal out of the type system.chriseth2018-03-212-10/+16
* Make external library functions accessible.chriseth2018-03-142-2/+3
* Merge pull request #3663 from ethereum/gasleftEmscriptenchriseth2018-03-071-0/+1
|\
| * Add gasleft to FunctionType::richIdentifier().Daniel Kirchner2018-03-071-0/+1
* | Merge pull request #2966 from ethereum/useStaticCallAlex Beregszaszi2018-03-071-2/+2
|\ \ | |/ |/|
| * Use STATICCALL for pure function calls if EVM version supports it and 0.5.0 i...chriseth2018-03-061-2/+2
* | Merge pull request #3549 from ethereum/fixmultidimAlex Beregszaszi2018-03-061-2/+0
|\ \ | |/ |/|
| * Fix multi-dimensional arrays in the ABI.chriseth2018-03-011-2/+0
* | Merge pull request #3652 from ethereum/gasleft_v2chriseth2018-03-061-10/+4
|\ \
| * | Use StaticAnalyzer to deprecate msg.gas instead of conditionally removing it ...Daniel Kirchner2018-03-061-10/+4
* | | Merge pull request #3643 from ethereum/gasleftchriseth2018-03-062-5/+12
|\| |
| * | Style improvements.Daniel Kirchner2018-03-061-2/+2
| * | Move msg.gas to global function gasleft(). Closes #2971.Daniel Kirchner2018-03-052-5/+12
| |/
* / Do not warn about 0.5.0 experimental pragma.chriseth2018-03-051-0/+1
|/
* Enable C99-scoping with the 0.5.0-experimental pragma.chriseth2018-02-272-21/+22
* Blocks and for loops can be scopes.chriseth2018-02-272-5/+15
* Scopes do not have to be declarations.chriseth2018-02-272-13/+24
* Merge pull request #3589 from ethereum/identifiersAlex Beregszaszi2018-02-272-42/+63
|\
| * Use new escaping helpers for type identifiersAlex Beregszaszi2018-02-272-20/+9
| * Rename Types::identifier to Types::richIdentifierAlex Beregszaszi2018-02-272-35/+41
| * Add helpers escapeIdentifier to TypesAlex Beregszaszi2018-02-272-1/+27
* | Fix: Function types for getters should not have storage pointers.chriseth2018-02-261-1/+4
* | Simplify FunctionType constructors.chriseth2018-02-261-42/+14
|/
* Introduce emit statement.chriseth2018-02-228-1/+64
* Added property _documentation_ to Function, Event, and Modifier definition cl...Emilio Almansi2018-02-191-0/+3
* Always use shortened literal number representation.chriseth2018-02-132-9/+9
* Avoid output messages size blow-up using huge bignums literalsFederico Bond2018-02-132-3/+21
* Improve error message for constant evaluatorAlex Beregszaszi2017-12-121-1/+1
* Show checksummed address always (prepend with 0)Alex Beregszaszi2017-11-171-2/+5
* Do not try to display checksummed address for too-short/long address literalsAlex Beregszaszi2017-11-172-1/+3
* Improves address literal checksum error messagewadeAlexC2017-11-172-0/+8
* Print using for directive in ASTPrinterKwang Yul Seo2017-11-162-0/+14
* Merge pull request #3189 from kseo/unusedAlex Beregszaszi2017-11-161-4/+0
|\
| * Remove unused methodKwang Yul Seo2017-11-121-4/+0
* | Remove a redundant checkKwang Yul Seo2017-11-131-1/+1
|/
* Missing forward declaration.chriseth2017-10-181-0/+1
* Remove obsolete createTypeError in ASTAlex Beregszaszi2017-10-063-12/+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-282-4/+10
* Simplify address overloadingAlex Beregszaszi2017-09-281-2/+33
* Ensure that address types are always declared as 160bitAlex Beregszaszi2017-09-271-7/+7
* Mark functions staticAlex Beregszaszi2017-09-202-12/+12
* Check for interface types of members and cache recursion check.chriseth2017-09-162-21/+48
* Implement struct encoder.chriseth2017-09-162-2/+10
* Fix tests.chriseth2017-09-161-1/+1
* Fix interface type conversion internal to structs.chriseth2017-09-161-1/+5
* Function signatures containing structs.chriseth2017-09-162-37/+81
* Check for recursive structs.chriseth2017-09-162-1/+30
* Allow structs as part of function interfaces.chriseth2017-09-161-1/+1
* Warn if no visibility is specified on contract functions.Alex Beregszaszi2017-09-141-0/+1
* Add experimental feature 'v0.5.0'Alex Beregszaszi2017-09-141-0/+2
* Merge pull request #2473 from ethereum/functiontype-sigAlex Beregszaszi2017-09-141-0/+5
|\
| * Rename .sig to .selector on function typesAlex Beregszaszi2017-09-131-1/+1
| * Add sig member on function typeAlex Beregszaszi2017-09-131-0/+5
* | Store super function.chriseth2017-09-062-0/+4
* | View-pure checker.chriseth2017-09-061-0/+1
|/
* Use Json::valueToQuotedString directlyAlex Beregszaszi2017-08-291-4/+2
* Remove escape function.chriseth2017-08-291-3/+11
* Merge pull request #2833 from ethereum/statemutability-builtinschriseth2017-08-292-10/+10
|\
| * Swap declaration/statemutability in FunctionType constructorAlex Beregszaszi2017-08-292-9/+7
| * 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
* | Include all overloaded events in ABIAlex Beregszaszi2017-08-291-2/+10
|/
* Mark event non-payable and not viewAlex Beregszaszi2017-08-281-2/+6
* Removed unused natspec members of ContractDefinitionAlex Beregszaszi2017-08-262-30/+0
* Cleanup of Common.hchriseth2017-08-251-0/+1
* Rename statemutability to stateMutability in ABI/ASTAlex Beregszaszi2017-08-241-2/+2
* Consider pure as constant for the AST JSON (to aid static analyzers)Alex Beregszaszi2017-08-241-2/+2
* Introduce pure specifier on functionsAlex Beregszaszi2017-08-241-1/+3
* Use experimental feature pragma for SMT checker.chriseth2017-08-231-0/+3
* z3 conditionschriseth2017-08-231-0/+1
* Merge pull request #2656 from ethereum/performance1chriseth2017-08-232-21/+31
|\
| * Create children node in ASTJsonConverter when neccesaryAlex Beregszaszi2017-08-211-0/+8
| * Avoid some Json copy operations.chriseth2017-08-212-21/+23
* | Introduce view (and keep constant as an alias)Alex Beregszaszi2017-08-232-1/+2
* | Merge pull request #2775 from ethereum/coveritychriseth2017-08-222-5/+4
|\ \
| * | Some smaller issues found by Covertiy ScanAlex Beregszaszi2017-08-222-5/+4
* | | Merge pull request #2776 from ethereum/removeVisitsToAbstractASTNodeAlex Beregszaszi2017-08-227-40/+2
|\ \ \ | |/ / |/| |
| * | Remove visits to abstract AST class TypeName.chriseth2017-08-227-40/+2
* | | Merge pull request #2734 from ethereum/reject-create-interfaceAlex Beregszaszi2017-08-221-0/+3
|\ \ \ | |/ / |/| |
| * | Reject the creation of interface with the new statementAlex Beregszaszi2017-08-221-0/+3
| |/
* | Mark a lot of functions static (where possible)Alex Beregszaszi2017-08-221-3/+3
* | Mark a lot of functions const (where possible)Alex Beregszaszi2017-08-221-3/+3
* | Set variable to nullptr in ASTPrinterAlex Beregszaszi2017-08-221-1/+1
|/
* Remove isDeclaredConst() from functionsAlex Beregszaszi2017-08-173-5/+3
* Add statemutability to AST JSONAlex Beregszaszi2017-08-171-0/+2
* FunctionType comparison/identifer to support all statemutability levelsAlex Beregszaszi2017-08-171-10/+4
* Merge pull request #2704 from ethereum/newEncoderchriseth2017-08-142-4/+6
|\
| * Experimental feature switch for ABI encoder.chriseth2017-08-141-2/+6
| * Allow multi-dimensional arrays in interfaces.chriseth2017-08-141-2/+0
* | Remove constant/payable in all function typesAlex Beregszaszi2017-08-142-29/+15
* | Replace constant/payable with StateMutability in ASTAlex Beregszaszi2017-08-145-42/+95
|/
* Use fully qualified name of super in messageFederico Bond2017-08-122-0/+10
* Add analysis-only experimental featuresAlex Beregszaszi2017-08-111-2/+9
* Add __test experimental mode for testingAlex Beregszaszi2017-08-111-2/+6
* 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
|/
* Merge pull request #2690 from ethereum/experimental-pragmachriseth2017-08-102-0/+38
|\
| * Introduce ExperimentalFeatures headerAlex Beregszaszi2017-08-102-2/+38
| * Support experimental feature pragmaAlex Beregszaszi2017-08-101-0/+2
* | Add isDynamicallyEncoded member function to types.chriseth2017-08-102-1/+16
|/
* Make toString(visibility) a helperAlex Beregszaszi2017-08-093-23/+23
* Constructors must be implemented if declared.Alex Beregszaszi2017-08-051-2/+1
* Replace isFullyImplemented with unimplementedFunctions in ASTAnnotationsAlex Beregszaszi2017-08-042-3/+4
* Disallow gas modifier on sha255/ripemd160/ecrecoverAlex Beregszaszi2017-08-021-3/+0
* Rename Bare to BarecallAlex Beregszaszi2017-08-012-6/+6
* Disallow externalSignature for fallback functionsAlex Beregszaszi2017-07-281-0/+1
* Add isFallback() helperAlex Beregszaszi2017-07-282-3/+4
* Merge pull request #2645 from ethereum/assertsAlex Beregszaszi2017-07-274-32/+19
|\
| * Use solAssert instead of boost throw where possibleAlex Beregszaszi2017-07-274-32/+19
* | Merge pull request #2566 from ethereum/metadata-only-relevantchriseth2017-07-272-2/+30
|\ \ | |/ |/|
| * Add template for merging setsAlex Beregszaszi2017-07-191-4/+1
| * Avoid cyclic imports in referencedSourceUnitsAlex Beregszaszi2017-07-192-6/+11
| * Add option to recurse referencedSourceUnitsAlex Beregszaszi2017-07-192-5/+10
| * Add referencedSourceUnits() helperAlex Beregszaszi2017-07-192-0/+13
| * Add sourceUnit() helper to DeclarationAlex Beregszaszi2017-07-192-2/+10
* | Cleanup fixed point type changeschriseth2017-07-202-60/+36
* | Change fixed point types to have digit countVoR02202017-07-202-51/+73
|/
* Mark modifiers as internalAlex Beregszaszi2017-07-191-1/+1
* Issue error properly for oversized arrays for calldataAlex Beregszaszi2017-07-142-1/+17
* Merge pull request #2567 from ethereum/refactorExceptionschriseth2017-07-131-6/+11
|\
| * Refactor exceptions and provide comment function.chriseth2017-07-131-6/+11
* | Add type error when attempting value transfer to a non-payable contractFederico Bond2017-07-132-0/+10
|/
* Merge pull request #2501 from ethereum/undef-macroschriseth2017-07-121-1/+0
|\
| * Move UndefMacros from libdevcore to libsolidity/parsingAlex Beregszaszi2017-07-021-1/+0
* | Helper functions.chriseth2017-07-114-0/+40
|/
* Use boost::starts_withAlex Beregszaszi2017-06-291-1/+1
* Rename to isHexNumber()Alex Beregszaszi2017-06-292-4/+4
* Add hasHexPrefix() to AST::LiteralAlex Beregszaszi2017-06-282-6/+15
* Only allow equality checks for internal function types.chriseth2017-06-261-1/+1
* Disallow comparisons between some types.chriseth2017-06-262-5/+14
* Fix strings interpreted as addresses.chriseth2017-06-221-0/+2
* Merge interface/Exceptions and interface/UtilsAlex Beregszaszi2017-06-225-6/+0
* Merge pull request #2331 from ethereum/ASTDocumentationEntrychriseth2017-06-141-0/+1
|\
| * documentation field added to ContractDefinition-Nodedjudjuu2017-05-311-0/+1
* | adjusted testcase and renamingdjudjuu2017-06-062-5/+3
* | fix Literalprintdjudjuu2017-05-312-2/+20
|/
* Merge pull request #2301 from ethereum/ASTFunctionTypeFixchriseth2017-05-242-2/+4
|\
| * insert ParameterList-node in FunctionType-jsondjudjuu2017-05-242-2/+4
* | Fix AST JSON converter type lookupAlex Beregszaszi2017-05-241-1/+1
|/
* minor fixes and changelog updatedjudjuu2017-05-221-1/+1
* refactoring functionCallAnnotationdjudjuu2017-05-193-11/+38
* testsuite adjustmentdjudjuu2017-05-191-4/+4
* include new InlineAssemblyInformation into JSONdjudjuu2017-05-172-2/+13
* prefixChanges and contractKind-fielddjuju2017-05-172-13/+24
* fixed styletypos, renaming and added helperfunctiondjuju2017-05-172-36/+40
* Use different AST node names in legacy and new formatAlex Beregszaszi2017-05-171-9/+9
* Compact format for AST-Json with backwards compatibilitychriseth2017-05-174-449/+472
* Refactor to combined scope and stack height info.chriseth2017-04-261-6/+6
* Storage access from inline assembly.chriseth2017-04-251-0/+2
* Move analysis out of code generator.chriseth2017-04-251-0/+4
* Split external identifier access into resolving and code generation.chriseth2017-04-251-2/+8
* Add ContractKind to ContractDefinitionAlex Beregszaszi2017-03-181-4/+8
* Merge pull request #1773 from ethereum/ASTEntrychriseth2017-03-182-3/+50
|\
| * Comment.chriseth2017-03-172-2/+2
| * AST entry for VariableDeclarationdjudjuu2017-03-162-3/+50
* | Change references to FunctionType::LocationAlex Beregszaszi2017-03-161-8/+8
* | Rename FunctionType::Location to FunctionType::KindAlex Beregszaszi2017-03-162-100/+99
|/
* Merge pull request #1698 from ethereum/exp-notationchriseth2017-03-152-27/+91
|\
| * Split out parseRational from isValidLiteralAlex Beregszaszi2017-03-152-32/+58
| * 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
* | Merge pull request #1729 from ethereum/constantvariablesYoichi Hirai2017-03-153-0/+18
|\ \
| * | Type checking for pure expressions.chriseth2017-03-133-0/+18
| |/
* / Require and Assert.chriseth2017-03-141-1/+2
|/
* Fix 'ambiguous overload for operator==' Boost error.Ryan Casey2017-03-101-5/+5
* Move public constructor property into AST itself.chriseth2017-03-063-2/+8
* Strict checking for AST annotation types.chriseth2017-03-061-20/+20
* 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-242-1/+4
| |/ |/|
* | Fix early exist for fatal errors.chriseth2017-02-161-0/+4
|/
* Support revert()Alex Beregszaszi2017-02-112-0/+2
* 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-012-0/+12
* Refactor json return type generation.chriseth2017-01-272-20/+0
* Also check library addresses.chriseth2017-01-251-21/+1
* Warn about invalid checksums of addresses.chriseth2017-01-254-2/+56
* Check if constructor is public or not.chriseth2017-01-211-0/+2
* Merge pull request #1576 from ethereum/typeIdentifiersYoichi Hirai2017-01-204-20/+290
|\
| * Make m_id const.chriseth2017-01-201-1/+1
| * Reset AST node IDs between compilation runs.chriseth2017-01-203-5/+26
| * Properly escape user strings and lists.chriseth2017-01-192-44/+86
| * Type identifiers.chriseth2017-01-192-3/+210
* | Fix default function type name visibility.chriseth2017-01-191-1/+4
|/