aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast
Commit message (Expand)AuthorAgeFilesLines
* Introduce namespace `langutil` in liblangutil directory.Christian Parpart2018-11-226-3/+13
* Isolating files shared between Yul- and Solidity language frontend.Christian Parpart2018-11-224-6/+6
* Removing redundant virtual from override function declarationmordax2018-11-213-390/+390
* Fix for style.chriseth2018-11-121-3/+3
* Merge pull request #5265 from ethereum/cleanupsha3chriseth2018-11-092-2/+2
|\
| * Renamed SHA3.{h,cpp} files.chriseth2018-10-182-2/+2
* | Merge pull request #5348 from ethereum/boostRationalNegativeDenominatorFixchriseth2018-11-082-2/+11
|\ \
| * | Fix negative denominator in ``boost::rational`` during exponentiation.Daniel Kirchner2018-11-062-2/+11
* | | Performance: Replace string by special single-copy YulString class.chriseth2018-11-081-1/+1
|/ /
* | Fixes crash while encoding too large arrays.Erik Kundt2018-10-301-0/+3
* | Remove unused AST utils.chriseth2018-10-252-102/+0
* | Refactor `solidity::Token` into an `enum class` with `TokenTraits` helper nam...Christian Parpart2018-10-226-101/+101
|/
* Fixes large rational number literals being wrongly interpreted.Christian Parpart2018-10-091-9/+3
* Merge pull request #4734 from ethereum/astUpdatechriseth2018-10-091-1/+3
|\
| * Restore ``isConstructor`` in the legacy AST.Daniel Kirchner2018-09-111-0/+2
| * Replace ``isConstructor`` field in the JSON AST by a ``kind`` field.Daniel Kirchner2018-09-111-1/+1
* | Fixes #5051 (introduced in #4684), effectively allowing underscores in addres...Christian Parpart2018-10-023-4/+11
* | Merge pull request #4962 from anurag-git/anurag_issue_3667-1chriseth2018-10-012-10/+5
|\ \
| * | Removing extra default cases to force compile time error, instead of runtime.Anurag Dashputre2018-09-302-10/+5
* | | 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-202-2/+2
|/ / /
* | | fixing rebase conflictsJordan Last2018-09-141-0/+7
* | | Add ``stateMutability`` field to JSON AST for ``address`` types.Daniel Kirchner2018-09-131-2/+7
* | | Add payable and non-payable state mutability to AddressType.Daniel Kirchner2018-09-132-15/+74
|/ /
* / Accept ``address payable`` during parsing.Daniel Kirchner2018-09-111-5/+13
|/
* Split IntegerType into IntegerType and AddressType.Daniel Kirchner2018-09-052-74/+101
* Add return data to bare calls.Daniel Kirchner2018-09-041-5/+12
* Merge pull request #4837 from chase1745/default-to-unspecifiedchriseth2018-09-043-5/+5
|\
| * Rename Location::Default to Location::Unspecified.Chase McDermott2018-08-183-5/+5
* | Merge pull request #4851 from anurag-git/anurag_issue_4824chriseth2018-09-032-5/+1
|\ \
| * | Removed unused "FunctionType::Kind::CallCode" from Types.h and all its usageAnurag Dashputre2018-08-232-5/+1
| |/
* | Merge branch 'develop' into anurag_issue_3667Anurag Dashputre2018-08-234-80/+278
|\|
| * Merge pull request #4825 from ethereum/expressionCompBareCallchriseth2018-08-161-0/+11
| |\
| | * More safeguards for (library) function types.chriseth2018-08-151-0/+11
| * | fix a typo: declaratoion => declarationliangdzou2018-08-161-1/+1
| * | Add ``staticcall`` to ``address``.Daniel Kirchner2018-08-152-2/+10
| |/
| * Add abi.decode(bytes data, (...))chriseth2018-08-152-1/+13
| * Refactor data location check.Chase McDermott2018-08-152-19/+118
| * Merge pull request #4765 from ethereum/fixes-issue-4673chriseth2018-08-142-2/+4
| |\
| | * Fixes issue where computing storage size for a number would take too long.Christian Parpart2018-08-142-2/+4
| * | Add implicit convertibility to function pointer with higher state mutabilityJesse Busman2018-08-142-21/+65
| * | 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-132-24/+46
| |/
* | 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-092-5/+5
* 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-082-8/+8
|\ \
| * | Removing std:: from std::to_string and include for boost/lexical_castMatías Aereal Aeón2018-08-082-8/+8
* | | Remove experimental 0.5.0 pragmaAlex Beregszaszi2018-08-081-3/+0
* | | Merge pull request #4748 from ethereum/validate-identifierchriseth2018-08-082-1/+12
|\ \ \
| * | | Assert that type identifier contains only valid charactersAlex Beregszaszi2018-08-082-1/+12
| | |/ | |/|
* / | Remove remaining instances of ``fillRight`` left over from tuple wildcards as...Daniel Kirchner2018-08-081-7/+5
|/ /
* | Merge pull request #4699 from ethereum/cleanup_VariableDeclarationchriseth2018-08-072-6/+0
|\ \
| * | libsolidity: Remove dead code wrt. VariableDeclaration::canHaveAutoType()Christian Parpart2018-08-072-6/+0
* | | Merge pull request #4726 from ethereum/moveNothrowchriseth2018-08-072-11/+2
|\ \ \
| * | | Make MemberList nothrow move constructible.chriseth2018-08-072-11/+2
| |/ /
* / / Fix type identifiers for RationalNumberTypeAlex Beregszaszi2018-08-071-1/+8
|/ /
* | Move fullyQualifiedName to ContractDefinition onlyAlex Beregszaszi2018-08-072-11/+2
* | Merge pull request #4663 from ethereum/dropConstantASTchriseth2018-08-071-6/+0
|\ \
| * | Remove "constant" from JSON AST.Daniel Kirchner2018-08-061-6/+0
| |/
* / Renamed FunctionType::hasEqualArgumentTypes to FunctionType::hasEqualParamete...Jesse Busman2018-08-062-3/+3
|/
* Merge pull request #4522 from ethereum/fullEncodingTypechriseth2018-08-022-0/+26
|\
| * Isolate determining the encoding type into its own function.chriseth2018-08-012-0/+26
* | Guard CycleDetector against recursion exhaustion.Christian Parpart2018-08-011-1/+1
|/
* Disallow conversion between unrelated contract types.chriseth2018-08-012-8/+7
* Merge pull request #4439 from ethereum/address_memberschriseth2018-07-192-40/+0
|\
| * Address members not accessible by contract instanceLeonardo Alt2018-07-172-40/+0
* | Disallows old constructor syntax.Erik Kundt2018-07-181-1/+0
|/
* Disallow multi variable declarations with mismatching number of values.Daniel Kirchner2018-07-134-18/+2
* Fix literals with exponents with mantissa of zero.Daniel Kirchner2018-07-111-8/+11
* Code, Changelog, ReleaseChecklist: Fix typos.Cryptomental2018-07-113-5/+5
* Merge pull request #4468 from ethereum/variableDeclarationClenaupchriseth2018-07-101-7/+9
|\
| * Remove mentions of ``var`` in VariableDeclarationStatement comment.chriseth2018-07-101-7/+9
* | Check for matching number of components in TupleType::isImplicitlyConvertible...Daniel Kirchner2018-07-101-16/+4
|/
* Merge pull request #4097 from ethereum/noPackedExceptForPackedchriseth2018-06-282-6/+28
|\
| * Fix: Call functions do not take variable arguments.chriseth2018-06-251-3/+3
| * Bare functions take single bytes argument.chriseth2018-06-252-5/+25
| * Single bytes argument.chriseth2018-06-251-2/+4
* | 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
|/
* Change commentsAlex Beregszaszi2018-06-141-1/+1
* 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-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