aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1464 from federicobond/warn-msgvaluechriseth2016-12-111-0/+2
|\ | | | | Warn about using msg.value in non-payable function
| * Warn about using msg.value in non-payable functionFederico Bond2016-12-091-0/+2
| |
* | Fix names of JSON AST nodesFederico Bond2016-12-111-2/+2
|/
* Add swarm hash to the end of the bytecode.chriseth2016-12-011-0/+1
|
* Metadata stamp.chriseth2016-12-012-0/+12
|
* Rename dev::validate to dev::validateUTF8Alex Beregszaszi2016-11-292-3/+3
|
* Make position optional in dev::validateAlex Beregszaszi2016-11-292-4/+2
|
* Indentation.chriseth2016-11-251-1/+1
|
* ast: string literals that are not valid UTF are not convertible to stringsYoichi Hirai2016-11-252-1/+10
|
* Fix licensing headersVoR02202016-11-2315-60/+60
| | | | Signed-off-by: VoR0220 <rj@erisindustries.com>
* Some more assertions and style changes.chriseth2016-11-161-16/+25
|
* Change encoding to address-funid and add "function" as ABI type.chriseth2016-11-163-3/+9
|
* Check that no internals are used in any external function type.chriseth2016-11-162-0/+28
|
* Disallow payable internal functions.chriseth2016-11-161-1/+3
|
* delete for function typeschriseth2016-11-162-0/+8
|
* Change alignment.chriseth2016-11-161-1/+1
|
* Changelog entry and small fixes.chriseth2016-11-162-5/+8
|
* Fix some type checks and tests for internal / external function parameters.chriseth2016-11-161-3/+3
|
* Code generator for function types.chriseth2016-11-162-1/+12
|
* Function types.chriseth2016-11-1610-6/+159
|
* Move InterfaceHandler from string to JSONAlex Beregszaszi2016-11-152-10/+11
|
* Print canonical names of structs and enums in ASTAlex Sinyagin2016-11-141-2/+2
|
* ast, codegen: disallow conversion between different enum typesYoichi Hirai2016-11-121-1/+1
|
* ast: add EnumType::numberOfMembers()Yoichi Hirai2016-11-122-1/+7
|
* Type checker: move the burden of computing mobile type to commonTypeYoichi Hirai2016-11-111-4/+4
| | | | This solves #621
* Add support for do/while loopsRhett Aultman2016-11-103-4/+12
| | | | | | | This commit adds support for a standard do <statement> while <expr>; form of statement. While loops were already being supported; supporting a do/while loop mostly involves reusing code from while loops but putting the conditional checking last.
* add payable to ASTyann3002016-11-031-1/+2
|
* ast: ban signed EXP, fixing #1246Yoichi Hirai2016-10-251-1/+4
|
* More checks for missing mobile type.chriseth2016-10-241-2/+14
|
* Fix crash in throw.chriseth2016-10-241-1/+1
|
* Merge pull request #1240 from ethereum/1151chriseth2016-10-241-1/+5
|\ | | | | ast: super contract type does not contain native members
| * ast: simplifications suggested by @chrisethYoichi Hirai2016-10-201-7/+4
| |
| * When a contract type is super, its members do not contain the functions of ↵Yoichi Hirai2016-10-201-1/+8
| | | | | | | | | | | | itself Fixes #1151
* | ast: add a null checkYoichi Hirai2016-10-211-0/+1
| |
* | ast: ContractDefinition::inheritableMembers contains enums as well as structsYoichi Hirai2016-10-211-0/+3
| | | | | | | | This fixes #1131
* | Support variable references within modifiers for inline assemblyAlex Beregszaszi2016-10-211-1/+1
|/
* Use >> (SAR) to denote constant shiftsAlex Beregszaszi2016-10-201-1/+3
|
* Reject negative shifts within constantsAlex Beregszaszi2016-10-201-4/+8
|
* Support shifting constantsRJ2016-10-201-0/+22
|
* Omit non-convertible bound functionsAlex Beregszaszi2016-10-191-1/+2
|
* Ensure that bound functions cannot be defined without self typeAlex Beregszaszi2016-10-192-2/+11
|
* `super`'s size on stack is zero, because the expression compiler does not ↵Yoichi Hirai2016-10-181-0/+1
| | | | | | push an address. This is different from `this`, which is translated to `ADDRESS` instruction.
* Check if a fixedBytes fits an integer typeYoichi Hirai2016-10-141-1/+5
| | | | | | before looking up the size of the integer type. Fixes #1150.
* Rename dev::sha3 to dev::keccak256Alex Beregszaszi2016-10-062-2/+2
|
* Include assert for selfType on bound functions to avoid crashAlex Beregszaszi2016-09-071-1/+2
|
* Merge pull request #665 from axic/feature/accept-etherchriseth2016-09-063-31/+91
|\ | | | | BREAKING: Add payable modifier
| * Change function type to include and propagate payable and constant modifier.chriseth2016-09-062-18/+68
| |
| * Merged in changes from chriseth/payableAlex Beregszaszi2016-09-061-14/+17
| |
| * Support payable keyword for functionsAlex Beregszaszi2016-09-063-0/+7
| |
* | Do not emit non-utf8 strings for ast json.chriseth2016-09-021-2/+15
|/
* Version pragma.chriseth2016-09-018-0/+74
|
* JSON AST: Some attribute cleanup. Add linearized base contracts.chriseth2016-08-192-36/+35
|
* Rename root AST JSON node to SourceUnitAlex Sinyagin2016-08-181-1/+1
|
* Do not add children to EnumValue and PlaceholderStatement elements in JSON ASTAlex Sinyagin2016-08-181-4/+2
|
* Use the full names for JSON AST nodesAlex Sinyagin2016-08-181-11/+11
|
* Move creation of the root element of JSON AST to the SourceUnit visitorAlex Sinyagin2016-08-182-5/+18
|
* Add ast json converter for PlaceholderStatementAlex Sinyagin2016-08-182-0/+13
|
* Add ast json converter for ArrayTypeNameAlex Sinyagin2016-08-182-0/+13
|
* Add ast json converter for ModifierInvocation and EventDefinitionAlex Sinyagin2016-08-182-0/+26
|
* Add ast json converter for ModifierDefinitionAlex Sinyagin2016-08-182-0/+13
|
* Add ast json converter for EnumValueAlex Sinyagin2016-08-182-0/+13
|
* Add ast json converter for EnumDefinitionAlex Sinyagin2016-08-182-0/+13
|
* Add ast json converter for UsingForDirectiveAlex Sinyagin2016-08-182-1/+14
|
* Add a ast json converter for InheritanceSpecifierAlex Sinyagin2016-08-182-0/+13
|
* Merge pull request #844 from Denton-L/remove-afterchriseth2016-08-121-3/+2
|\ | | | | BREAKING: Remove after
| * Remove After from Types.cppDenton Liu2016-08-111-3/+2
| |
* | Fix Mapping and InlineAssembly in JSON ASTAlex Sinyagin2016-08-121-0/+2
| |
* | Fix JSON AST structureAlex Sinyagin2016-08-121-0/+1
|/
* Merge pull request #794 from chriseth/fixastsourcechriseth2016-08-102-3/+3
|\ | | | | Fix segfault in ast output.
| * Fix segfault in ast output.chriseth2016-08-092-3/+3
| |
* | Remove dev::utf8 namespaceAlex Beregszaszi2016-08-091-1/+1
| |
* | Use size_t in dev::utf8::validate()Alex Beregszaszi2016-08-091-1/+1
| |
* | Use utf8::validate in StringLiteral::toStringAlex Beregszaszi2016-08-091-0/+6
| |
* | Move LiteralString::toString from the headerAlex Beregszaszi2016-08-092-1/+6
|/
* Source location as part of AST.chriseth2016-07-212-56/+83
|
* Inaccessible dynamic typeschriseth2016-06-022-17/+29
|
* Fixes for invalid cleanups for small types.chriseth2016-05-202-14/+0
|
* updated docsVoR02202016-05-191-4/+13
| | | | | | types reference
* explicit conversion and loosening of binary operations on integer and fixed ↵VoR02202016-05-191-24/+11
| | | | | | point types...still other problems fixed some spaces and deleted lines from failing test
* current debugging infoVoR02202016-05-191-2/+20
|
* Remove unused tests and add asserts for not implemented parts in code ↵chriseth2016-05-112-5/+4
| | | | | | | | | | | | generation. quick fix on christian's rational change so that ubuntu will stop yelling be more specific with rational declaration for Windows sake rational in namespace correction for windows
* Simplify interface of RationalNumber.chriseth2016-05-112-16/+17
|
* Special case for moving sign bit to fractional part.chriseth2016-05-111-5/+10
|
* Cleanup.chriseth2016-05-111-14/+19
|
* Disallow explicit fixed->enum, but allow bytes->fixed.chriseth2016-05-111-1/+1
|
* Some cleanup.chriseth2016-05-112-60/+32
|
* Replace "unsigned int" by "unsigned".chriseth2016-05-111-9/+9
|
* Prefer mobileType() to check rational range.chriseth2016-05-112-10/+5
|
* reorganized tests and fixed mobile types and implicit conversions of ↵VoR02202016-05-101-80/+85
| | | | | | | | rationals and fixed point types one final tweak check for null types
* updated algorithm for bit finding...now to figure out literal valueVoR02202016-05-102-126/+85
| | | | | | | | | | | | tiny fixups changed location of the check got rid of extra space and fixed a couple of things added binary results bits change back literal value
* changed algorithm for finding bitsVoR02202016-05-101-29/+37
|
* much better way of doing modulusVoR02202016-05-101-8/+2
|
* added bytes conversion tests, resolved that, converted to binary scaling, ↵VoR02202016-05-102-60/+69
| | | | | | | | | | | | refactored the find algo to prevent large numbers and take into account integer bytes think we're good on solidity type name resolution now removed couts updates to documentation and more removed couts along with literal value implementation forgot semicolons
* fixing modulus and Solidity Name and Type ResolutionVoR02202016-05-102-11/+9
| | | | | | minor fixes current attempts at binary fixup
* changed names for Rational Constants and categoriesVoR02202016-05-102-28/+32
|
* currently what we haveVoR02202016-05-101-4/+8
|
* got exponents up and working with their inverse, changed a few of the ↵RJ Catalano2016-05-102-37/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | tests....something is working that likely shouldn't be slight changes to how to flip the rational negative around...still trying to figure it out tests added updated tests odd differences in trying soltest from solc binary, let me know if you can replicate test not working for odd reason fixed test problem with fixed literals...still need a way to log this error broken up the tests, added some, changed some things in types and began compiler work moar tests and prepping for rebuilding much of the types.cpp file further fixing infinite loop still happening but it's somewhere in the fixedPoint methodd fractional bits needed algo improved! Eliminated 2 errors Corrected problems with the previous commit. No infinite loops. Actually appear to have corrected an error
* size capabilities functioning properly for fixed typesRJ Catalano2016-05-101-9/+4
|
* fixed problem with var...probably a conversion problem for fixed in size ↵RJ Catalano2016-05-101-1/+1
| | | | | | | | capabilities adding fixed type tests Removing bitshift and regrouping fixed type tests together
* Rational implemented...trying to figure out exponentialRJ Catalano2016-05-101-52/+15
|
* initial work for fixed types...potentially needing a constant literal type ↵RJ Catalano2016-05-102-80/+461
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for this notation Rational implemented...trying to figure out exponential fix for token bug, also quick fix for the wei and seconds fixed problem with var...probably a conversion problem for fixed in size capabilities adding fixed type tests Removing bitshift and regrouping fixed type tests together size capabilities functioning properly for fixed types got exponents up and working with their inverse, changed a few of the tests....something is working that likely shouldn't be slight changes to how to flip the rational negative around...still trying to figure it out tests added updated tests odd differences in trying soltest from solc binary, let me know if you can replicate test not working for odd reason fixed test problem with fixed literals...still need a way to log this error broken up the tests, added some, changed some things in types and began compiler work moar tests and prepping for rebuilding much of the types.cpp file further fixing initial work for fixed types...potentially needing a constant literal type for this
* Allow calling internal functions of libraries.chriseth2016-05-041-26/+41
| | | | | | | | | | | | Internal functions of libraries can be called as if the library were a base contract of the calling contract. As the calling convention for internal functions is to not create a new call context, the code of these functions will be pulled into the context of the caller, duplicating their code. This might pull in code of further internal or even private functions. The use case for such functions is to allow libraries which can operate on memory types such that these types can also be modified in place.
* Remove log.h from solidity.chriseth2016-04-121-0/+1
|
* move libevmcore to solidityDimitry2016-04-021-1/+1
|
* Code generation (missing external access and source locations).chriseth2016-03-303-5/+28
|
* Parsing for inline assembly.chriseth2016-03-307-0/+67
|
* Do not allow value for delegatecall functions.chriseth2016-03-121-1/+1
|
* - inline and assembly keywords addedLianaHus2016-03-121-1/+1
| | | | - some style fixes
* BREAKING: Implement delegatecall and make default for library calls.chriseth2016-03-122-24/+27
|
* further optimization, splitting function into piecesRJ Catalano2016-02-191-2/+2
| | | | generating strings on the fly, changed name, and added two tests
* added const correctness to extract functions in TokenRJ Catalano2016-02-191-6/+6
| | | | | | | | | | optimizations added in more elegant solution created for m declaration ubuntu wants to get rid of 0 <= first statement...so I will change returnToken to token
* added two functions in Token to handle long identifiers, redid ↵RJ Catalano2016-02-191-3/+4
| | | | fromIdentifierOrKeyword, and made complementary changes in scanner and parser
* tests added and changes madeRJ Catalano2016-02-191-9/+5
| | | | | | fixed some silly problems in Token.cpp windows error fix
* changes to redefine the token list, the scanner, and the parser and how they ↵RJ Catalano2016-02-195-50/+51
| | | | | | | | pass around variable types of different sizes not ready for change to FixedPoint just yet made this more const correct and added a switch statement for easier reading
* style fixesLianaHus2016-02-181-12/+14
|
* Index access for bytesXX.chriseth2016-02-102-0/+6
|
* [cond-expr] add visitor related functionsLu Guanqun2016-01-235-0/+32
|
* [cond-expr] add an AST nodeLu Guanqun2016-01-233-0/+50
|
* fixed assert on EI creation for structs containing only mapping or arraysLianaHus2016-01-161-0/+4
|
* Allow aliases during import.chriseth2016-01-111-0/+4
|
* Merge pull request #317 from chriseth/pathsEverywherechriseth2016-01-042-7/+7
|\ | | | | Use paths instead of simple identifiers wherever possible.
| * Use paths instead of simple identifiers wherever possible.chriseth2015-12-222-7/+7
| |
* | Merge pull request #308 from chriseth/fixoverloadbugchriseth2015-12-211-0/+2
|\ \ | | | | | | Fix bug preventing overloads of different array types.
| * | Fix bug preventing overloads of different array types.chriseth2015-12-181-0/+2
| |/
* / Add structs and enums to contract types.chriseth2015-12-181-7/+20
|/
* Simple aliasing during import.chriseth2015-12-185-42/+112
|
* Parse complex import directives.chriseth2015-12-183-7/+23
|
* new testsRJ Catalano2015-12-161-1/+0
|
* now is compiling and passing soltest...but I think there may be a few more ↵RJ Catalano2015-12-161-1/+3
| | | | things to do
* fixed case statementsRJ Catalano2015-12-161-0/+1
|
* changing Tuple ConstructorRJ Catalano2015-12-161-2/+5
|
* updated attempt...still a bit more work to do but here's what's currentRJ Catalano2015-12-161-2/+3
|\
| * Inline array declarations completeRJ Catalano2015-12-151-2/+20
| |
* | Relative paths in import directives.chriseth2015-12-103-0/+14
| |
* | Source units are independent scopes.chriseth2015-12-101-3/+3
|/
* Code generation for calling bound methods.chriseth2015-12-011-0/+4
|
* Merge pull request #251 from chriseth/bind2chriseth2015-11-306-205/+319
|\ | | | | Bind library functions to types.
| * Also check the object type for bound functions.chriseth2015-11-293-8/+13
| |
| * Add bound functions to types.chriseth2015-11-294-203/+259
| |
| * Added the `using x for y` directive.chriseth2015-11-273-0/+53
| |
* | Introduce selfdestruct alias for suicide.chriseth2015-11-291-1/+1
|/
* Convert filter to template function.chriseth2015-11-272-60/+20
|
* Invalidate cached members if scope changes.chriseth2015-11-262-1/+3
|
* Do not store elements of a contract by AST node type.chriseth2015-11-264-61/+91
|
* Make members context-sensitive.chriseth2015-11-265-49/+50
|
* Type checking for creating new arrays.chriseth2015-11-261-4/+2
|
* Allow "new expressions" also for general type names.chriseth2015-11-263-7/+11
| | | | | | | Breaking change: If you want to send value with a contract creation, you have to use parentheses now: `(new ContractName).value(2 ether)(arg1, arg2)`
* Fixed string inside struct allocation bug.chriseth2015-11-242-4/+5
|
* Addmod and mulmod.chriseth2015-11-191-0/+2
|
* Fix problems with statement blocks.chriseth2015-11-111-0/+2
|
* Allow docstrings for statements.chriseth2015-10-273-17/+51
|
* Store docstrings in AST annotations.chriseth2015-10-263-1/+53
|
* File reorganisation.chriseth2015-10-2115-0/+7337