aboutsummaryrefslogtreecommitdiffstats
path: root/AST.h
Commit message (Collapse)AuthorAgeFilesLines
* contract documentation is now parsing during compilation and not by request.Liana Husikyan2015-07-161-0/+10
|
* Struct constructors.chriseth2015-07-031-2/+4
|
* Style.chriseth2015-06-151-1/+2
|
* Distinction between storage pointer and storage ref and type checking for ↵chriseth2015-06-151-29/+51
| | | | conversion between storage and memory.
* Add missing override specifiers.Paweł Bylica2015-06-081-1/+1
|
* Style.chriseth2015-06-051-5/+5
|
* Ability to specify the storage location of a reference type.chriseth2015-06-051-4/+13
|
* style changesLiana Husikyan2015-05-081-1/+1
|
* changed the way of resolving declarations. now the cleanup of function ↵Liana Husikyan2015-05-081-4/+4
| | | | duplications in libsolidity/NameAndTypeResolver.cpp(WIP)
* Move assembly related files to libevmasm and Params.h/.cpp to libevmcore.chriseth2015-04-301-1/+1
|
* removed an unnecessary functionLiana Husikyan2015-04-271-3/+0
|
* fixed the output of the testLiana Husikyan2015-04-271-0/+3
|
* Merge pull request #1699 from chriseth/sol_fix_contractTypesAsArgumentsGav Wood2015-04-211-6/+5
|\ | | | | Fix for Contract and Enum types as external function arguments.
| * Fix for Contract and Enum types as external function arguments.chriseth2015-04-211-6/+5
| |
* | Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctionschriseth2015-04-201-2/+3
|\| | | | | | | | | | | Conflicts: libsolidity/AST.cpp libsolidity/AST.h
| * Adding forgotten virtual specifier to EnumValue getType()Lefteris Karapetsas2015-04-171-1/+1
| |
| * Check all constructors in inheritance chain get argsLefteris Karapetsas2015-04-171-1/+2
| | | | | | | | - Also add a missing override in a function of EnumValue
| * Allowing abstract contracts constructor to have no argsLefteris Karapetsas2015-04-171-1/+1
| | | | | | | | | | | | | | | | - If a constructor is part of an abstract contract we can omit its arguments - IF a contract is abstract make sure to not create and/or request Assembly code about it since it's not compiled
* | Fixed function overloads.chriseth2015-04-151-21/+42
| | | | | | | | | | Added tests, disallowed non-calling usage of non-unique function references.
* | Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctionschriseth2015-04-071-43/+92
|\|
| * Merge pull request #1414 from LefterisJP/sol_notImplementedFuncschriseth2015-03-311-28/+54
| |\ | | | | | | Interface contracts
| | * Abstract contract and inheritanceLefteris Karapetsas2015-03-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Checking the linearized base contracts for abstract functions and handle their existence appropriately - If a contract is abstract it can't be created with new - An abstract contract is not compiled (no backend code is generated) - Of course tests
| | * Moving contract fullyImplemented check to TypeRequirementsLefteris Karapetsas2015-03-271-5/+5
| | |
| | * Parsing of not fully implemented functionsLefteris Karapetsas2015-03-251-30/+55
| | | | | | | | | | | | | | | | | | | | | | | | - Adding the possibility of omitting a function body by simply ending a function definition with a semicolon - Such a function is marked as not fully implemented and any contract that contains such a function is considered a not fully implemented contract
| * | added externalTypes function to functionTypeLiana Husikyan2015-03-271-2/+2
| | | | | | | | | | | | removed flag for externalSigniture
| * | two more testsLiana Husikyan2015-03-261-1/+1
| | | | | | | | | | | | style fixes
| * | tests for external typesLiana Husikyan2015-03-251-2/+2
| | |
| * | renamed externalTypes to externalSignatureLiana Husikyan2015-03-251-3/+3
| | |
| * | renamed getCanonicalSignatureLiana Husikyan2015-03-251-1/+1
| |/ | | | | | | | | | | | | | | added externalTypes instead of types for interface functions added simple test todo testing
| * added test to check anonymous events with user specified topicsLiana Husikyan2015-03-171-1/+1
| | | | | | | | added initial value for m_anonymous of EventDefinition
| * added anonymous to ABILiana Husikyan2015-03-171-1/+1
| |
| * changed the position of 'anonymous' keyword: event <name>() anonymous.Liana Husikyan2015-03-171-6/+11
| | | | | | | | - style changes
| * Added anonymous flag to event.Liana Husikyan2015-03-171-2/+5
| | | | | | | | added test
| * restyleingLiana Husikyan2015-03-161-8/+9
| | | | | | | | removed unnecessary check
| * - added more tests to check constant specifier implementationLiana Husikyan2015-03-161-1/+0
| | | | | | | | | | | | - deny use of const for local variables - deny unitialized const variables - only int, fixed strings, and enums can be declaired as const
| * - added isPartOfExternalInterface to DeclarationLiana Husikyan2015-03-161-0/+4
| | | | | | | | | | - changed position for the constant specifier. now it goes after type: <type> <constant> <name> = <value> - removed tests for constant functions, checkings for constant function doesn't belong to this story
| * added parsing for constant variablesLiana Husikyan2015-03-161-8/+19
| |
* | make it work for var x = f;Lu Guanqun2015-03-081-1/+1
| |
* | implement overload resolutionLu Guanqun2015-03-081-4/+11
| |
* | mark an identifier as callable if its next token is '('Lu Guanqun2015-03-081-2/+5
|/
* Fix type checks for storage variable initializer.chriseth2015-03-061-1/+0
|
* Add date/time language to solidity.Gav Wood2015-03-061-1/+7
|
* removed unused memberLiana Husikyan2015-03-021-1/+1
| | | | | added some comments for ModifierInvocation::checkTypeRequirements cleanup
* Implemented passing arguments to the base constructor.Liana Husikyan2015-03-021-2/+3
|
* Using normal pointer in getInheritableMembers()Lefteris Karapetsas2015-03-021-2/+2
|
* VisibleInDerivedContracts() is now virtual()Lefteris Karapetsas2015-03-021-1/+6
| | | | - Plus an extra test for internal visibility in a base class variable
* Adding inheritable members to a contractLefteris Karapetsas2015-03-021-0/+4
|
* Move SourceLocation to evmcoreLefteris Karapetsas2015-02-251-1/+1
|
* Changes after rebase on top of Array ParsingLefteris Karapetsas2015-02-251-1/+1
|
* Moving Source Location libdevcoreLefteris Karapetsas2015-02-251-47/+47
| | | | - Big plus is we now remove the useless header libsolibity/BaseTypes.h
* Merge pull request #1100 from chriseth/sol_arraysGav Wood2015-02-231-6/+27
|\ | | | | Parsing support for arrays.
| * Allow conversion to dynamic arrays and update grammar.Christian2015-02-221-1/+1
| |
| * Parsing of array types and basic implementation.Christian2015-02-211-5/+26
| |
* | Replaced "inheritable" by "internal".Christian2015-02-231-3/+3
|/
* corrected accept for variableDeclarationLiana Husikyan2015-02-211-1/+1
| | | | changes after code review
* Inline member initialisationLiana Husikyan2015-02-211-10/+15
| | | | | renamed VariableDefinition class to VariableDeclarationStatement added tests
* Bugfix for functions overrideLefteris Karapetsas2015-02-201-1/+1
| | | | | | | - 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
* Rename "protected" to "inheritable".Christian2015-02-181-3/+3
|
* No write access to parameters of external functions.Christian2015-02-171-9/+7
|
* "external" visibility specifier.Christian2015-02-171-2/+5
|
* Some changes to enums.Christian2015-02-141-4/+0
|
* Moving getMemberValue from EnumDefinition to EnumTypeLefteris Karapetsas2015-02-141-3/+0
|
* Addressing issues with Enums in SolidityLefteris Karapetsas2015-02-141-15/+15
|
* Typo in EnumValueLefteris Karapetsas2015-02-141-7/+7
|
* EnumDeclaration -> EnumValueLefteris Karapetsas2015-02-141-5/+5
|
* Enum type conversion and member value access.Lefteris Karapetsas2015-02-141-0/+3
| | | | | | - Added tests for the type conversion part. - Enum member value access still needs some work
* Introducing EnumType and some Parser testsLefteris Karapetsas2015-02-141-1/+1
|
* Parsing an enum AST nodeLefteris Karapetsas2015-02-141-1/+4
|
* Parsing enums for Solidity - WIPLefteris Karapetsas2015-02-141-0/+38
|
* ExpressionCompiler's enums to CamelCaseLefteris Karapetsas2015-02-091-11/+11
|
* Changing Solidity Code to use CamelCase enum valuesLefteris Karapetsas2015-02-091-1/+1
|
* - implemented Empty parameter name story. Now the name of input/return ↵Liana Husikyan2015-02-091-1/+1
| | | | | | | | | | parameters of function can be not specified. - added appropriate tests Conflicts: test/SolidityEndToEndTest.cpp test/SolidityNameAndTypeResolution.cpp
* remove AST.h Utils.h's x permissionguanqun2015-02-071-0/+0
|
* Some fixes for the ether units parser.Christian2015-02-061-1/+2
|
* More style changes in enumsLefteris Karapetsas2015-02-061-5/+5
|
* Minor Style fixesLefteris Karapetsas2015-02-061-7/+9
|
* Adding ether subdenominations after constan literalsLefteris Karapetsas2015-02-051-3/+13
|
* Fixes for named-args.Gav Wood2015-02-041-3/+3
|
* Merge branch 'named-args' of https://github.com/guanqun/cpp-ethereum into ↵Gav Wood2015-02-041-2/+4
|\ | | | | | | guanqun-named-args
| * implement named argumentsLu Guanqun2015-01-301-2/+4
| |
* | Visibility specifiers.Christian2015-02-031-14/+21
| |
* | Make tests resistant to changes in order of declaration.Christian2015-02-011-2/+0
| |
* | Merge pull request #913 from arkpar/sol_abi_fixGav Wood2015-02-011-0/+2
|\ \ | | | | | | Fixed json ABI generation for events
| * | json and solidity ABI generted for eventsarkpar2015-01-311-0/+2
| | |
* | | Fix scoping of event arguments.Christian2015-01-311-1/+1
|/ /
* | Merge branch 'develop' of github.com:ethereum/cpp-ethereum into developGav Wood2015-01-301-6/+43
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: test/SolidityEndToEndTest.cpp test/SolidityNameAndTypeResolution.cpp test/SolidityParser.cpp
| * | Whitespace and error messages.Christian2015-01-301-3/+3
| | |
| * | Code generation for events.Christian2015-01-301-1/+0
| | |
| * | Parsing of events.Christian2015-01-301-5/+43
| | |
* | | Fallback functions.Christian2015-01-301-1/+3
|/ /
* | Minor fixes plus a rebase merge fixLefteris Karapetsas2015-01-301-0/+31
| |
* | Removing Function and Param DescriptionLefteris Karapetsas2015-01-301-100/+3
| | | | | | | | | | | | | | - 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-3/+3
|/ | | | | | | | | - 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
* Common class that contains AST node documentations.Christian2015-01-291-36/+44
|
* Various fixes pertaining to State Variable accessorsLefteris Karapetsas2015-01-291-5/+6
|
* Fixes after rebasing on developLefteris Karapetsas2015-01-291-0/+4
|
* Adding isStateVariable attribute to a VarDeclLefteris Karapetsas2015-01-291-2/+4
|
* Various small fixes for Sol Automatic AccessorsLefteris Karapetsas2015-01-291-3/+0
|
* Modifications to Mix to adapt to FunctionDescriptionLefteris Karapetsas2015-01-291-1/+5
|
* State variable accessors code is now more organizedLefteris Karapetsas2015-01-291-7/+47
| | | | | | | | | | | | | - 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-7/+28
| | | | | | | | | - 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
* Compilation of function modifiers.Christian2015-01-261-6/+2
|
* Type resolution for function modifiers.Christian2015-01-261-17/+67
|
* Function modifier parsing.Christian2015-01-261-1/+52
|
* Style changes.Christian2015-01-211-1/+2
|
* Include virtual function overrides in constructor context.Christian2015-01-201-2/+4
|
* Constructor arguments for base classes.Christian2015-01-201-3/+23
|
* Explicit calls to base class function.Christian2015-01-201-5/+14
|
* Check overrides and provide inherited public interface.Christian2015-01-201-3/+6
|
* Import inherited members into the contract's scope.Christian2015-01-201-0/+8
|
* Inheritance parser.Christian2015-01-201-0/+3
|
* Merge pull request #799 from chriseth/sol_gasAndValuechriseth2015-01-151-7/+3
|\ | | | | Specify gas and value for function calls and contract creation calls.
| * Specify value for contract creation.Christian2015-01-141-7/+3
| |
* | Check for hash collisions already before compiling.Christian2015-01-141-0/+2
|/
* fixed warnings for msvc buildarkpar2015-01-131-0/+0
|
* Solidity getInterfaceFunctions is now a map of hash to FunctionLefteris Karapetsas2015-01-071-2/+3
| | | | | | | - 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-5/+4
| | | | - Also added an extra test
* Creating the canonical signature of a function, for later use in the ABILefteris Karapetsas2015-01-071-0/+6
|
* Assertions that throw InternalCompilerErrors.Christian2014-12-171-8/+8
|
* Solidity ForStatement Compiler partLefteris Karapetsas2014-12-171-0/+5
| | | | - Work in progress
* Minor issues, grammar update, new ForStatement testLefteris Karapetsas2014-12-171-0/+7
|
* ForStatement typecheck and initExpression is a StatementLefteris Karapetsas2014-12-171-2/+2
|
* Adding a ForStatement solidity AST Node.Lefteris Karapetsas2014-12-171-0/+24
| | | | | | | - Adding ForStatement node - Implemented Parsing for ForStatement - A simple parsing test for the ForStatement - Work in progress
* Stylistic changes.Christian2014-12-161-1/+1
|
* Check that constructor does not have "returns" directive.Christian2014-12-151-0/+4
|
* Create contracts.Christian2014-12-151-0/+28
|
* Merge pull request #586 from LefterisJP/natspec_contract_tagschriseth2014-12-111-1/+8
|\ | | | | Natspec title and author tag.
| * Natspec title and author tag.Lefteris Karapetsas2014-12-101-1/+8
| | | | | | | | | | | | - Adding the title and author natspec documentation tags for contracts - Also using the author tag for functions now - Tests
* | More const cleanup.Christian2014-12-081-10/+10
| |
* | Clear separation between ASTVisitor and ASTConstVisitor and more const ↵Christian2014-12-081-58/+61
| | | | | | | | specifiers.
* | Const AST visitor for the compiler.Christian2014-12-081-3/+3
| |
* | Const functions for ASTVisitor and const ASTPrinter.Christian2014-12-081-3/+36
|/
* Renamed url to identifier and added some comments.Christian2014-12-051-4/+6
|
* Merge remote-tracking branch 'ethereum/develop' into sol_importChristian2014-12-051-1/+1
|\ | | | | | | | | | | | | Conflicts: libsolidity/CompilerStack.cpp libsolidity/CompilerStack.h solc/main.cpp
| * Merge branch 'develop' into natspec_export_jsonLefteris Karapetsas2014-12-051-6/+17
| |\
| * | Exporting Natspec documentation to a JSON interfaceLefteris Karapetsas2014-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Adding a getDocumentation() function to solidity compiler stack so that we can obtain the natspec interface for a contract - Adding libjsoncpp as a dependency of libsolidity. This is done in a dirty way, using libjsonrpc-cpp s an intermediate dependency for the moment. Will fix soon. - Start of a test file for Natspec exporting to JSON
* | | Import directive.Christian2014-12-031-0/+34
| |/ |/|
* | Disallow assignments to structs and mappings.Christian2014-12-021-5/+11
| |
* | Save the scope for every declaration.Christian2014-12-021-1/+6
|/
* Solidity FunctionDefinition used ASTString shared ptr for docstringsLefteris Karapetsas2014-11-281-5/+10
|
* Solidity function AST nodes get documentation attributeLefteris Karapetsas2014-11-271-7/+13
|
* Global functions.Christian2014-11-261-7/+4
|
* Whitespace change.chriseth2014-11-241-2/+3
|
* Magic variables.Christian2014-11-241-0/+22
|
* Contracts as types and framework for special global variables.Christian2014-11-241-7/+13
|
* Struct types.Christian2014-11-141-2/+3
|
* Mapping types.Christian2014-11-141-5/+21
|
* Provide interface for calls in JSON and some other formatting changes.Christian2014-11-121-0/+2
|
* State variables.Christian2014-11-081-3/+5
|
* Merge remote-tracking branch 'ethereum/develop' into sol_typePromotionChristian2014-11-071-2/+2
|\
| * Minor cleanup.Christian2014-11-061-2/+2
| |
* | Allow implicit type conversions for comparisons.Christian2014-11-061-0/+3
|/
* Converted all asserts to exceptions.Christian2014-11-051-6/+26
|
* Added doxygen comment.chriseth2014-11-051-0/+1
|
* Stylistic changes.chriseth2014-11-041-1/+4
|
* Merge remote-tracking branch 'ethereum/develop' into sol_contractCompilerChristian2014-11-011-52/+98
|\ | | | | | | | | | | | | | | | | | | | | | | 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
| * Corrected doxygen post comments.Christian2014-10-311-2/+2
| |
| * Further const placement changes.Christian2014-10-301-3/+3
| |
| * Asterisk-syntax for doxygen class documentation.Christian2014-10-281-45/+95
| |
| * Stylistic corrections.Christian2014-10-281-11/+11
| |
* | Contract compiler and also add ExpressionStatement to AST.Christian2014-10-301-15/+50
| | | | | | | | | | | | | | | | 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-1/+8
|/
* Documentation for AST, Parser, Scanner and other classes.Christian2014-10-251-12/+64
|
* Expression compiler.Christian2014-10-251-0/+13
|
* Remove nullptr comparisons.Christian2014-10-241-1/+1
|
* Use createTypeError everywhere and stream out Location.Christian2014-10-241-2/+1
|
* Use boost errinfo.Christian2014-10-241-2/+7
|
* Corrected spacing around colon.Christian2014-10-231-57/+56
|
* Access modifier cleanup.Christian2014-10-201-0/+24
|
* Pointer type cleanup: Use ASTPointer only for AST nodes and shared_ptr for typeChristian2014-10-201-108/+109
| | | | pointer.
* Coding style cleanup: const and vecptr.Christian2014-10-201-20/+20
|
* Coding style and cleanupChristian2014-10-171-79/+59
|
* Corrected coding style.Christian2014-10-161-16/+21
|
* Type system, not yet complete.Christian2014-10-161-33/+90
|
* Name resolution.Christian2014-10-131-1/+16
|
* AST printer and command line tool, some fixes.Christian2014-10-101-34/+84
|
* Initial implementation of Solidity parser finished, not yet tested much.Christian2014-10-101-19/+91
|
* Corrected indentation.Christian2014-10-091-114/+114
|
* Parse everything up to function bodies and report parser errors with location.Christian2014-10-091-24/+67
|
* Solidity parser, can not parse much yet.Christian2014-10-081-0/+287