aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast
Commit message (Expand)AuthorAgeFilesLines
* 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
|/
* Fix typo in commentFederico Bond2017-01-181-1/+1
* Merge pull request #1581 from ethereum/fixosxchriseth2017-01-181-2/+2
|\
| * Fix JSON output on macos.chriseth2017-01-181-2/+2
* | Merge pull request #1397 from roadriverrail/contract_collisionchriseth2017-01-182-1/+1
|\ \ | |/ |/|
| * Move fullyQualified() name to DeclarationRhett Aultman2017-01-172-10/+1
| * Stylistic correctionsRhett Aultman2017-01-171-1/+1
| * Drop ':' if the source file name is emptyRhett Aultman2017-01-171-1/+2
| * Only avoid collision if it's the same fileRhett Aultman2017-01-172-0/+8
* | Deterministic AST node identifiers.chriseth2017-01-173-2/+8
|/
* ast: events have FunctionType tooYoichi Hirai2017-01-122-8/+17
* ast: add Declaration::functionType()Yoichi Hirai2017-01-122-0/+73
* ast, codegen: enable accessing events through contract names.Yoichi Hirai2017-01-031-0/+3
* Merge pull request #1503 from federicobond/json-visibilityYoichi Hirai2016-12-152-7/+22
|\
| * Include visibility level for functions in ASTFederico Bond2016-12-132-7/+22
* | Merge pull request #1487 from ethereum/shift-opsYoichi Hirai2016-12-141-0/+32
|\ \
| * | 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
| |/
* / Improve error message when trying to modify constant variablesFederico Bond2016-12-131-0/+2
|/
* Merge pull request #1464 from federicobond/warn-msgvaluechriseth2016-12-111-0/+2
|\
| * Warn about using msg.value in non-payable functionFederico Bond2016-12-091-0/+2
* | Fix names of JSON AST nodesFederico Bond2016-12-111-2/+2
|/
* Add swarm hash to the end of the bytecode.chriseth2016-12-011-0/+1
* Metadata stamp.chriseth2016-12-012-0/+12
* Rename dev::validate to dev::validateUTF8Alex Beregszaszi2016-11-292-3/+3
* Make position optional in dev::validateAlex Beregszaszi2016-11-292-4/+2
* Indentation.chriseth2016-11-251-1/+1
* ast: string literals that are not valid UTF are not convertible to stringsYoichi Hirai2016-11-252-1/+10
* Fix licensing headersVoR02202016-11-2315-60/+60
* Some more assertions and style changes.chriseth2016-11-161-16/+25
* Change encoding to address-funid and add "function" as ABI type.chriseth2016-11-163-3/+9
* Check that no internals are used in any external function type.chriseth2016-11-162-0/+28
* Disallow payable internal functions.chriseth2016-11-161-1/+3
* delete for function typeschriseth2016-11-162-0/+8
* Change alignment.chriseth2016-11-161-1/+1
* Changelog entry and small fixes.chriseth2016-11-162-5/+8
* Fix some type checks and tests for internal / external function parameters.chriseth2016-11-161-3/+3
* Code generator for function types.chriseth2016-11-162-1/+12
* Function types.chriseth2016-11-1610-6/+159
* Move InterfaceHandler from string to JSONAlex Beregszaszi2016-11-152-10/+11
* 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-122-1/+7
* Type checker: move the burden of computing mobile type to commonTypeYoichi Hirai2016-11-111-4/+4
* Add support for do/while loopsRhett Aultman2016-11-103-4/+12
* add payable to ASTyann3002016-11-031-1/+2
* 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
* Merge pull request #1240 from ethereum/1151chriseth2016-10-241-1/+5
|\
| * 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
* | ast: add a null checkYoichi Hirai2016-10-211-0/+1
* | ast: ContractDefinition::inheritableMembers contains enums as well as structsYoichi Hirai2016-10-211-0/+3
* | Support variable references within modifiers for inline assemblyAlex Beregszaszi2016-10-211-1/+1
|/
* 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-192-2/+11
* `super`'s size on stack is zero, because the expression compiler does not pus...Yoichi Hirai2016-10-181-0/+1
* Check if a fixedBytes fits an integer typeYoichi Hirai2016-10-141-1/+5
* Rename dev::sha3 to dev::keccak256Alex Beregszaszi2016-10-062-2/+2
* Include assert for selfType on bound functions to avoid crashAlex Beregszaszi2016-09-071-1/+2
* Merge pull request #665 from axic/feature/accept-etherchriseth2016-09-063-31/+91
|\
| * Change function type to include and propagate payable and constant modifier.chriseth2016-09-062-18/+68
| * Merged in changes from chriseth/payableAlex Beregszaszi2016-09-061-14/+17
| * Support payable keyword for functionsAlex Beregszaszi2016-09-063-0/+7
* | Do not emit non-utf8 strings for ast json.chriseth2016-09-021-2/+15
|/
* Version pragma.chriseth2016-09-018-0/+74
* JSON AST: Some attribute cleanup. Add linearized base contracts.chriseth2016-08-192-36/+35
* Rename root AST JSON node to SourceUnitAlex Sinyagin2016-08-181-1/+1
* Do not add children to EnumValue and PlaceholderStatement elements in JSON ASTAlex Sinyagin2016-08-181-4/+2
* Use the full names for JSON AST nodesAlex Sinyagin2016-08-181-11/+11
* Move creation of the root element of JSON AST to the SourceUnit visitorAlex Sinyagin2016-08-182-5/+18
* Add ast json converter for PlaceholderStatementAlex Sinyagin2016-08-182-0/+13
* Add ast json converter for ArrayTypeNameAlex Sinyagin2016-08-182-0/+13
* Add ast json converter for ModifierInvocation and EventDefinitionAlex Sinyagin2016-08-182-0/+26
* Add ast json converter for ModifierDefinitionAlex Sinyagin2016-08-182-0/+13
* Add ast json converter for EnumValueAlex Sinyagin2016-08-182-0/+13
* Add ast json converter for EnumDefinitionAlex Sinyagin2016-08-182-0/+13
* Add ast json converter for UsingForDirectiveAlex Sinyagin2016-08-182-1/+14
* Add a ast json converter for InheritanceSpecifierAlex Sinyagin2016-08-182-0/+13
* Merge pull request #844 from Denton-L/remove-afterchriseth2016-08-121-3/+2
|\
| * Remove After from Types.cppDenton Liu2016-08-111-3/+2
* | Fix Mapping and InlineAssembly in JSON ASTAlex Sinyagin2016-08-121-0/+2
* | Fix JSON AST structureAlex Sinyagin2016-08-121-0/+1
|/
* Merge pull request #794 from chriseth/fixastsourcechriseth2016-08-102-3/+3
|\
| * Fix segfault in ast output.chriseth2016-08-092-3/+3
* | 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