aboutsummaryrefslogtreecommitdiffstats
path: root/AST.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Index and length access for dynamic arrays.Christian2015-02-241-1/+11
|
* Allow conversion to dynamic arrays and update grammar.Christian2015-02-221-1/+21
|
* Index access.Christian2015-02-211-7/+22
|
* Inline member initialisationLiana Husikyan2015-02-211-7/+15
| | | | | renamed VariableDefinition class to VariableDeclarationStatement added tests
* Bugfix for functions overrideLefteris Karapetsas2015-02-201-15/+4
| | | | | | | - Functions with byte array type parameters can now be safely overriden. Parameter location is now set at the right place. - Also made a test for the fix
* Calldata byte arrays stored on the stack.Christian2015-02-171-0/+9
|
* No write access to parameters of external functions.Christian2015-02-171-9/+19
|
* Some changes to enums.Christian2015-02-141-13/+0
|
* Moving getMemberValue from EnumDefinition to EnumTypeLefteris Karapetsas2015-02-141-13/+0
|
* Addressing issues with Enums in SolidityLefteris Karapetsas2015-02-141-1/+2
|
* Typo in EnumValueLefteris Karapetsas2015-02-141-4/+4
|
* implement getType() for EnumValueLefteris Karapetsas2015-02-141-2/+2
|
* EnumDeclaration -> EnumValueLefteris Karapetsas2015-02-141-4/+4
|
* Enum Value member access should now work properlyLefteris Karapetsas2015-02-141-6/+8
| | | | | - Also detection of duplicate enum values and tests for them have been added
* Enum type conversion and member value access.Lefteris Karapetsas2015-02-141-0/+13
| | | | | | - Added tests for the type conversion part. - Enum member value access still needs some work
* Introducing EnumType and some Parser testsLefteris Karapetsas2015-02-141-4/+2
|
* Parsing an enum AST nodeLefteris Karapetsas2015-02-141-1/+9
|
* Parsing enums for Solidity - WIPLefteris Karapetsas2015-02-141-0/+16
|
* Copying structs.Christian2015-02-131-4/+2
|
* Tests and some code for msg.data.Christian2015-02-121-1/+2
|
* Arbitrary parameters for call() and all hash functions.Christian2015-02-101-4/+5
|
* Merge pull request #986 from LefterisJP/sol_StyleFixchriseth2015-02-101-14/+14
|\ | | | | Solidity enum style fix
| * Addressing issues in Enum style fixLefteris Karapetsas2015-02-101-2/+2
| |
| * ExpressionCompiler's enums to CamelCaseLefteris Karapetsas2015-02-091-4/+4
| |
| * Camelcasing enums in Types.hLefteris Karapetsas2015-02-091-1/+1
| |
| * Changing Solidity Code to use CamelCase enum valuesLefteris Karapetsas2015-02-091-10/+10
| |
* | Merge pull request #981 from chriseth/sol_cleanupchriseth2015-02-091-11/+9
|\ \ | |/ |/| Small cleanup.
| * Small cleanup.Christian2015-02-091-11/+9
| |
* | - removed unnesessary braces but one in if statement is still there because ↵Liana Husikyan2015-02-091-3/+0
| | | | | | | | | | | | | | | | | | of warrning about ambiguous "else" - added marking of position in node factory to the function Conflicts: libsolidity/Parser.cpp
* | - implemented Empty parameter name story. Now the name of input/return ↵Liana Husikyan2015-02-091-4/+15
|/ | | | | | | | | | parameters of function can be not specified. - added appropriate tests Conflicts: test/SolidityEndToEndTest.cpp test/SolidityNameAndTypeResolution.cpp
* Merge pull request #937 from LefterisJP/sol_MultiArgSHA3chriseth2015-02-091-2/+5
|\ | | | | Solidity multiple arg sha3
| * SHA3 of string literals now should workLefteris Karapetsas2015-02-061-12/+2
| |
| * appendArgumentsCopyToMemory() has more complicated logic nowLefteris Karapetsas2015-02-061-4/+4
| | | | | | | | - Plus other fixes.
| * Fixes after rebaseLefteris Karapetsas2015-02-061-1/+1
| |
| * Renaming a function for clarityLefteris Karapetsas2015-02-061-1/+1
| |
| * Solidity SHA3 can now take multiple argumentsLefteris Karapetsas2015-02-061-3/+16
| |
* | Some fixes for the ether units parser.Christian2015-02-061-11/+0
| |
* | Merge pull request #963 from guanqun/disallow-void-varchriseth2015-02-061-0/+2
|\ \ | |/ |/| Disallow implicit declaration of void type.
| * disallow declaration of void typeLu Guanqun2015-02-061-0/+2
| | | | | | | | https://www.pivotaltracker.com/n/projects/1189488/stories/86318578
* | Merge pull request #953 from LefterisJP/sol_ethSubDenominationsGav Wood2015-02-061-0/+11
|\ \ | |/ |/| Solidity ether subdenominations
| * More style changes in enumsLefteris Karapetsas2015-02-061-1/+1
| |
| * Minor Style fixesLefteris Karapetsas2015-02-061-3/+3
| |
| * Tests for ether subdenominations. Work in progressLefteris Karapetsas2015-02-051-4/+4
| |
| * Adding ether subdenominations after constan literalsLefteris Karapetsas2015-02-051-0/+11
| |
* | fix string comparision bug revealed by previous test caseLu Guanqun2015-02-051-1/+1
|/ | | | This is due to refactoring of m_names using ASTPointer.
* Fixes for named-args.Gav Wood2015-02-041-1/+1
|
* Merge branch 'named-args' of https://github.com/guanqun/cpp-ethereum into ↵Gav Wood2015-02-041-3/+40
|\ | | | | | | guanqun-named-args
| * implement named argumentsLu Guanqun2015-01-301-3/+40
| |
* | Visibility specifiers.Christian2015-02-031-1/+1
| |
* | json and solidity ABI generted for eventsarkpar2015-01-311-0/+17
| |
* | Merge branch 'develop' of github.com:ethereum/cpp-ethereum into developGav Wood2015-01-301-0/+14
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: test/SolidityEndToEndTest.cpp test/SolidityNameAndTypeResolution.cpp test/SolidityParser.cpp
| * | Parsing of events.Christian2015-01-301-0/+14
| | |
* | | Fallback functions.Christian2015-01-301-2/+16
|/ /
* | Minor fixes plus a rebase merge fixLefteris Karapetsas2015-01-301-3/+2
| |
* | Removing Function and Param DescriptionLefteris Karapetsas2015-01-301-100/+2
| | | | | | | | | | | | | | - Removing FunctionDescription and ParamDescription. All the data should now be in the FunctionType - Plus using the FunctionTypePointer alias in a few places
* | Contract Interface Functions now return FunctionTypeLefteris Karapetsas2015-01-301-10/+11
|/ | | | | | | | | - Enchanced Function Type by declaration so that it can provide all the required information at each place interface functions are consumed - Changed all places where interface functions was used. - Simplified Mix's FunctionDefinition code
* Various fixes pertaining to State Variable accessorsLefteris Karapetsas2015-01-291-3/+3
|
* Explicitly specify insertion to exported functionsLefteris Karapetsas2015-01-291-1/+1
|
* Fixes after rebasing on developLefteris Karapetsas2015-01-291-2/+2
|
* All interface functions are external.Lefteris Karapetsas2015-01-291-1/+1
|
* Various small fixes for Sol Automatic AccessorsLefteris Karapetsas2015-01-291-13/+1
|
* Modifications to Mix to adapt to FunctionDescriptionLefteris Karapetsas2015-01-291-0/+10
|
* State variable accessors code is now more organizedLefteris Karapetsas2015-01-291-13/+102
| | | | | | | | | | | | | - 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-11/+37
| | | | | | | | | - 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
* Cleaner solution to provide standard sources.Christian2015-01-281-2/+1
|
* Compilation of function modifiers.Christian2015-01-261-2/+3
|
* Type resolution for function modifiers.Christian2015-01-261-45/+78
|
* Function modifier parsing.Christian2015-01-261-0/+5
|
* Include virtual function overrides in constructor context.Christian2015-01-201-4/+3
|
* Constructor arguments for base classes.Christian2015-01-201-0/+19
|
* Explicit calls to base class function.Christian2015-01-201-2/+3
|
* Check overrides and provide inherited public interface.Christian2015-01-201-8/+35
|
* Merge pull request #799 from chriseth/sol_gasAndValuechriseth2015-01-151-11/+4
|\ | | | | Specify gas and value for function calls and contract creation calls.
| * Specify value for contract creation.Christian2015-01-141-11/+4
| |
* | Check for hash collisions already before compiling.Christian2015-01-141-8/+30
|/
* Remove const from make_shared to allow enable_shared_from_this to work on MacOS.Christian2015-01-091-5/+5
|
* Arbitrary precision integer constants.Christian2015-01-091-3/+17
|
* Possibility for unary operators to change type.Christian2015-01-091-2/+2
|
* Use shared_from_this instead of manually supplying a shared_ptr to this.Christian2015-01-091-3/+3
|
* Fixing a solAssert in getInterfacefunctions()Lefteris Karapetsas2015-01-091-2/+1
|
* Adjustments to Solidity compiler code for Function HashLefteris Karapetsas2015-01-091-1/+3
|
* merging developLefteris Karapetsas2015-01-091-20/+15
|\
| * Merge pull request #738 from LefterisJP/sol_abiFunctionHashGav Wood2015-01-071-0/+5
| |\ | | | | | | Canonical Function signature creation in solidity
| * | Possibility for binary operators to yield types different from their operands'.Christian2014-12-191-20/+15
| | |
* | | Solidity getInterfaceFunctions is now a map of hash to FunctionLefteris Karapetsas2015-01-071-8/+8
| |/ |/| | | | | | | | | | | - Also introduced dependency between libsolidity and libdevcrypto - Compler's appendFunctionSelector now has a first version of using function signature hash instead of index
* | Small issues with Canonical Function SignatureLefteris Karapetsas2015-01-071-7/+2
| | | | | | | | - Also added an extra test
* | FunctionType also gets CanonicalSignatureLefteris Karapetsas2015-01-071-11/+3
| | | | | | | | - also using iterators in the signature creation function
* | Test for the Canonical Signature of a functionLefteris Karapetsas2015-01-071-0/+1
| |
* | Creating the canonical signature of a function, for later use in the ABILefteris Karapetsas2015-01-071-0/+17
|/
* Assertions that throw InternalCompilerErrors.Christian2014-12-171-5/+3
|
* ForStatement typecheck and initExpression is a StatementLefteris Karapetsas2014-12-171-2/+6
|
* 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
* Check that constructor does not have "returns" directive.Christian2014-12-151-0/+11
|
* Create contracts.Christian2014-12-151-5/+33
|
* Move implementations of ::accept out of AST.cpp.Christian2014-12-091-458/+1
|
* More const cleanup.Christian2014-12-081-9/+9
|
* Clear separation between ASTVisitor and ASTConstVisitor and more const ↵Christian2014-12-081-30/+43
| | | | specifiers.
* Const functions for ASTVisitor and const ASTPrinter.Christian2014-12-081-4/+205
|
* Import directive.Christian2014-12-031-28/+41
|
* Disallow assignments to structs and mappings.Christian2014-12-021-4/+8
|
* More general function types and references.Christian2014-11-261-6/+6
|
* Magic variables.Christian2014-11-241-9/+8
|
* Contracts as types and framework for special global variables.Christian2014-11-241-1/+35
|
* Convenience class for type members.Christian2014-11-241-7/+3
|
* We only care about member types.Christian2014-11-241-1/+1
|
* Struct types.Christian2014-11-141-2/+11
|
* Mapping types.Christian2014-11-141-7/+33
|
* Provide interface for calls in JSON and some other formatting changes.Christian2014-11-121-0/+15
|
* Merge remote-tracking branch 'ethereum/develop' into sol_typePromotionChristian2014-11-071-19/+1
|\
| * Minor cleanup.Christian2014-11-061-19/+1
| |
* | Re-added some changes lost in merges.Christian2014-11-071-1/+1
| |
* | More information for type expectation errors.Christian2014-11-061-5/+11
| |
* | Detect integer length from literals and remove "std::".Christian2014-11-061-0/+2
|/
* Stylistic corrections.Christian2014-11-051-1/+1
|
* Converted all asserts to exceptions.Christian2014-11-051-13/+12
|
* Stylistic changes.chriseth2014-11-041-4/+0
|
* Contract compiler and also add ExpressionStatement to AST.Christian2014-10-301-15/+28
| | | | | | | | 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.
* Bugfix: Allow empty return statements without type checking.Christian2014-10-301-0/+2
|
* Compiler for assignments.Christian2014-10-291-3/+10
|
* Removed std:: where it made sense.Christian2014-10-251-9/+11
|
* Replace BOOST_ASSERT by assert.Christian2014-10-251-8/+8
|
* Expression compiler.Christian2014-10-251-10/+13
|
* Remove nullptr comparisons.Christian2014-10-241-8/+8
|
* Use createTypeError everywhere and stream out Location.Christian2014-10-241-4/+1
|
* Use boost errinfo.Christian2014-10-241-15/+19
|
* Improved exceptions and reporting exceptions for command-line compiler.Christian2014-10-231-20/+17
|
* Pointer type cleanup: Use ASTPointer only for AST nodes and shared_ptr for typeChristian2014-10-201-48/+38
| | | | pointer.
* Coding style cleanup: const and vecptr.Christian2014-10-201-1/+1
|
* Coding style and cleanupChristian2014-10-171-25/+4
|
* Corrected coding style.Christian2014-10-161-55/+88
|
* Some fixes for the type system, should be quite usable now.Christian2014-10-161-1/+1
|
* Added meaningful exception types.Christian2014-10-161-13/+23
|
* Type system, not yet complete.Christian2014-10-161-14/+230
|
* AST printer and command line tool, some fixes.Christian2014-10-101-0/+232
|
* Corrected indentation.Christian2014-10-091-11/+11
|
* Solidity parser, can not parse much yet.Christian2014-10-081-0/+23