aboutsummaryrefslogtreecommitdiffstats
path: root/Compiler.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Super keyword.Christian2015-01-291-98/+28
|
* Various fixes pertaining to State Variable accessorsLefteris Karapetsas2015-01-291-5/+5
|
* EVM Code for simple accessor function is properly generatedLefteris Karapetsas2015-01-291-7/+5
|
* All interface functions are external.Lefteris Karapetsas2015-01-291-8/+32
|
* Solidity EntryLabel now uses a generic declarationLefteris Karapetsas2015-01-291-3/+7
| | | | - Instead of a FunctionDefinition
* State variable accessors code is now more organizedLefteris Karapetsas2015-01-291-4/+5
| | | | | | | | | | | | | - FunctionDescription is the abstraction of what should describe a function. It can either be a VariableDeclaration of a FunctionDefinition. - ParamDescription is what FunctionDescription uses to describe its parameters for outside use purposes with a pair of (name, type) strings - Modified code around Solidity and especially interface handler to adapt to this change
* Work in progress for state variable accessorsLefteris Karapetsas2015-01-291-24/+22
| | | | | | | | | - Changed the code so that a generic declaration with the combination of a function type can be used wherer a function definition was used before - Since using an std::pair everywhere is really tiring with this commit I am in the process of abstracting it into a function
* Call modifiers on constructor.Christian2015-01-261-0/+1
|
* Modifier overrides and callgraph analysis.Christian2015-01-261-20/+32
|
* Compilation of function modifiers.Christian2015-01-261-16/+64
|
* Include virtual function overrides in constructor context.Christian2015-01-201-8/+27
|
* Call constructors of base classes.Christian2015-01-201-11/+60
|
* Inheritance in compiler.Christian2015-01-201-9/+15
|
* Magic variables are only needed durinng name and type resolution, not during ↵Christian2015-01-201-6/+4
| | | | compilation.
* A first version of Natspec warning popupLefteris Karapetsas2015-01-131-3/+2
| | | | | | | - Runtime Contract code hash can now be retrieved from the Compiler - Using the hash the Natspec handler stores and later retrieves Natspec JSON for a given contract.
* Coding style: Prefix for const variables.Christian2015-01-101-15/+16
|
* Padding for ABI types.Christian2015-01-101-6/+7
|
* Adjustments to Solidity compiler code for Function HashLefteris Karapetsas2015-01-091-17/+13
|
* Compiler EVM generation now takes into account for the new function hashLefteris Karapetsas2015-01-091-5/+5
| | | | | | | | identifier - Changed tests to comply with the new function hash identifier - Changed the function index offset to 4, and made it a constant for easy adjustment in the future
* work in progress in testing the new function selector in the end to end testsLefteris Karapetsas2015-01-081-3/+3
|
* Solidity getInterfaceFunctions is now a map of hash to FunctionLefteris Karapetsas2015-01-071-17/+13
| | | | | | | - Also introduced dependency between libsolidity and libdevcrypto - Compler's appendFunctionSelector now has a first version of using function signature hash instead of index
* Merge pull request #623 from chriseth/sol_constructorCheckschriseth2014-12-171-43/+58
|\ | | | | Checks for the constructor and ability to call functions
| * Add functions needed by constructor.Christian2014-12-171-43/+58
| |
* | Solidity ForStatement Compiler partLefteris Karapetsas2014-12-171-2/+29
| | | | | | | | - Work in progress
* | Adding a ForStatement solidity AST Node.Lefteris Karapetsas2014-12-171-0/+7
|/ | | | | | | - Adding ForStatement node - Implemented Parsing for ForStatement - A simple parsing test for the ForStatement - Work in progress
* Packing and unpacking of constructor arguments.Christian2014-12-151-4/+12
|
* Create contracts.Christian2014-12-151-6/+11
|
* Merge remote-tracking branch 'ethereum/develop' into sol_swapConstantsChristian2014-12-131-11/+6
|\ | | | | | | | | Conflicts: test/solidityOptimizerTest.cpp
| * Support empty strings.Christian2014-12-111-2/+2
| |
| * Merge remote-tracking branch 'ethereum/develop' into sol_stringsChristian2014-12-111-12/+12
| |\ | | | | | | | | | | | | Conflicts: libsolidity/Types.cpp
| * | Helper functions to access memory.Christian2014-12-111-13/+4
| | |
| * | String types.Christian2014-12-101-1/+5
| | |
* | | Do not add at the end of the function selector "loop".Christian2014-12-121-2/+2
| | |
* | | Swap literals to the end if optimizing.Christian2014-12-121-5/+10
| |/ |/|
* | Merge pull request #577 from chriseth/sol_constCleanupchriseth2014-12-111-12/+12
|\ \ | |/ |/| Solidity const cleanup
| * Clear separation between ASTVisitor and ASTConstVisitor and more const ↵Christian2014-12-081-3/+3
| | | | | | | | specifiers.
| * Const AST visitor for the compiler.Christian2014-12-081-9/+9
| |
* | Take variable stack size correctly into account for return value packer.Christian2014-12-101-1/+3
| |
* | Variable-size stack elements for expression compiler.Christian2014-12-091-9/+3
| |
* | Changes in compiler to support variably sized stack elements.Christian2014-12-091-10/+6
| |
* | Cleanup before return.Christian2014-12-091-10/+16
| |
* | Register variably-sized variables on stack.Christian2014-12-081-3/+4
|/
* Warnings fixes (well.. the UPnP was actually a crash fix.)Gav Wood2014-12-031-1/+1
|
* Sending ether.Christian2014-11-261-1/+1
|
* Magic variables.Christian2014-11-241-9/+6
|
* Special handling for constructor.Christian2014-11-191-34/+59
|
* Mapping types.Christian2014-11-141-1/+1
|
* Merge remote-tracking branch 'ethereum/develop' into sol_jumptableChristian2014-11-111-2/+2
|\ | | | | | | | | Conflicts: libsolidity/Compiler.cpp
| * Merge remote-tracking branch 'ethereum/develop' into sol_optimizerChristian2014-11-101-6/+13
| |\ | | | | | | | | | | | | Conflicts: libevmcore/Instruction.cpp
| * \ Merge remote-tracking branch 'ethereum/develop' into sol_optimizerChristian2014-11-071-3/+4
| |\ \
| * | | Prevent optimizer from changing certain parts of the code.Christian2014-11-071-2/+3
| | | |
| * | | Option to activate the optimizer for solidity.Christian2014-11-071-2/+2
| | | |
* | | | Replace function selector jump table by more resilient linear time check.Christian2014-11-101-20/+19
| |_|/ |/| |
* | | State variables.Christian2014-11-081-6/+13
| |/ |/|
* | Merge remote-tracking branch 'ethereum/develop' into sol_typePromotionChristian2014-11-071-6/+4
|\|
| * Ignore break and continue outside of loops.Christian2014-11-061-6/+4
| |
* | Proper type promotion and conversion.Christian2014-11-061-3/+4
|/
* Converted all asserts to exceptions.Christian2014-11-051-2/+4
|
* Some tests and bugfixes for the compiler.Christian2014-11-031-19/+13
|
* Merge remote-tracking branch 'ethereum/develop' into sol_contractCompilerChristian2014-11-011-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: libsolidity/AST.cpp libsolidity/AST.h libsolidity/Compiler.cpp libsolidity/Compiler.h libsolidity/NameAndTypeResolver.h libsolidity/Types.cpp solc/main.cpp test/solidityCompiler.cpp
| * Big fixes.Gav Wood2014-10-311-2/+2
| |
| * Fixed placements of const.Christian2014-10-301-1/+1
| |
| * Adjustments for the NEG->BNOT change.Christian2014-10-291-8/+5
| |
| * Stylistic corrections.Christian2014-10-281-7/+3
| |
* | Actual contract creator and add solidity to AlethZero interface.Christian2014-10-311-0/+13
| |
* | Function selector and variable (un)packing.Christian2014-10-311-5/+95
| |
* | Contract compiler and also add ExpressionStatement to AST.Christian2014-10-301-386/+123
| | | | | | | | | | | | | | | | ExpressionStatement functions as glue between Statements and Expressions. This way it is possible to detect when the border between statements and expressions is crossed while walking the AST. Note that ExpressionStatement is not the only border, almost every statement can contains expressions.
* | Compiler for assignments.Christian2014-10-291-23/+90
| |
* | NEG->BNOT changeChristian2014-10-291-8/+4
|/
* Removed some more boost asserts.Christian2014-10-251-20/+20
|
* Expression compiler.Christian2014-10-251-0/+408