aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
Commit message (Expand)AuthorAgeFilesLines
* 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
* | | 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
|\ \ \