aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
Commit message (Expand)AuthorAgeFilesLines
* Merge pull request #2457 from ethereum/fixNegativeStackHeightAlex Beregszaszi2017-06-292-1/+18
|\
| * Document appendFunctionSelectorAlex Beregszaszi2017-06-291-0/+4
| * Stack adjustment and code generation for fallback function.chriseth2017-06-291-4/+6
| * Fix negative stack size checks.chriseth2017-06-282-0/+11
* | Use boost::starts_withAlex Beregszaszi2017-06-291-1/+1
* | Rename to isHexNumber()Alex Beregszaszi2017-06-293-5/+5
* | Add hasHexPrefix() to AST::LiteralAlex Beregszaszi2017-06-283-7/+16
|/
* Give min and max values in warning message.chriseth2017-06-281-1/+9
* Warn if using var x = 0chriseth2017-06-281-0/+24
* Merge pull request #2464 from federicobond/deprecate-function-type-nameschriseth2017-06-272-0/+14
|\
| * Warn deprecated usage of parameter names in function typesFederico Bond2017-06-272-0/+14
* | Merge pull request #2437 from ethereum/warnDoubleCopyStorageAlex Beregszaszi2017-06-272-0/+34
|\ \
| * | Warn about copies in storage that might overwrite unexpectedly.chriseth2017-06-262-0/+34
* | | Merge pull request #2459 from ethereum/noComparisonForSomeTypesAlex Beregszaszi2017-06-273-5/+15
|\ \ \
| * | | Only allow equality checks for internal function types.chriseth2017-06-261-1/+1
| * | | Disallow comparisons between some types.chriseth2017-06-263-5/+15
| |/ /
* | | Merge pull request #2453 from ethereum/memcopyAsForLoopAlex Beregszaszi2017-06-272-23/+20
|\ \ \ | |/ / |/| |
| * | Comment about zero length.chriseth2017-06-271-0/+2
| * | Reformat.chriseth2017-06-261-6/+9
| * | Use for loop for assembly memcopy.chriseth2017-06-261-23/+15
* | | Merge pull request #2450 from ethereum/addressstringAlex Beregszaszi2017-06-261-0/+2
|\ \ \
| * | | Fix strings interpreted as addresses.chriseth2017-06-221-0/+2
* | | | Merge pull request #2460 from ethereum/disallowMultiModifierAlex Beregszaszi2017-06-263-0/+18
|\ \ \ \
| * | | | Disallow invoking the same modifier multiple times.chriseth2017-06-243-0/+18
* | | | | Merge pull request #2442 from ethereum/remove-why3chriseth2017-06-264-1067/+0
|\ \ \ \ \ | |_|_|/ / |/| | | |
| * | | | Remove Why3 generatorAlex Beregszaszi2017-06-254-1067/+0
| |/ / /
* | | | Merge pull request #2449 from federicobond/warn-bytesxx-decimalchriseth2017-06-261-1/+18
|\ \ \ \
| * | | | Warn if decimal literals are used in a bytesXX contextFederico Bond2017-06-241-1/+18
* | | | | Review suggestions.chriseth2017-06-241-1/+1
* | | | | Change invalid opcode to revert for input validation.chriseth2017-06-246-20/+52
| |/ / / |/| | |
* | | | Merge pull request #2448 from federicobond/constant-addresseschriseth2017-06-231-5/+5
|\ \ \ \
| * | | | Fix address literals not being treated as compile-time constantsFederico Bond2017-06-231-5/+5
* | | | | Merge pull request #2443 from ethereum/julia-asm-sizechriseth2017-06-231-0/+5
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Support appendAssemblySize() in AbstractAssemblyAlex Beregszaszi2017-06-231-0/+5
* | | | | Merge pull request #2444 from ethereum/parser-scannerAlex Beregszaszi2017-06-233-5/+25
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Avoid including Scanner.h in ParserBase.hAlex Beregszaszi2017-06-233-5/+25
| | |_|/ | |/| |
* | | | Merge pull request #2452 from ethereum/fixPassingEmptyStringAlex Beregszaszi2017-06-231-1/+1
|\ \ \ \ | |/ / / |/| | |
| * | | Fix ABI encoding of empty string literal.chriseth2017-06-221-1/+1
| | |/ | |/|
* | | Merge pull request #2408 from federicobond/constant-parameterschriseth2017-06-231-1/+8
|\ \ \ | |/ / |/| |
| * | Fix segmentation fault with constant function parametersFederico Bond2017-06-221-1/+8
| |/
* | Merge pull request #2404 from ethereum/methodidentifiersAlex Beregszaszi2017-06-223-18/+12
|\ \
| * | Make compiler.contractDefinition privateAlex Beregszaszi2017-06-221-3/+4
| * | Rework functionHashes into methodIdentifiersAlex Beregszaszi2017-06-223-7/+8
| * | Use compilerStack.functionHashes in StandardCompilerAlex Beregszaszi2017-06-221-9/+1
| |/
* / Merge interface/Exceptions and interface/UtilsAlex Beregszaszi2017-06-2218-61/+19
|/
* Merge pull request #2409 from federicobond/trailing-commas-2chriseth2017-06-191-3/+9
|\
| * Improve error reporting of trailing commasFederico Bond2017-06-161-3/+9
* | Merge pull request #2416 from federicobond/multiple-specifierschriseth2017-06-191-0/+6
|\ \
| * | Display error if payable or constant is specified multiple timesFederico Bond2017-06-171-0/+6
* | | Merge pull request #2225 from ethereum/julia-forchriseth2017-06-1915-77/+159
|\ \ \ | |/ / |/| |
| * | Split block code generation into main and finalize.chriseth2017-06-162-2/+2
| * | Helper to count the number of variables in a scope.chriseth2017-06-163-3/+12
| * | Add include file to forward-declare inline assembly structs.chriseth2017-06-166-77/+64
| * | For loops analysis.chriseth2017-06-162-4/+41
| * | Parse for statement in assembly parser / printerAlex Beregszaszi2017-06-1610-3/+52
| |/
* / Try to recover from parser errors where possibleFederico Bond2017-06-161-13/+22
|/
* Merge pull request #2382 from ruchevits/combined-json-hasheschriseth2017-06-152-0/+11
|\
| * Reverted functionHashes output to use method signature as keysEdward Ruchevits2017-06-141-1/+1
| * Allow including hashes of method signatures in --combined-json outputEdward Ruchevits2017-06-142-0/+11
* | Move subroutine helpers from CompilerContext to AssemblyAlex Beregszaszi2017-06-151-3/+3
* | Remove obsolete errorTag()Alex Beregszaszi2017-06-151-2/+0
* | Merge pull request #2192 from winsvega/developAlex Beregszaszi2017-06-151-17/+11
|\ \
| * | add new opcode instructions to the parserDimitry2017-06-151-17/+11
* | | Merge pull request #2381 from ethereum/fixcrashchriseth2017-06-151-4/+1
|\ \ \
| * | | Silence compiler warning.chriseth2017-06-141-1/+1
| * | | Fix a crash about a non-callable expression.chriseth2017-06-141-4/+1
| | |/ | |/|
* | | Merge pull request #2384 from ethereum/parseFunctionalInstructionschriseth2017-06-151-0/+13
|\ \ \ | |_|/ |/| |
| * | Enforce function arguments when parsing functional instructions.chriseth2017-06-141-0/+13
* | | Display user friendly instruction nameAlex Beregszaszi2017-06-141-5/+12
* | | Issue warning for using CREATE2 in inline assemblyAlex Beregszaszi2017-06-141-2/+3
* | | Merge pull request #2392 from federicobond/disallow-trailing-commaschriseth2017-06-141-4/+9
|\ \ \ | |/ / |/| |
| * | Forbid trailing commas in named argumentsFederico Bond2017-06-141-4/+9
| |/
* | Merge pull request #2331 from ethereum/ASTDocumentationEntrychriseth2017-06-141-0/+1
|\ \
| * | documentation field added to ContractDefinition-Nodedjudjuu2017-05-311-0/+1
* | | Merge pull request #2327 from ethereum/assembler-objectchriseth2017-06-142-5/+19
|\ \ \
| * | | Supply text representation of assemblyAlex Beregszaszi2017-06-091-1/+3
| * | | Introduce MachineAssemblyObjectAlex Beregszaszi2017-06-092-5/+17
* | | | Merge pull request #2389 from ethereum/moveLabelIDschriseth2017-06-144-25/+12
|\ \ \ \ | |_|_|/ |/| | |
| * | | Move "active variable" to analysis phase.chriseth2017-06-143-16/+10
| * | | Remove struct constructor.chriseth2017-06-142-2/+1
| * | | Move stack height to generation phase.chriseth2017-06-141-2/+0
| * | | Move LabelIDs to generation phase.chriseth2017-06-141-5/+1
| |/ /
* | | Add a warning about a varialbe of the name of an instructionYoichi Hirai2017-06-133-0/+27
* | | Warn if returndatasize/returndatacopy is usedAlex Beregszaszi2017-06-132-1/+20
|/ /
* | Merge pull request #2362 from ethereum/lowercase_instructionsAlex Beregszaszi2017-06-092-11/+30
|\ \
| * | Use lowercase when reporting instruction error.chriseth2017-06-092-11/+30
* | | Remove excess includesAlex Beregszaszi2017-06-092-1/+1
* | | Simplify CodeGenerator by remove seldom used caseAlex Beregszaszi2017-06-093-18/+2
* | | Remove obsolete AsmStackAlex Beregszaszi2017-06-092-175/+0
* | | Use inline assembly directly and not via AsmStackAlex Beregszaszi2017-06-091-3/+17
|/ /
* | Comments and consistent variable names.chriseth2017-06-091-4/+4
* | Fix: Copy resolver.chriseth2017-06-081-1/+1
* | Visitor bugfix.chriseth2017-06-082-6/+18
* | Remove error reporter from code generation phase.chriseth2017-06-086-24/+14
* | Some more comments.chriseth2017-06-081-2/+0
* | Correct stack height adjustment after returnsub.chriseth2017-06-081-1/+1
* | Generate only single error in inline assembly.chriseth2017-06-082-3/+12
* | Introduce machine-dependent stack adjustment.chriseth2017-06-081-4/+2
* | Initial EVM1.5 assembly implementation.chriseth2017-06-0810-21/+99
* | Refactor AssemblyStackAlex Beregszaszi2017-06-072-4/+7
* | Add analyze(block) to AssemblyStackAlex Beregszaszi2017-06-072-0/+18
* | Reset error list in parseAndAnalyzeAlex Beregszaszi2017-06-071-0/+1
* | Merge pull request #2332 from ethereum/fixLiteralPrintchriseth2017-06-062-2/+18
|\ \
| * | adjusted testcase and renamingdjudjuu2017-06-062-5/+3
| * | fix Literalprintdjudjuu2017-05-312-2/+20
| |/
* | Merge pull request #2336 from ethereum/expectExpressionchriseth2017-06-012-38/+29
|\ \
| * | Add comma.chriseth2017-06-011-1/+1
| * | Improved error message.chriseth2017-06-011-1/+1
| * | Refactor to use expectExpression in analyzer.chriseth2017-06-012-38/+29
* | | Fix state after CompilerStack.reset()Alex Beregszaszi2017-06-012-1/+26
* | | Remove unused functions from CompilerStackAlex Beregszaszi2017-06-012-48/+0
|/ /
* | Merge pull request #2317 from ethereum/keccak256chriseth2017-05-315-8/+10
|\ \ | |/ |/|
| * Alias sha3 to keccak256 in inline assemblyAlex Beregszaszi2017-05-301-0/+2
| * Rename the SHA3 assembly instruction to KECCAK256Alex Beregszaszi2017-05-304-8/+8
* | Refactor error reportingRhett Aultman2017-05-3039-663/+718
|/
* Merge pull request #2319 from ethereum/virtualBlockschriseth2017-05-295-21/+28
|\
| * Introduce virtual blocks for function arguments.chriseth2017-05-295-21/+28
* | Introduce LabelID typedef.chriseth2017-05-292-3/+4
|/
* Merge pull request #2311 from ethereum/julia-typeschriseth2017-05-295-13/+37
|\
| * Move builtin type list to the topAlex Beregszaszi2017-05-271-1/+7
| * Change error message for invalid typeAlex Beregszaszi2017-05-271-1/+1
| * Introduce Julia mode in AsmAnalyzerAlex Beregszaszi2017-05-275-7/+13
| * Validate that only basic types are used in JuliaAlex Beregszaszi2017-05-272-0/+21
| * Move constructor to AsmAnalyzer headerAlex Beregszaszi2017-05-272-11/+2
* | Pull out common code to a helperAlex Beregszaszi2017-05-272-24/+15
* | Remove duplicate codeAlex Beregszaszi2017-05-271-20/+18
* | Use the new ParserBase API in AsmParserAlex Beregszaszi2017-05-271-33/+33
* | Add scanner helpers to ParserBaseAlex Beregszaszi2017-05-271-1/+5
* | Move Solidity specific methods from ParserBase to the Solidity ParserAlex Beregszaszi2017-05-274-60/+60
|/
* More comments for assemblychriseth2017-05-261-0/+2
* Adapt EVM codegen to new namespace.chriseth2017-05-2613-78/+51
* Move EVM codegen to libjulia.chriseth2017-05-261-238/+0
* Support multiple assembly front and backends.chriseth2017-05-262-0/+170
* Merge pull request #2316 from ethereum/inlineasm-cleanupchriseth2017-05-261-5/+2
|\
| * Better error message for elementary operationsAlex Beregszaszi2017-05-261-5/+2
* | Merge pull request #2224 from ethereum/julia-switchchriseth2017-05-2611-2/+124
|\ \
| * | Better error messages for invalid switch casesAlex Beregszaszi2017-05-261-0/+4
| * | Disallow instructions as a switch expressionAlex Beregszaszi2017-05-261-0/+2
| * | Visit case bodies in scope fillerAlex Beregszaszi2017-05-262-1/+10
| * | Do not stop on first switch errorAlex Beregszaszi2017-05-261-5/+7
| * | Check token within parseCaseAlex Beregszaszi2017-05-262-7/+9
| * | Switch cases are not followed by colonAlex Beregszaszi2017-05-262-3/+2
| * | Change switch case string to LiteralAlex Beregszaszi2017-05-264-15/+26
| * | Implement switch statement in the assembly parser/printerAlex Beregszaszi2017-05-2610-2/+95
| |/
* | Also change error message.chriseth2017-05-261-1/+1
* | Scanner requires only the SourcesSet stateAlex Beregszaszi2017-05-251-1/+1
|/
* Uniform error messagesAlex Beregszaszi2017-05-241-3/+4
* Better error messages during parsing functional instructionsAlex Beregszaszi2017-05-241-0/+9
* Merge pull request #2301 from ethereum/ASTFunctionTypeFixchriseth2017-05-242-2/+4
|\
| * insert ParameterList-node in FunctionType-jsondjudjuu2017-05-242-2/+4
* | Merge pull request #2294 from ethereum/inlineasmchriseth2017-05-241-0/+1
|\ \
| * | Fix scope assert in AsmAnalyzerAlex Beregszaszi2017-05-241-0/+1
| |/
* | Merge pull request #2289 from ethereum/astjson-fixchriseth2017-05-241-1/+1
|\ \ | |/ |/|
| * Fix AST JSON converter type lookupAlex Beregszaszi2017-05-241-1/+1
* | Rename parseFunctionalInstruction to parseCallAlex Beregszaszi2017-05-242-4/+4
* | Reorder AsmData for readabilityAlex Beregszaszi2017-05-241-7/+14
* | Rename FunctionalAssignment to AssignmentAlex Beregszaszi2017-05-249-22/+21
* | Rename Assignment to StackAssignmentAlex Beregszaszi2017-05-249-15/+15
* | Merge pull request #2292 from roadriverrail/inline_asm_unused_warningAlex Beregszaszi2017-05-241-3/+0
|\ \ | |/ |/|
| * Drop the inline asm includes from StaticAnalyzerRhett Aultman2017-05-231-3/+0
* | Display actual error message and not assertion in analysisAlex Beregszaszi2017-05-231-1/+9
* | Enable a single right hand item on letAlex Beregszaszi2017-05-235-37/+7
* | Support multiple variables in a variable declaration in inline assemblyAlex Beregszaszi2017-05-236-15/+71
* | Merge pull request #2265 from roadriverrail/inline_asm_unused_warningchriseth2017-05-222-2/+24
|\|
| * Analyze InlineAssembly for variable useRhett Aultman2017-05-222-2/+24
* | Merge pull request #1810 from ethereum/compactJsonchriseth2017-05-229-471/+552
|\ \
| * | minor fixes and changelog updatedjudjuu2017-05-222-1/+2
| * | refactoring functionCallAnnotationdjudjuu2017-05-196-21/+51
| * | 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
| * | Support the new AST in StandardCompilerAlex Beregszaszi2017-05-171-0/+1
| * | Compact format for AST-Json with backwards compatibilitychriseth2017-05-175-450/+473
* | | Add constchriseth2017-05-201-1/+1
* | | Review changes.chriseth2017-05-201-6/+6
* | | Refactor to abstract assembly to JULIA.chriseth2017-05-205-76/+127
| |/ |/|
* | Merge pull request #2262 from ethereum/interface-cleanupchriseth2017-05-199-231/+342
|\ \
| * | Rename CompilerStack.metadata to CompilerStack.natspecAlex Beregszaszi2017-05-193-9/+9
| * | Rename InterfaceHandler to NatspecAlex Beregszaszi2017-05-195-12/+11
| * | Split ABI out of InterfaceHandlerAlex Beregszaszi2017-05-196-105/+212
| * | Use CompilerStack.contractABI directlyAlex Beregszaszi2017-05-192-2/+7
| * | Rename CompilerStack.interface to CompilerStack.contractABIAlex Beregszaszi2017-05-192-3/+3
* | | Accept bool as a type in Julia modeAlex Beregszaszi2017-05-191-1/+9
* | | Support true/false literals in inline assemblyAlex Beregszaszi2017-05-195-5/+42
|/ /
* | Merge pull request #2222 from ethereum/julia-typeschriseth2017-05-1611-36/+106
|\ \ | |/ |/|
| * Use boost range adaptors in AsmPrinterAlex Beregszaszi2017-05-061-4/+12
| * Parse types in Julia modeAlex Beregszaszi2017-05-0611-36/+98
* | Ensure proper checks are in CompilerStackAlex Beregszaszi2017-05-111-4/+10
* | Do not crash on AST if parsing failedAlex Beregszaszi2017-05-111-0/+3
* | Added change to make compile happy on MacOS 10.9.5Erik Quenon Steggall2017-05-061-1/+1
|/
* 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