aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
Commit message (Expand)AuthorAgeFilesLines
* 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
* 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
| * analysis: allow some shadowings explicitlyYoichi Hirai2017-01-121-0/+8
| * analysis: report errors when inheritance causes collisionYoichi Hirai2017-01-121-1/+25
* | fixedVoR02202017-01-121-2/+2
* | added fix and a test for order independence of nested prefixingVoR02202017-01-121-2/+2
* | cleanupVoR02202017-01-122-14/+15
* | fixed unused filepath bugVoR02202017-01-111-2/+1
* | much smaller helper functionVoR02202017-01-102-5/+5
* | can do this purely on length. Also made prefix filesystem string for more acc...VoR02202017-01-091-27/+16
* | fixed test and added solutionVoR02202017-01-091-3/+26
|/
* Merge pull request #1537 from ethereum/absolute-pathchriseth2017-01-071-3/+3
|\
| * interface: change absolutePath() so that ".dir" is considered as an absolute ...Yoichi Hirai2017-01-041-3/+3
* | Merge pull request #1545 from federicobond/refactor-renamechriseth2017-01-051-3/+3
|\ \ | |/ |/|
| * Rename contractName to typeName when parsing new expressionFederico Bond2017-01-051-3/+3
* | ast, codegen: enable accessing events through contract names.Yoichi Hirai2017-01-032-9/+36
|/
* 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 #1508 from ethereum/multiurlschriseth2016-12-151-2/+4
|\ \
| * | Use multiple URLs for metadata.chriseth2016-12-131-2/+4
* | | Merge pull request #1487 from ethereum/shift-opsYoichi Hirai2016-12-143-30/+130
|\ \ \
| * | | Use correct type for storing.chriseth2016-12-131-7/+7
| * | | Cleaner shift handling and type conversion for binary operations.chriseth2016-12-123-75/+100
| * | | Type after shift should be type of left operand.chriseth2016-12-121-5/+42
| * | | Support bitshifting in variablesAlex Beregszaszi2016-12-123-9/+47
| | |/ | |/|
* | | Merge pull request #1507 from ethereum/memcopystyleYoichi Hirai2016-12-142-14/+14
|\ \ \ | |_|/ |/| |
| * | Renamed padToWordBoundaries -> padToWordschriseth2016-12-132-14/+14
* | | Improve error message when trying to modify constant variablesFederico Bond2016-12-132-1/+8
|/ /
* | Merge pull request #1468 from ethereum/memcpy-assemblyYoichi Hirai2016-12-134-16/+82
|\ \
| * | Split memcopy into three functions.chriseth2016-12-123-54/+79
| * | Fix inline assembly.chriseth2016-12-121-1/+2
| * | Reset stack height after inline assembly blockAlex Beregszaszi2016-12-121-0/+1
| * | Better assert message for appendInlineAssembnlyAlex Beregszaszi2016-12-121-1/+1
| * | Implement identity call in inline assemblyAlex Beregszaszi2016-12-121-14/+21
| * | Turn off the identity precompile for testingAlex Beregszaszi2016-12-121-1/+1
| * | Implement CompilerUtils::memoryCopy using inline assemblyAlex Beregszaszi2016-12-121-1/+26
| * | Add usingIdentity option to CompilerUtils::memoryCopyAlex Beregszaszi2016-12-122-2/+9
| |/
* | Merge pull request #1491 from ameten/refactoringchriseth2016-12-131-1/+1
|\ \ | |/ |/|
| * - fixed a misprint.Danil Nemirovsky2016-12-091-1/+1
* | Merge pull request #1464 from federicobond/warn-msgvaluechriseth2016-12-114-0/+162
|\ \
| * | Warn about using msg.value in non-payable functionFederico Bond2016-12-094-0/+162
| |/
* / Fix names of JSON AST nodesFederico Bond2016-12-111-2/+2
|/
* Merge pull request #1351 from ethereum/truncate_bitchriseth2016-12-083-3/+5
|\
| * codegen: clean not only booleans but all types before storing them into memoryYoichi Hirai2016-12-012-4/+3
| * codegen: clean any data from the inputYoichi Hirai2016-12-011-2/+2
| * codegen: truncate booleans before they enter storageYoichi Hirai2016-12-011-1/+0
| * codegen: cleanup booleans before storing them into memoryYoichi Hirai2016-12-011-0/+2
| * codegen: truncate a boolean calldata down to one bitYoichi Hirai2016-12-011-0/+2
* | Merge pull request #1465 from ethereum/missing_keywordschriseth2016-12-061-2/+2
|\ \
| * | parsing: `default` and `null` are reserved keywordsYoichi Hirai2016-12-021-2/+2
* | | Throw if calling the identity precompile (memoryCopy) failedAlex Beregszaszi2016-12-021-1/+2
|/ /
* | Add the `_runs` parameter.chriseth2016-12-012-3/+3
* | Fix type of optimizeRunsAlex Beregszaszi2016-12-011-1/+1
* | Use CBOR encoding.chriseth2016-12-013-4/+11
* | Fix tests.chriseth2016-12-012-10/+0
* | Add swarm hash to the end of the bytecode.chriseth2016-12-015-12/+5
* | Make sure some keys are present.chriseth2016-12-011-0/+3
* | Incorporate comments.chriseth2016-12-011-10/+10
* | Metadata stamp.chriseth2016-12-019-31/+126
* | Merge pull request #1462 from ethereum/fix-incorrect-assertionchriseth2016-12-011-1/+1
|\ \
| * | codegen: assertion did not assert non-nullnessYoichi Hirai2016-12-011-1/+1
| |/
* | Merge pull request #1463 from ethereum/duplicate-assignmentchriseth2016-12-011-2/+0
|\ \
| * | codegen: this commit removes one of duplicate assignmentsYoichi Hirai2016-12-011-2/+0
| |/
* / parser: recognize an end of comment of the form `**/` at the end of a multi-l...Yoichi Hirai2016-12-011-1/+6
|/
* Include the grammar verbatim in the documentationAlex Beregszaszi2016-11-301-110/+0
* Rename dev::validate to dev::validateUTF8Alex Beregszaszi2016-11-292-3/+3
* Make position optional in dev::validateAlex Beregszaszi2016-11-292-4/+2
* Use solUnimplemented wherever possibleAlex Beregszaszi2016-11-282-3/+3
* Merge pull request #1395 from ethereum/grammarchriseth2016-11-251-1/+1
|\
| * Properly define the pragma directive in the grammarAlex Beregszaszi2016-11-181-1/+1
* | Merge pull request #1381 from ethereum/overflown_enum_comparedchriseth2016-11-253-8/+35
|\ \
| * | codegen: cleanup values to fit in storage bytesYoichi Hirai2016-11-251-0/+4
| * | codegen: storing of non-value types; add some assertionsYoichi Hirai2016-11-251-8/+5
| * | codegen: shorten the bit truncationYoichi Hirai2016-11-251-5/+2
| * | codegen: merge type conversion and cleaning upYoichi Hirai2016-11-251-3/+2
| * | codegen: document _chopSignBits parameter of convertType functionYoichi Hirai2016-11-251-0/+1
| * | codegen: add an option to CovertType so that it can truncate sign bitsYoichi Hirai2016-11-253-10/+22
| * | codegen: cleanup stored values in a more consistent wayYoichi Hirai2016-11-251-4/+16
| * | codegen: cleanup value types before storing themYoichi Hirai2016-11-241-0/+5
* | | 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-2377-308/+308
* | Add appendCallValueCheckAlex Beregszaszi2016-11-182-20/+14
* | Include payable for the constructor in the ABIAlex Beregszaszi2016-11-181-0/+1
* | Add payable check for constructor in codegenAlex Beregszaszi2016-11-181-0/+12
|/
* Some more assertions and style changes.chriseth2016-11-162-17/+26
* Change encoding to address-funid and add "function" as ABI type.chriseth2016-11-166-18/+29
* Fix parser for function type disambiguity.chriseth2016-11-161-1/+12
* Simple peephole optimizer that is activated even if not requested.chriseth2016-11-162-5/+3
* Check that no internals are used in any external function type.chriseth2016-11-165-1/+45
* Converted sub assembly to smart pointer.chriseth2016-11-165-48/+50
* Stored combined creation and runtime tags.chriseth2016-11-1610-62/+136
* ABI: Use external function.chriseth2016-11-161-2/+2
* Disallow payable internal functions.chriseth2016-11-162-2/+5
* Mention "payable" in the documentation.chriseth2016-11-161-2/+2
* Fix tests.chriseth2016-11-161-1/+11
* delete for function typeschriseth2016-11-162-0/+8
* codegen: add a compilation mode and a runtime context to CompilerContextYoichi Hirai2016-11-164-6/+23
* Added function types to the grammar.chriseth2016-11-161-1/+4
* Implement uninitialized storage functions.chriseth2016-11-162-11/+17
* Bugfix in code generator.chriseth2016-11-161-1/+1
* Change alignment.chriseth2016-11-164-31/+43
* Changelog entry and small fixes.chriseth2016-11-162-5/+8
* External functions in storage.chriseth2016-11-163-18/+49
* Fix some type checks and tests for internal / external function parameters.chriseth2016-11-161-3/+3
* Function type state variables.chriseth2016-11-162-31/+68
* Code generator for function types.chriseth2016-11-164-2/+46
* Function types.chriseth2016-11-1614-39/+241