aboutsummaryrefslogtreecommitdiffstats
path: root/ExpressionCompiler.cpp
Commit message (Expand)AuthorAgeFilesLines
* Type conversion specialities for storage references.chriseth2015-06-161-12/+11
* Style.chriseth2015-06-161-6/+14
* Copying between memory and memory.chriseth2015-06-161-281/+60
* Distinction between storage pointer and storage ref and type checking for con...chriseth2015-06-151-5/+24
* Use dynamic memory for argument encoding.chriseth2015-06-091-116/+191
* Dynamic memory.chriseth2015-06-091-11/+26
* Improved "Stack too deep" error message.chriseth2015-06-071-1/+1
* Style.chriseth2015-06-051-4/+5
* Bare functions return success condition.chriseth2015-06-051-11/+24
* Fallback takes constant amount of gas, and send to gas with send.chriseth2015-06-051-1/+2
* Ability to specify the storage location of a reference type.chriseth2015-06-051-8/+8
* corrected the calculation of gas for sendLiana Husikyan2015-06-041-3/+7
* Merge pull request #1975 from LianaHus/sol_EVMExceptionschriseth2015-06-011-2/+5
|\
| * fixed CALL case. added exceptionLiana Husikyan2015-06-011-2/+2
| * style fixesLiana Husikyan2015-06-011-2/+2
| * removed exception when function is not foundLiana Husikyan2015-06-011-13/+5
| * special handle of sendLiana Husikyan2015-06-011-5/+13
| * one more test to test the call of non-existed functionLiana Husikyan2015-06-011-1/+1
| * style fixesLiana Husikyan2015-06-011-1/+2
| * fixed mistake because of conflict resolvingLiana Husikyan2015-06-011-4/+5
| * added error jump instead of STOP instraction in case of exceptionLiana Husikyan2015-06-011-3/+4
* | Re-introduce string type.chriseth2015-05-281-0/+3
|/
* Move non-cryptopp dependent stuff into devcore.Gav Wood2015-05-201-1/+1
* Bare callcode for addresses and contracts.chriseth2015-05-161-14/+23
* saved returnParameterNames in FunctionType constructorLiana Husikyan2015-04-271-0/+1
* changed the test so constructor will have input parametersLiana Husikyan2015-04-271-2/+13
* Fix regarding memory overwrite during sha3 computation.chriseth2015-04-221-4/+9
* bytes parameters for events and sha3.chriseth2015-04-221-11/+80
* Merge pull request #1685 from chriseth/sol_fix_ripemd_alignmentGav Wood2015-04-211-1/+7
|\
| * Fixed byte alignment for return type of ripemd160 built-in contract.chriseth2015-04-211-1/+7
* | Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctionschriseth2015-04-151-20/+45
|\|
| * Merge pull request #1546 from chriseth/sol_assumeContractNotCreatedGav Wood2015-04-091-1/+1
| |\
| | * Retain more gas for the case that the called contract is not yet created.chriseth2015-04-071-1/+1
| * | fixesLiana Husikyan2015-04-081-7/+22
| * | added implementation to append code for State variable accessorLiana Husikyan2015-04-081-27/+21
| * | some more testsLiana Husikyan2015-04-081-17/+29
| * | added createing FunctionType from ArrayType VariableDeclarationLiana Husikyan2015-04-081-8/+12
| |/
* | Fixed function overloads.chriseth2015-04-151-22/+24
* | Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctionschriseth2015-04-071-142/+117
|\|
| * Refactor: Pull out array index access.chriseth2015-03-311-100/+7
| * added externalTypes function to functionTypeLiana Husikyan2015-03-271-1/+1
| * tests for external typesLiana Husikyan2015-03-251-1/+1
| * renamed externalTypes to externalSignatureLiana Husikyan2015-03-251-1/+1
| * renamed getCanonicalSignatureLiana Husikyan2015-03-251-1/+1
| * Byte size checked for zero; coding style.chriseth2015-03-201-0/+1
| * Packing for arrays.chriseth2015-03-181-28/+43
| * added anonymous to ABILiana Husikyan2015-03-171-1/+1
| * changed the position of 'anonymous' keyword: event <name>() anonymous.Liana Husikyan2015-03-171-1/+1
| * Added anonymous flag to event.Liana Husikyan2015-03-171-3/+6
| * Fetch and store packed values.chriseth2015-03-171-13/+11
| * Enlarge storage references to two stack slots.chriseth2015-03-171-27/+45
| * Merge pull request #1325 from LefterisJP/sol_MsgSigchriseth2015-03-171-0/+3
| |\
| | * Additional test for msg.sigLefteris Karapetsas2015-03-161-1/+2
| | * Adding msg.sig Solidity Magic typeLefteris Karapetsas2015-03-161-0/+2
| * | - added isPartOfExternalInterface to DeclarationLiana Husikyan2015-03-161-0/+2
| * | added parsing for constant variablesLiana Husikyan2015-03-161-2/+5
| * | Fix gas for builtin.chriseth2015-03-141-0/+6
| |/
| * Fixing byte array index access code generationLefteris Karapetsas2015-03-121-2/+1
| * Conversion changes after renaming Hash/String to Bytes.Lefteris Karapetsas2015-03-121-20/+29
| * Most EndToEndTests are now compliant with the Bytes renamingLefteris Karapetsas2015-03-121-2/+0
| * Replacing StaticStringType with FixedBytesTypeLefteris Karapetsas2015-03-121-13/+13
| * More changes towards getting rid of HashXXLefteris Karapetsas2015-03-121-2/+2
| * added information about jump type for jump instructionsLiana Husikyan2015-03-101-2/+3
| * Global variable "now" (alias for block.timestamp).chriseth2015-03-101-1/+11
| * Fixed: Some instructions did not have source locations.chriseth2015-03-091-8/+10
* | make it work for var x = f;Lu Guanqun2015-03-081-5/+8
* | implement overload resolutionLu Guanqun2015-03-081-1/+5
|/
* Fixed gas calculation for CALL.chriseth2015-03-061-2/+3
* Merge pull request #1222 from chriseth/sol_copyFromCalldatachriseth2015-03-061-9/+10
|\
| * Copying between calldata and storage.chriseth2015-03-061-9/+10
* | Add date/time language to solidity.Gav Wood2015-03-061-0/+3
|/
* Index access for calldata arrays.Christian2015-03-051-18/+83
* Merge branch 'develop' of github.com:ethereum/cpp-ethereum into developGav Wood2015-03-031-4/+4
|\
| * Shortening of dynamic arrays.Christian2015-02-281-4/+4
* | Solidity STOPs in case of failed call.Gav Wood2015-03-031-7/+10
|/
* Stylistic changes.Christian2015-02-251-2/+3
* Removed code duplication.Christian2015-02-251-14/+3
* LValue refactoring.Christian2015-02-251-445/+189
* LocationSetter in some extra places during CompilingLefteris Karapetsas2015-02-251-0/+2
* Styling changes for SourceLocation and friendsLefteris Karapetsas2015-02-251-1/+1
* Moving Source Location libdevcoreLefteris Karapetsas2015-02-251-6/+6
* Adding location information to assembly itemsLefteris Karapetsas2015-02-251-0/+6
* Out-of-bounds checking.Christian2015-02-241-3/+21
* Index and length access for dynamic arrays.Christian2015-02-241-10/+8
* Implementation of index access.Christian2015-02-241-24/+50
* Allow conversion to dynamic arrays and update grammar.Christian2015-02-221-1/+2
* Parsing of array types and basic implementation.Christian2015-02-211-11/+12
* renamed local vaiable in fromDeclarationLiana Husikyan2015-02-211-3/+3
* renamed fromIdentifier to fromStateVariableLiana Husikyan2015-02-211-16/+13
* corrected accept for variableDeclarationLiana Husikyan2015-02-211-6/+7
* cosmetic changesLiana Husikyan2015-02-211-11/+6
* Inline member initialisationLiana Husikyan2015-02-211-3/+27
* Fixes for assigning and deleting structs containing byte arrays.Christian2015-02-181-1/+24
* Calldata byte arrays stored on the stack.Christian2015-02-171-4/+15
* Move code to loadFromMemory.Christian2015-02-171-5/+2
* Forced cleanup for conversion to enum.Christian2015-02-141-1/+7
* Some changes to enums.Christian2015-02-141-9/+4
* Moving getMemberValue from EnumDefinition to EnumTypeLefteris Karapetsas2015-02-141-4/+2
* Addressing issues with Enums in SolidityLefteris Karapetsas2015-02-141-18/+18
* Enum Value member access should now work properlyLefteris Karapetsas2015-02-141-8/+19
* Enum type conversion and member value access.Lefteris Karapetsas2015-02-141-1/+11
* Copying structs.Christian2015-02-131-71/+94
* length member for byte arrays.Christian2015-02-121-0/+6
* Added some comments.Christian2015-02-121-2/+2
* Moved copy code to CompilerUtils.Christian2015-02-121-169/+17
* Copy storage to storage.Christian2015-02-121-7/+70
* Dynamic copy to memory.Christian2015-02-121-58/+88
* Simple copy of bytes to storage.Christian2015-02-121-20/+98
* add exponent operatorLu Guanqun2015-02-101-0/+3
* Arbitrary parameters for call() and all hash functions.Christian2015-02-101-10/+28
* Merge pull request #986 from LefterisJP/sol_StyleFixchriseth2015-02-101-93/+93
|\
| * Addressing issues in Enum style fixLefteris Karapetsas2015-02-101-5/+5
| * LValueType of Expression Compiler is now CamelCaseLefteris Karapetsas2015-02-091-16/+16
| * ExpressionCompiler's enums to CamelCaseLefteris Karapetsas2015-02-091-16/+16
| * Camelcasing enums in Types.hLefteris Karapetsas2015-02-091-20/+20
| * Changing Solidity Code to use CamelCase enum valuesLefteris Karapetsas2015-02-091-57/+57
* | Some cleanup in "move to memory" functions.Christian2015-02-091-27/+17
|/
* Merge pull request #937 from LefterisJP/sol_MultiArgSHA3chriseth2015-02-091-17/+37
|\
| * Small fixes in Types and ExpressionCompilerLefteris Karapetsas2015-02-071-2/+2
| * Small fixes for proper multitype/multiarg SHA3Lefteris Karapetsas2015-02-071-1/+1
| * SHA3 of string literals now should workLefteris Karapetsas2015-02-061-5/+6
| * getRealType() introducedLefteris Karapetsas2015-02-061-1/+1
| * appendArgumentsCopyToMemory() has more complicated logic nowLefteris Karapetsas2015-02-061-21/+27
| * Fixes after rebaseLefteris Karapetsas2015-02-061-2/+2
| * Renaming a function for clarityLefteris Karapetsas2015-02-061-5/+5
| * Solidity SHA3 can now take multiple argumentsLefteris Karapetsas2015-02-061-5/+18
* | Accessors for structs.Christian2015-02-071-11/+36
|/
* Fixes for named-args.Gav Wood2015-02-041-15/+6
* Merge branch 'named-args' of https://github.com/guanqun/cpp-ethereum into gua...Gav Wood2015-02-041-2/+30
|\
| * implement named argumentsLu Guanqun2015-01-301-2/+30
* | Accessors for multiple mappings implementedLefteris Karapetsas2015-02-031-23/+22
* | Simple mapping accessors workingLefteris Karapetsas2015-02-021-39/+14
* | Code generation for mapping state variable accessorLefteris Karapetsas2015-02-011-8/+67
* | Padding fixes.Christian2015-01-301-1/+1
* | Whitespace and error messages.Christian2015-01-301-2/+2
* | Code generation for events.Christian2015-01-301-28/+59
|/
* No longer exposing retrieveValueFromStorage() as a public functionLefteris Karapetsas2015-01-291-11/+11
* Style changes.Christian2015-01-291-5/+7
* Super keyword.Christian2015-01-291-7/+17
* Various fixes pertaining to State Variable accessorsLefteris Karapetsas2015-01-291-6/+7
* EVM Code for simple accessor function is properly generatedLefteris Karapetsas2015-01-291-5/+10
* Work on ExpressionCompiler preparing for Accessors from storageLefteris Karapetsas2015-01-291-19/+36
* - cosmetic changesliana2015-01-271-15/+12
* -redesigned appendTypeConversion functionliana2015-01-271-35/+37
* - modifications according to PR reviewliana2015-01-261-16/+18
* - corrected assertliana2015-01-241-1/+1
* - added conversion for string/hash of equal sizesliana2015-01-241-2/+28
* Explicit calls to base class function.Christian2015-01-201-8/+26
* Inheritance in compiler.Christian2015-01-201-1/+1
* Some addition to Solidity Execution FrameworkLefteris Karapetsas2015-01-191-3/+1
* Merge pull request #805 from LianaHus/deleteStructchriseth2015-01-191-23/+67
|\
| * - corrected delete in case we have more than one localsliana2015-01-161-2/+2
| * removed spacesliana2015-01-161-2/+2
| * Corrected "delete" for local variables i.e. set them to 0liana2015-01-161-3/+4
| * - added functionality to set values to 0 when deleting structure(not for mapp...liana2015-01-151-23/+66
* | Merge branch 'develop' of github.com:ethereum/cpp-ethereum into developGav Wood2015-01-161-78/+128
|\ \
| * | Update ExpressionCompiler.cppLefteris Karapetsas2015-01-151-2/+1
| * | Fixing an unused parameter warning in ExpressionCompilerLefteris Karapetsas2015-01-151-0/+1
| * | Style.Christian2015-01-141-1/+0
| * | More flexible access to stack during external function call.Christian2015-01-141-5/+12
| * | Use min gas for send().Christian2015-01-141-3/+5
| * | Specify value for contract creation.Christian2015-01-141-47/+55
| * | Modify gas and value for external function call.Christian2015-01-141-32/+66
| |/
* / Add blockhash to Solidity.Gav Wood2015-01-161-0/+7
|/
* More convenient function type construction.Christian2015-01-121-1/+1
* Merge pull request #768 from chriseth/sol_contractsAreAddressesGav Wood2015-01-111-19/+44
|\
| * Contracts are Addresses.Christian2015-01-101-8/+12
| * Correct type conversions.Christian2015-01-101-13/+34
* | Coding style: Prefix for const variables.Christian2015-01-101-30/+32
* | Padding for ABI types.Christian2015-01-101-15/+12
|/
* Merge pull request #765 from chriseth/sol_someLogFixesGav Wood2015-01-091-47/+9
|\
| * Some changes to the log functions.Christian2015-01-091-47/+9
* | Arbitrary precision integer constants.Christian2015-01-091-12/+30
|/
* Merge pull request #754 from LefterisJP/sol_abiFunctionHashchriseth2015-01-091-6/+11
|\
| * Adjustments to Solidity compiler code for Function HashLefteris Karapetsas2015-01-091-2/+2
| * merging developLefteris Karapetsas2015-01-091-1/+1
| |\
| * | Compiler EVM generation now takes into account for the new function hashLefteris Karapetsas2015-01-091-6/+11
* | | Basic logging in Solidity (though no tests yet).Gav Wood2015-01-091-0/+55
| |/ |/|
* | Bugfix: Use parameter (not argument) type size on stack for function calls.Christian2015-01-071-1/+1
|/
* BLOCKHASHGav Wood2015-01-051-3/+3
* Bugfix: Additional swap for compound assignment.Christian2014-12-191-0/+2
* Assertions that throw InternalCompilerErrors.Christian2014-12-171-20/+13
* Create contracts.Christian2014-12-151-0/+38
* Correctly check for string prefix plus indentation change.Christian2014-12-151-1/+1
* Calls to bare contracts.Christian2014-12-131-56/+66
* Merge remote-tracking branch 'ethereum/develop' into sol_swapConstantsChristian2014-12-131-16/+24
|\
| * Merge remote-tracking branch 'ethereum/develop' into sol_stringsChristian2014-12-111-19/+19
| |\
| * | Helper functions to access memory.Christian2014-12-111-21/+15
| * | String types.Christian2014-12-101-4/+18
* | | Swap literals to the end if optimizing.Christian2014-12-121-6/+20
| |/ |/|
* | Merge pull request #577 from chriseth/sol_constCleanupchriseth2014-12-111-19/+19
|\ \ | |/ |/|
| * Clear separation between ASTVisitor and ASTConstVisitor and more const specif...Christian2014-12-081-1/+1
| * Const AST visitor for the compiler.Christian2014-12-081-18/+18
* | Const change.chriseth2014-12-101-1/+1
* | Variable-size stack elements for expression compiler.Christian2014-12-091-15/+53
* | Calling functions of other contracts.Christian2014-12-081-53/+86
|/
* Warning fix.Gav Wood2014-11-281-1/+1
* Global functions.Christian2014-11-261-10/+45
* Sending ether.Christian2014-11-261-23/+56
* More general function types and references.Christian2014-11-261-5/+5
* Access to blockchain data.Christian2014-11-241-3/+28
* Magic variables.Christian2014-11-241-28/+57
* Contracts as types and framework for special global variables.Christian2014-11-241-3/+11
* Convenience class for type members.Christian2014-11-241-4/+1
* Struct types.Christian2014-11-141-4/+13
* Mapping types.Christian2014-11-141-59/+118
* Merge remote-tracking branch 'ethereum/develop' into sol_stateVariablesChristian2014-11-101-33/+19
|\
| * Evaluate expressions in convenient order.Christian2014-11-071-32/+19
* | State variables.Christian2014-11-081-48/+79
|/
* Removed superfluous braces.chriseth2014-11-071-2/+0
* Re-added some changes lost in merges.Christian2014-11-071-2/+1
* Stylistic changes.chriseth2014-11-071-2/+0
* Type promotion fixes and tests.Christian2014-11-061-11/+5
* Proper type promotion and conversion.Christian2014-11-061-27/+54
* Allow implicit type conversions for comparisons.Christian2014-11-061-14/+7
* Converted all asserts to exceptions.Christian2014-11-051-29/+29
* Some tests and bugfixes for the compiler.Christian2014-11-031-0/+1
* Bugfix: Swap before mod and div.Christian2014-11-031-2/+2
* Merge remote-tracking branch 'ethereum/develop' into sol_contractCompilerChristian2014-11-011-6/+6
* Renamed file.Christian2014-10-311-0/+1
* Contract compiler and also add ExpressionStatement to AST.Christian2014-10-301-0/+408