aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
Commit message (Expand)AuthorAgeFilesLines
* Assert that invalid AST elements are not printed in Julia modeAlex Beregszaszi2017-05-051-1/+5
* Add flag for JULIA printingAlex Beregszaszi2017-05-051-0/+5
* Show better error message for Julia modeAlex Beregszaszi2017-05-051-3/+11
* Do not allow literal pushes in JuliaAlex Beregszaszi2017-05-051-0/+2
* Disable labels in JuliaAlex Beregszaszi2017-05-051-0/+3
* Merge pull request #2194 from ethereum/removeerrorlabelchriseth2017-05-055-30/+0
|\
| * Remove error label / invalid jump label.chriseth2017-04-285-30/+0
* | Cleanup, style and additional test.chriseth2017-05-032-11/+7
* | Refactor: Combine bool and function pointer.chriseth2017-05-032-10/+8
* | Treat returns with expressions as return param useRhett Aultman2017-05-032-1/+14
* | Warn on unused local variablesRhett Aultman2017-05-032-0/+45
* | Merge pull request #2211 from ethereum/jsonio-fixesAlex Beregszaszi2017-05-021-3/+3
|\ \
| * | Follow the JSON I/O spec closelyAlex Beregszaszi2017-05-021-3/+3
* | | Merge pull request #2199 from roadriverrail/no_unary_pluschriseth2017-05-022-0/+21
|\ \ \
| * | | Style and stricter tests.chriseth2017-05-021-3/+1
| * | | Deprecate use of unary '+'Rhett Aultman2017-04-292-0/+23
* | | | Remove why3 from standard compilerAlex Beregszaszi2017-05-021-24/+0
| |/ / |/| |
* | | Merge pull request #2198 from ethereum/conditionalCompilerStateResetchriseth2017-05-021-1/+4
|\ \ \
| * | | conditional reset of compilerState-Enumdjuju2017-04-291-1/+4
| |/ /
* | | Merge pull request #2110 from federicobond/fix-posttypecheckerchriseth2017-05-021-0/+3
|\ \ \ | |/ / |/| |
| * | Fix PostTypeChecker retaining state across contractsFederico Bond2017-04-091-0/+3
* | | Merge pull request #2171 from ethereum/splitParseAndAnalyzechriseth2017-04-282-17/+63
|\ \ \ | |_|/ |/| |
| * | error fixeddjuju2017-04-281-8/+7
| * | enumchecks not workingdjuju2017-04-282-15/+36
| * | documentation, checks and renamingdjuju2017-04-272-14/+13
| * | refactoring parse() into two separate functionsdjuju2017-04-272-7/+34
* | | Merge pull request #2193 from ethereum/julia-assign-stackchriseth2017-04-281-0/+2
|\ \ \
| * | | Disallow assign from stack in Julia (=: var)Alex Beregszaszi2017-04-281-1/+3
| * | | Do not validate identifiers against EVM instructions in JULIAAlex Beregszaszi2017-04-281-4/+6
| * | | Add flag for JULIA parsingAlex Beregszaszi2017-04-281-1/+4
* | | | Merge pull request #2189 from ethereum/julia-instructionschriseth2017-04-282-5/+10
|\ \ \ \ | |/ / / |/| | |
| * | | Do not validate identifiers against EVM instructions in JULIAAlex Beregszaszi2017-04-271-4/+6
| * | | Add flag for JULIA parsingAlex Beregszaszi2017-04-271-1/+4
* | | | Make assembler errors fatalAlex Beregszaszi2017-04-271-12/+4
* | | | Catch assembler exceptions and throw readable Solidity exceptionsAlex Beregszaszi2017-04-271-2/+35
|/ / /
* | | 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
|\ \