aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
Commit message (Expand)AuthorAgeFilesLines
* 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
* Move InterfaceHandler from string to JSONAlex Beregszaszi2016-11-156-39/+37
* Rename ErrorTag to invalidJumpLabel in inline assemblyAlex Beregszaszi2016-11-151-1/+1
* Support ErrorTag as a jump label in inline assemblyAlex Beregszaszi2016-11-151-1/+5
* Merge pull request #1375 from ethereum/inline-assembly-stack-heightchriseth2016-11-151-7/+9
|\
| * Fix inline assembly stack warnings when using variablesAlex Beregszaszi2016-11-151-7/+9
* | Do not include a trailing new line in the ABI JSON outputAlex Beregszaszi2016-11-151-1/+4
|/
* Unimplemented features moved to their own exception (#1361)Rhett Aultman2016-11-157-17/+24
* Merge pull request #1367 from asinyagin/developchriseth2016-11-151-2/+2
|\
| * Print canonical names of structs and enums in ASTAlex Sinyagin2016-11-141-2/+2
* | Merge pull request #1372 from ethereum/invalid_enum_as_external_retchriseth2016-11-151-2/+2
|\ \
| * | codegen: overflow checking also during conversion from enumsYoichi Hirai2016-11-151-2/+2
| |/
* / codegen: add a missing `break;`Yoichi Hirai2016-11-141-0/+1
|/
* Merge pull request #1365 from walter-weinmann/developchriseth2016-11-141-1/+1
|\
| * #1362: As it stands currently, the >>> operator will not be implemented.Walter Weinmann2016-11-141-1/+1
* | codegen: move the enum overflow checking closer to the conversion into enumsYoichi Hirai2016-11-141-8/+16
* | ast, codegen: disallow conversion between different enum typesYoichi Hirai2016-11-122-2/+2
* | codegen: shorten the overflow checking when converting into enumsYoichi Hirai2016-11-121-1/+2
* | parsing: ban empty enum definition.Yoichi Hirai2016-11-121-0/+2
* | codegen: check the value range after converting something to an enum elementYoichi Hirai2016-11-121-0/+8
* | ast: add EnumType::numberOfMembers()Yoichi Hirai2016-11-122-1/+7
|/
* Merge pull request #1355 from ethereum/chriseth-patch-2chriseth2016-11-121-3/+3
|\
| * Fix semicolonschriseth2016-11-111-3/+3
* | Type checker: move the burden of computing mobile type to commonTypeYoichi Hirai2016-11-112-6/+6
|/
* Add support for do/while loopsRhett Aultman2016-11-108-9/+59
* add payable to ASTyann3002016-11-031-1/+2
* Clear all value types prior to storing.chriseth2016-10-311-7/+1
* ast: ban signed EXP, fixing #1246Yoichi Hirai2016-10-251-1/+4
* Suggest correct version for pragma and complain about pre-release version.chriseth2016-10-252-7/+28
* Merge pull request #1279 from ethereum/semver-helperchriseth2016-10-251-0/+6
|\
| * Export major/minor/patch helpers on SemVerVersionAlex Beregszaszi2016-10-251-0/+6
* | Merge pull request #1264 from ethereum/988chriseth2016-10-253-9/+21
|\ \ | |/ |/|
| * analysis: determine if a member access on a contract is an l-valueYoichi Hirai2016-10-251-0/+5
| * codegen: refactor common codeYoichi Hirai2016-10-242-20/+15
| * codegen: if a member access has been resolved as a variable, follow thatYoichi Hirai2016-10-241-0/+12
* | More checks for missing mobile type.chriseth2016-10-244-11/+44
|/
* codegen: skip contract L for L.Foo where Foo is a typeYoichi Hirai2016-10-241-1/+6
* 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
* | Allow warnings for inline assembly blockAlex Beregszaszi2016-10-201-1/+1
* | Issue warnings if stack is not balanced after inline assembly blockAlex Beregszaszi2016-10-201-2/+24
* | Use warning function in TypeCheckerAlex Beregszaszi2016-10-201-5/+4
|/
* 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
* Disallow unsupported RValues in inline assemblyAlex Beregszaszi2016-10-201-4/+2
* Disallow magic variables in inline assemblyAlex Beregszaszi2016-10-201-0/+4
* 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
* Merge pull request #1169 from ethereum/inline-assembly-tagsAlex Beregszaszi2016-10-121-1/+3
|\
| * Fix assignment after tags in inline assemblyAlex Beregszaszi2016-10-111-1/+3
* | Merge pull request #1181 from ethereum/formal_ignore_pragmachriseth2016-10-112-0/+15
|\ \
| * | Chack for non-version pragmasYoichi Hirai2016-10-111-1/+10
| * | formal: ignore pragmas during Why3 code generationYoichi Hirai2016-10-112-0/+6
| |/
* / Fix pragma keyword checkYoichi Hirai2016-10-111-1/+1
|/
* Merge pull request #1189 from NicolaiSoeborg/developchriseth2016-10-111-2/+2
|\
| * Fix: HexLiteral must be even number of nibblesNicolai2016-10-111-1/+1
| * Add HexLiteral to grammar, fixes #1186Nicolai2016-10-111-2/+2
* | Merge pull request #1168 from ethereum/rename-dev-sha3chriseth2016-10-115-5/+5
|\ \