aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
Commit message (Expand)AuthorAgeFilesLines
* Add flag for JULIA parsingAlex Beregszaszi2017-04-271-1/+4
* Remove parentheses from around function return parametersAlex Beregszaszi2017-04-272-4/+2
* Check stack height during code generation.chriseth2017-04-261-6/+34
* Refactor to combined scope and stack height info.chriseth2017-04-2611-63/+151
* Store stack height in analysis phase.chriseth2017-04-262-5/+35
* Fix storage access tests.chriseth2017-04-252-15/+21
* Special case for storage types with offset zero.chriseth2017-04-251-3/+18
* Pass internal resolver to assembly analyzer.chriseth2017-04-251-1/+2
* Fix refactoring error.chriseth2017-04-251-2/+2
* Build fix.chriseth2017-04-252-4/+4
* Storage access from inline assembly.chriseth2017-04-254-17/+75
* Another stack check.chriseth2017-04-251-0/+2
* Move analysis out of code generator.chriseth2017-04-257-26/+55
* Only allow access to local variables and only if they have a stack size of one.chriseth2017-04-253-63/+53
* Check again that instruction argument count is correct.chriseth2017-04-251-0/+1
* Only run stack filler on AST elements that are or contain declarations.chriseth2017-04-252-32/+4
* Review comments.chriseth2017-04-252-2/+6
* Review comments and cleanup.chriseth2017-04-254-8/+13
* Remove some errors checks from code generation (was moved to analysis already).chriseth2017-04-251-50/+10
* Perform stack height checks in assembly analysis phase.chriseth2017-04-253-37/+148
* Add some missing error locations.chriseth2017-04-251-2/+3
* Use actual type checking phase of assembler.chriseth2017-04-258-41/+48
* Split external identifier access into resolving and code generation.chriseth2017-04-259-143/+188
* Refactor assembly analysis into scope filling and checking.chriseth2017-04-258-236/+615
* Register functions.chriseth2017-04-253-33/+90
* Merge pull request #2164 from ethereum/jsonio-catch-internal-exceptionschriseth2017-04-251-0/+12
|\
| * Catch jsoncpp exceptionsAlex Beregszaszi2017-04-251-0/+8
| * Do not crash on invalid JSON inputAlex Beregszaszi2017-04-251-0/+4
* | Merge pull request #2152 from ethereum/warnRevertchriseth2017-04-253-2/+11
|\ \ | |/ |/|
| * Change error message.chriseth2017-04-211-1/+1
| * Warn about side-effect free statements.chriseth2017-04-213-2/+11
* | Merge pull request #2161 from ethereum/jsonio-cleanupchriseth2017-04-242-8/+12
|\ \
| * | Do not fail if parsing failed in StandardCompilerAlex Beregszaszi2017-04-241-1/+1
| * | Change error type names to not include spacesAlex Beregszaszi2017-04-241-6/+6
| * | Be a bit more verbose and capture Boost exceptions in StandardCompilerAlex Beregszaszi2017-04-241-1/+5
* | | Merge pull request #2159 from ethereum/jsonio-source-verifychriseth2017-04-241-4/+45
|\ \ \ | |/ / |/| |
| * | Verify supplied hash in JSON I/OAlex Beregszaszi2017-04-241-4/+45
* | | Document that the ReadFileCallback should not emit exceptionsAlex Beregszaszi2017-04-222-2/+4
|/ /
* | Changed const reference to value.chriseth2017-04-221-1/+1
* | Support URL sources in StandardCompilerAlex Beregszaszi2017-04-212-3/+35
|/
* Rename ast to legacyAST in StandardCompilerAlex Beregszaszi2017-04-211-1/+1
* Ensure the language field is present in the JSONAlex Beregszaszi2017-04-211-0/+6
* Pull out collectEVMObjectAlex Beregszaszi2017-04-211-17/+19
* Enclose local functions in a namespaceAlex Beregszaszi2017-04-211-0/+4
* Support Why3 in StandardCompilerAlex Beregszaszi2017-04-211-0/+24
* Support gas estimates in StandardCompilerAlex Beregszaszi2017-04-211-1/+1
* Reject import URLs for nowAlex Beregszaszi2017-04-211-1/+6
* Support the metadata.useLiteralContent settingAlex Beregszaszi2017-04-211-0/+3
* Properly split contract filename and nameAlex Beregszaszi2017-04-211-3/+10
* Support linkReferencesAlex Beregszaszi2017-04-211-2/+29
* Support new assembly outputAlex Beregszaszi2017-04-211-3/+4
* Move opcodes inside the bytecode sectionAlex Beregszaszi2017-04-211-1/+2
* Support methodIdentifiersAlex Beregszaszi2017-04-211-1/+9
* Support proper error reporting in StandardCompilerAlex Beregszaszi2017-04-211-18/+104
* Refactor formatErrorAlex Beregszaszi2017-04-211-6/+19
* Fail if no sources are givenAlex Beregszaszi2017-04-211-4/+1
* Support the AST outputAlex Beregszaszi2017-04-211-1/+2
* Include source mapping identifierAlex Beregszaszi2017-04-211-0/+10
* Output legacyAssembly in StandardCompilerAlex Beregszaszi2017-04-211-1/+12
* Capture error messages from the JSON parserAlex Beregszaszi2017-04-211-2/+8
* Add formatFatalError() to StandardCompilerAlex Beregszaszi2017-04-211-0/+15
* Parse remappings in StandardCompilerAlex Beregszaszi2017-04-211-0/+5
* Parse libraries in StandardCompilerAlex Beregszaszi2017-04-211-0/+8
* Parse optimizer settings in StandardCompilerAlex Beregszaszi2017-04-211-3/+6
* Catch exceptions of StandardCompilerAlex Beregszaszi2017-04-212-1/+15
* Initial implementation of StandardCompilerAlex Beregszaszi2017-04-211-0/+132
* Add StandardCompiler skeletonAlex Beregszaszi2017-04-212-0/+90
* Fix source index allocation in CompilerStack. Depending on compiler(optimisat...Alex Beregszaszi2017-04-211-1/+2
* Merge pull request #2117 from ethereum/implementAsmOutYoichi Hirai2017-04-191-1/+1
|\
| * Implement missing assembly output functions and do not use PushString for ass...chriseth2017-04-121-1/+1
* | Keep gas values as a string in CompilerStack::gasEstimateAlex Beregszaszi2017-04-131-3/+3
* | Exclude fallback function from the internal functions in estimateGasAlex Beregszaszi2017-04-131-1/+2
* | Move gasEstimate into CompilerStackAlex Beregszaszi2017-04-132-0/+88
|/
* Merge pull request #2098 from ethereum/sourceformatterAlex Beregszaszi2017-04-101-0/+11
|\
| * Introduce formatExceptionInformationAlex Beregszaszi2017-04-101-0/+11
* | Pull out ReadFile from CompilerStackAlex Beregszaszi2017-04-103-13/+50
|/
* Fix: Contract inheriting from base with unimplemented constructor is abstract.chriseth2017-03-221-0/+10
* Visit structs only once.chriseth2017-03-211-3/+7
* Simplify interface checks for FunctionDefinitionAlex Beregszaszi2017-03-181-8/+7
* Disallow private or internal functions in interfacesAlex Beregszaszi2017-03-181-0/+3
* Disallow constructor in interfacesAlex Beregszaszi2017-03-181-0/+3
* Disallow enums in interfacesAlex Beregszaszi2017-03-182-0/+8
* Use declared instead of definedAlex Beregszaszi2017-03-181-1/+1
* Factor out tokenToContractKindAlex Beregszaszi2017-03-182-15/+18
* Reject invalid definitions for interface contractsAlex Beregszaszi2017-03-181-0/+13
* Support interface (contract) keyword in the parserAlex Beregszaszi2017-03-183-6/+22
* Add ContractKind to ContractDefinitionAlex Beregszaszi2017-03-182-5/+9
* 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
* | Merge pull request #1792 from ethereum/function-kindchriseth2017-03-178-226/+222
|\ \
| * | Change references to FunctionType::LocationAlex Beregszaszi2017-03-167-126/+123
| * | Rename FunctionType::Location to FunctionType::KindAlex Beregszaszi2017-03-162-100/+99
| |/
* / Rename ErrorMesage to ErrorMessageAlex Beregszaszi2017-03-172-3/+3
|/
* 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
* | Mention 'transfer' in warning about unchecked 'send'.chriseth2017-03-151-2/+3
* | Merge pull request #1729 from ethereum/constantvariablesYoichi Hirai2017-03-154-18/+80
|\ \
| * | Turn non-constant constants error into warning.chriseth2017-03-151-2/+3
| * | Disallow constants that are neither value types nor strings.chriseth2017-03-131-0/+8
| * | Allow enum values for constants.chriseth2017-03-131-1/+4
| * | Type checking for pure expressions.chriseth2017-03-134-18/+68
* | | Require and Assert.chriseth2017-03-143-6/+12
|/ /
* | Merge pull request #1751 from ethereum/warnLiteralExpBaseYoichi Hirai2017-03-111-0/+20
|\ \ | |/ |/|
| * Warn about literal constant base in exponentiation.chriseth2017-03-071-0/+20
* | Fix 'ambiguous overload for operator==' Boost error.Ryan Casey2017-03-101-5/+5
* | Resolve build-stopping error about 'minor' and 'major' being defined in <sys/...Ryan Casey2017-03-101-0/+3
* | Merge pull request #1747 from ethereum/fixICEInternalConstructorYoichi Hirai2017-03-095-26/+30
|\ \
| * | Move public constructor property into AST itself.chriseth2017-03-065-6/+10
| * | Strict checking for AST annotation types.chriseth2017-03-061-20/+20
* | | Merge pull request #1748 from ethereum/singletonArraychriseth2017-03-081-1/+1
|\ \ \
| * | | Convert to mobile type for array type.chriseth2017-03-061-1/+1
| | |/ | |/|
* | | Disallow compound assignment for tuples.chriseth2017-03-081-0/+5
* | | Merge pull request #1750 from ethereum/asmoctalYoichi Hirai2017-03-081-0/+3
|\ \ \
| * | | Disallow octal literals.chriseth2017-03-071-0/+3
| |/ /
* | | Merge pull request #1699 from ethereum/asmlabelsYoichi Hirai2017-03-087-149/+518
|\ \ \
| * | | Fix error message.chriseth2017-03-031-1/+1
| * | | Remove stack annotations again.chriseth2017-03-036-95/+4
| * | | First reset stack height, then register variables.chriseth2017-03-031-9/+10
| * | | Move lambda.chriseth2017-03-031-3/+9
| * | | Slightly cleaner label ids.chriseth2017-03-033-17/+20
| * | | Partially add functions.chriseth2017-03-033-10/+69
| * | | Generic visitor.chriseth2017-03-031-37/+28
| * | | Refactor variable access.chriseth2017-03-031-40/+30
| * | | Refactor CodeGen to recurse on blocks.chriseth2017-03-034-75/+97
| * | | Analysis refactoring.chriseth2017-03-037-115/+466
| * | | Parsing of labels with stack info.chriseth2017-03-034-3/+40
* | | | Merge pull request #1733 from ethereum/selfReferentialConstantchriseth2017-03-074-0/+189
|\ \ \ \
| * | | | Check for circular references in constant variables.chriseth2017-03-064-0/+189
| | |/ / | |/| |
* | | | Merge pull request #1737 from ethereum/localmappingschriseth2017-03-063-4/+17
|\ \ \ \ | |/ / / |/| | |
| * | | Disallow uninitialized mapping variables.chriseth2017-03-061-2/+5
| * | | Error constructor.chriseth2017-03-062-2/+12
| | |/ | |/|
* / | Mention way to remove warning.chriseth2017-03-061-1/+5
|/ /
* | Merge pull request #1702 from ethereum/assertErrorYoichi Hirai2017-03-042-5/+5
|\ \ | |/ |/|
| * Remove assert for now.chriseth2017-02-241-2/+3
| * Change effect of assert to invalid opcode.chriseth2017-02-161-3/+2
* | Disallow variable declaration with inferred empty tuple type.chriseth2017-03-021-0/+5
* | Merge pull request #1728 from ethereum/externalfunctiontypeschriseth2017-03-021-1/+1
|\ \
| * | Convert reference types to pointers in member function conversion.chriseth2017-03-011-1/+1
* | | Add line info to serious exceptions.chriseth2017-02-251-0/+14
|/ /
* | Merge pull request #1700 from ethereum/fixNoMobilechriseth2017-02-242-2/+8
|\ \
| * \ Merge branch 'develop' into fixNoMobilechriseth2017-02-2412-115/+224
| |\ \
| * | | Some checks for the existence of mobile type.chriseth2017-02-162-2/+8
| | |/ | |/|
* | | Disallow setting .gas() on .transfer()Alex Beregszaszi2017-02-242-10/+5
* | | Do not keep the gas stipend if sending non-zero valueAlex Beregszaszi2017-02-241-1/+1
* | | Support gas modifier on addr.transfer()Alex Beregszaszi2017-02-242-2/+4
* | | Implement address.transfer()Alex Beregszaszi2017-02-243-5/+19
| |/ |/|
* | Deposit one stack item for non-value types in inline assembly type checking.chriseth2017-02-201-1/+1
* | Merge pull request #1627 from ethereum/asmfunctionschriseth2017-02-176-41/+137
|\ \
| * | Assembly printer for functions.chriseth2017-02-162-0/+20
| * | Parsing function calls.chriseth2017-02-164-37/+64
| * | Parsing function definitions.chriseth2017-02-164-6/+55
| |/
* / Fix early exist for fatal errors.chriseth2017-02-165-73/+86
|/
* Assembly printing fixes.chriseth2017-02-141-5/+5
* Review changes.chriseth2017-02-143-4/+4
* Assembly printer.chriseth2017-02-144-4/+204
* Review comments.chriseth2017-02-143-7/+7
* Allow different entry scope for registerDeclarations.chriseth2017-02-143-9/+22
* Extract scopes into compiler stack.chriseth2017-02-144-3/+13
* Refactor type system to allow multiple entry points.chriseth2017-02-144-15/+27
* Refactor NameAndTypeResolver and SyntaxChecker to allow other entry points.chriseth2017-02-146-61/+86
* Use the revert opcode in assert()Alex Beregszaszi2017-02-111-2/+8
* Use the REVERT opcode for throw;Alex Beregszaszi2017-02-111-1/+3
* Support revert()Alex Beregszaszi2017-02-114-1/+10
* Cleanup is not needed for assert()Alex Beregszaszi2017-02-101-1/+1
* Implement assert as a global functionAlex Beregszaszi2017-02-103-4/+15
* Rename SUICIDE opcode to SELFDESTRUCT in libevmasmAlex Beregszaszi2017-02-072-3/+3
* Warn early when exhausting stackAlex Beregszaszi2017-02-021-0/+1
* Disallow arrays with negative lengthAlex Beregszaszi2017-02-021-0/+2
* Add isNegative to RationalNumberTypeAlex Beregszaszi2017-02-021-0/+3
* Only capture function type to address conversionAlex Beregszaszi2017-02-011-8/+10
* Be more verbose on the stack-mismatch errorsAlex Beregszaszi2017-02-011-1/+1
* Support explicit conversion of external function type to addressAlex Beregszaszi2017-02-014-1/+25
* Merge pull request #1598 from wuestholz/developchriseth2017-01-276-18/+61
|\
| * Changelog and review suggestions.chriseth2017-01-271-1/+1
| * Uninitialized internal function should call INVALID.chriseth2017-01-261-1/+3
| * Allow inserting low-level functions without calling them.chriseth2017-01-262-5/+26
| * Split line.chriseth2017-01-261-1/+3
| * Address feedback from code review.Valentin Wüstholz2017-01-262-6/+6
| * Change translation of implicit throws (issue #1589).Valentin Wüstholz2017-01-266-13/+31
* | Merge pull request #1451 from LefterisJP/fix_buildchriseth2017-01-271-16/+54
|\ \
| * | Minor changes.chriseth2017-01-271-19/+17
| * | More verbose function namingLefteris Karapetsas2017-01-271-2/+2
| * | Doc tags followed by newline are now parsed properlyLefteris Karapetsas2017-01-271-1/+1
| * | Fix and better output for testsLefteris Karapetsas2017-01-251-0/+6
| * | Accept any kind of whitespace after natspec tagsLefteris Karapetsas2017-01-251-13/+47
* | | Refactor json return type generation.chriseth2017-01-274-40/+38
| |/ |/|
* | Merge pull request #1604 from ethereum/checksumsAlex Beregszaszi2017-01-266-2/+47
|\ \
| * | Also check library addresses.chriseth2017-01-251-21/+1
| * | Warn about invalid checksums of addresses.chriseth2017-01-256-2/+67
| |/
* | Add option to store literal sources in metadataAlex Beregszaszi2017-01-262-4/+11
* | Update error message.chriseth2017-01-261-1/+1
* | Disallow assignment to non-identifiers.chriseth2017-01-261-0/+2
* | Disallow instructions in assignment.chriseth2017-01-261-6/+5
* | Renamed function.chriseth2017-01-262-5/+5
* | Moved test.chriseth2017-01-261-1/+1
* | Do not allow shadowing inline assembly instructions with variablesAlex Beregszaszi2017-01-252-1/+11
|/
* Include creation code only once.chriseth2017-01-251-14/+18
* Use int arithmetics for stack adjustment.chriseth2017-01-241-1/+1
* Change clearStorageLoop to TypePointer.chriseth2017-01-242-16/+18
* Use shared_ptrs to enable shared_from_this.chriseth2017-01-241-4/+4
* Convert ArrayUtils routines into low-level functions.chriseth2017-01-241-228/+251
* Move some util functions to low-level functions.chriseth2017-01-245-244/+320
* Low level named functions for CompilerContext.chriseth2017-01-242-0/+23
* Merge pull request #1245 from ethereum/1215chriseth2017-01-242-7/+19
|\
| * analysis: disallow overloading functions with eventsYoichi Hirai2017-01-231-1/+6
| * analysis: fix formatYoichi Hirai2017-01-231-4/+7
| * analysis: Resolve event overloadingYoichi Hirai2017-01-232-14/+11
| * analysis: Allow multiple events of the same nameYoichi Hirai2017-01-231-0/+7
* | Merge pull request #1591 from ethereum/stackTooDeepLocationYoichi Hirai2017-01-232-2/+14
|\ \
| * | Report source location on "stack too deep" errors.chriseth2017-01-212-2/+14
| |/
* / Check if constructor is public or not.chriseth2017-01-213-2/+13
|/
* Merge pull request #1576 from ethereum/typeIdentifiersYoichi Hirai2017-01-205-20/+291
|\
| * Make m_id const.chriseth2017-01-201-1/+1
| * Reset AST node IDs between compilation runs.chriseth2017-01-204-5/+27
| * 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-192-2/+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-186-46/+65
|\ \ | |/ |/|
| * Provide fall-back method for contract lookupRhett Aultman2017-01-171-1/+18
| * Remove checkLibraryNameClashes()Rhett Aultman2017-01-172-37/+0
| * Use fully-qualified names for linking, tooRhett Aultman2017-01-172-3/+3
| * Remove unique error for contract collisionRhett Aultman2017-01-171-39/+10
| * Move fullyQualified() name to DeclarationRhett Aultman2017-01-172-10/+1
| * Stylistic correctionsRhett Aultman2017-01-172-9/+5
| * Push the error instead of throwing itRhett Aultman2017-01-171-10/+34
| * Drop ':' if the source file name is emptyRhett Aultman2017-01-171-1/+2
| * Only avoid collision if it's the same fileRhett Aultman2017-01-174-12/+48
| * Tab whitespace cleanup (again)Rhett Aultman2017-01-171-1/+2
| * Tidy up the error messageRhett Aultman2017-01-171-3/+3
| * Fix tab, drop stupid '!!!', change error message.Rhett Aultman2017-01-171-3/+3
| * Error out when contracts collide on nameRhett Aultman2017-01-171-0/+19
* | Include SOL_VERSION_COMMIT/SOL_VERSION_PLATFORM in buildinfo.hAlex Beregszaszi2017-01-171-1/+2
* | Store strict version number in metadata (exclude the platform)Alex Beregszaszi2017-01-173-1/+5
* | Deterministic AST node identifiers.chriseth2017-01-173-2/+8
|/
* Merge pull request #1479 from ethereum/function_variable_mixinchriseth2017-01-135-11/+157
|\
| * ast: events have FunctionType tooYoichi Hirai2017-01-122-8/+17
| * analysis: use Declaration::functionType() in another locationYoichi Hirai2017-01-121-11/+4
| * ast: add Declaration::functionType()Yoichi Hirai2017-01-123-14/+80
| * analysis: avoid emscripten build failureYoichi Hirai2017-01-121-3/+3
| * analysis: changes necessary to compile std/StandardToken.solYoichi Hirai2017-01-123-12/+58