Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #2164 from ethereum/jsonio-catch-internal-exceptions | chriseth | 2017-04-25 | 1 | -0/+12 |
|\ | | | | | JSON IO catch internal exceptions | ||||
| * | Catch jsoncpp exceptions | Alex Beregszaszi | 2017-04-25 | 1 | -0/+8 |
| | | |||||
| * | Do not crash on invalid JSON input | Alex Beregszaszi | 2017-04-25 | 1 | -0/+4 |
| | | |||||
* | | Merge pull request #2152 from ethereum/warnRevert | chriseth | 2017-04-25 | 3 | -2/+11 |
|\ \ | |/ |/| | Warn about side-effect free statements. | ||||
| * | Change error message. | chriseth | 2017-04-21 | 1 | -1/+1 |
| | | |||||
| * | Warn about side-effect free statements. | chriseth | 2017-04-21 | 3 | -2/+11 |
| | | |||||
* | | Merge pull request #2161 from ethereum/jsonio-cleanup | chriseth | 2017-04-24 | 2 | -8/+12 |
|\ \ | | | | | | | Small cleanups to JSON IO | ||||
| * | | Do not fail if parsing failed in StandardCompiler | Alex Beregszaszi | 2017-04-24 | 1 | -1/+1 |
| | | | |||||
| * | | Change error type names to not include spaces | Alex Beregszaszi | 2017-04-24 | 1 | -6/+6 |
| | | | |||||
| * | | Be a bit more verbose and capture Boost exceptions in StandardCompiler | Alex Beregszaszi | 2017-04-24 | 1 | -1/+5 |
| | | | |||||
* | | | Merge pull request #2159 from ethereum/jsonio-source-verify | chriseth | 2017-04-24 | 1 | -4/+45 |
|\ \ \ | |/ / |/| | | Verify supplied hash in JSON I/O | ||||
| * | | Verify supplied hash in JSON I/O | Alex Beregszaszi | 2017-04-24 | 1 | -4/+45 |
| | | | |||||
* | | | Document that the ReadFileCallback should not emit exceptions | Alex Beregszaszi | 2017-04-22 | 2 | -2/+4 |
|/ / | |||||
* | | Changed const reference to value. | chriseth | 2017-04-22 | 1 | -1/+1 |
| | | |||||
* | | Support URL sources in StandardCompiler | Alex Beregszaszi | 2017-04-21 | 2 | -3/+35 |
|/ | |||||
* | Rename ast to legacyAST in StandardCompiler | Alex Beregszaszi | 2017-04-21 | 1 | -1/+1 |
| | |||||
* | Ensure the language field is present in the JSON | Alex Beregszaszi | 2017-04-21 | 1 | -0/+6 |
| | |||||
* | Pull out collectEVMObject | Alex Beregszaszi | 2017-04-21 | 1 | -17/+19 |
| | |||||
* | Enclose local functions in a namespace | Alex Beregszaszi | 2017-04-21 | 1 | -0/+4 |
| | |||||
* | Support Why3 in StandardCompiler | Alex Beregszaszi | 2017-04-21 | 1 | -0/+24 |
| | |||||
* | Support gas estimates in StandardCompiler | Alex Beregszaszi | 2017-04-21 | 1 | -1/+1 |
| | |||||
* | Reject import URLs for now | Alex Beregszaszi | 2017-04-21 | 1 | -1/+6 |
| | |||||
* | Support the metadata.useLiteralContent setting | Alex Beregszaszi | 2017-04-21 | 1 | -0/+3 |
| | |||||
* | Properly split contract filename and name | Alex Beregszaszi | 2017-04-21 | 1 | -3/+10 |
| | |||||
* | Support linkReferences | Alex Beregszaszi | 2017-04-21 | 1 | -2/+29 |
| | |||||
* | Support new assembly output | Alex Beregszaszi | 2017-04-21 | 1 | -3/+4 |
| | |||||
* | Move opcodes inside the bytecode section | Alex Beregszaszi | 2017-04-21 | 1 | -1/+2 |
| | |||||
* | Support methodIdentifiers | Alex Beregszaszi | 2017-04-21 | 1 | -1/+9 |
| | |||||
* | Support proper error reporting in StandardCompiler | Alex Beregszaszi | 2017-04-21 | 1 | -18/+104 |
| | |||||
* | Refactor formatError | Alex Beregszaszi | 2017-04-21 | 1 | -6/+19 |
| | |||||
* | Fail if no sources are given | Alex Beregszaszi | 2017-04-21 | 1 | -4/+1 |
| | |||||
* | Support the AST output | Alex Beregszaszi | 2017-04-21 | 1 | -1/+2 |
| | |||||
* | Include source mapping identifier | Alex Beregszaszi | 2017-04-21 | 1 | -0/+10 |
| | |||||
* | Output legacyAssembly in StandardCompiler | Alex Beregszaszi | 2017-04-21 | 1 | -1/+12 |
| | |||||
* | Capture error messages from the JSON parser | Alex Beregszaszi | 2017-04-21 | 1 | -2/+8 |
| | |||||
* | Add formatFatalError() to StandardCompiler | Alex Beregszaszi | 2017-04-21 | 1 | -0/+15 |
| | |||||
* | Parse remappings in StandardCompiler | Alex Beregszaszi | 2017-04-21 | 1 | -0/+5 |
| | |||||
* | Parse libraries in StandardCompiler | Alex Beregszaszi | 2017-04-21 | 1 | -0/+8 |
| | |||||
* | Parse optimizer settings in StandardCompiler | Alex Beregszaszi | 2017-04-21 | 1 | -3/+6 |
| | |||||
* | Catch exceptions of StandardCompiler | Alex Beregszaszi | 2017-04-21 | 2 | -1/+15 |
| | |||||
* | Initial implementation of StandardCompiler | Alex Beregszaszi | 2017-04-21 | 1 | -0/+132 |
| | |||||
* | Add StandardCompiler skeleton | Alex Beregszaszi | 2017-04-21 | 2 | -0/+90 |
| | |||||
* | Fix source index allocation in CompilerStack. Depending on ↵ | Alex Beregszaszi | 2017-04-21 | 1 | -1/+2 |
| | | | | compiler(optimisations) this could be off-by-one. | ||||
* | Merge pull request #2117 from ethereum/implementAsmOut | Yoichi Hirai | 2017-04-19 | 1 | -1/+1 |
|\ | | | | | Implement missing assembly output functions and do not use PushString for assembly. | ||||
| * | Implement missing assembly output functions and do not use PushString for ↵ | chriseth | 2017-04-12 | 1 | -1/+1 |
| | | | | | | | | assembly. | ||||
* | | Keep gas values as a string in CompilerStack::gasEstimate | Alex Beregszaszi | 2017-04-13 | 1 | -3/+3 |
| | | |||||
* | | Exclude fallback function from the internal functions in estimateGas | Alex Beregszaszi | 2017-04-13 | 1 | -1/+2 |
| | | |||||
* | | Move gasEstimate into CompilerStack | Alex Beregszaszi | 2017-04-13 | 2 | -0/+88 |
|/ | |||||
* | Merge pull request #2098 from ethereum/sourceformatter | Alex Beregszaszi | 2017-04-10 | 1 | -0/+11 |
|\ | | | | | Introduce formatExceptionInformation | ||||
| * | Introduce formatExceptionInformation | Alex Beregszaszi | 2017-04-10 | 1 | -0/+11 |
| | | |||||
* | | Pull out ReadFile from CompilerStack | Alex Beregszaszi | 2017-04-10 | 3 | -13/+50 |
|/ | |||||
* | Fix: Contract inheriting from base with unimplemented constructor is abstract. | chriseth | 2017-03-22 | 1 | -0/+10 |
| | |||||
* | Visit structs only once. | chriseth | 2017-03-21 | 1 | -3/+7 |
| | |||||
* | Simplify interface checks for FunctionDefinition | Alex Beregszaszi | 2017-03-18 | 1 | -8/+7 |
| | |||||
* | Disallow private or internal functions in interfaces | Alex Beregszaszi | 2017-03-18 | 1 | -0/+3 |
| | |||||
* | Disallow constructor in interfaces | Alex Beregszaszi | 2017-03-18 | 1 | -0/+3 |
| | |||||
* | Disallow enums in interfaces | Alex Beregszaszi | 2017-03-18 | 2 | -0/+8 |
| | |||||
* | Use declared instead of defined | Alex Beregszaszi | 2017-03-18 | 1 | -1/+1 |
| | |||||
* | Factor out tokenToContractKind | Alex Beregszaszi | 2017-03-18 | 2 | -15/+18 |
| | |||||
* | Reject invalid definitions for interface contracts | Alex Beregszaszi | 2017-03-18 | 1 | -0/+13 |
| | |||||
* | Support interface (contract) keyword in the parser | Alex Beregszaszi | 2017-03-18 | 3 | -6/+22 |
| | |||||
* | Add ContractKind to ContractDefinition | Alex Beregszaszi | 2017-03-18 | 2 | -5/+9 |
| | |||||
* | Merge pull request #1773 from ethereum/ASTEntry | chriseth | 2017-03-18 | 2 | -3/+50 |
|\ | | | | | Ast entry | ||||
| * | Comment. | chriseth | 2017-03-17 | 2 | -2/+2 |
| | | |||||
| * | AST entry for VariableDeclaration | djudjuu | 2017-03-16 | 2 | -3/+50 |
| | | |||||
* | | Merge pull request #1792 from ethereum/function-kind | chriseth | 2017-03-17 | 8 | -226/+222 |
|\ \ | | | | | | | Rename FunctionType::Location to Kind | ||||
| * | | Change references to FunctionType::Location | Alex Beregszaszi | 2017-03-16 | 7 | -126/+123 |
| | | | |||||
| * | | Rename FunctionType::Location to FunctionType::Kind | Alex Beregszaszi | 2017-03-16 | 2 | -100/+99 |
| |/ | |||||
* / | Rename ErrorMesage to ErrorMessage | Alex Beregszaszi | 2017-03-17 | 2 | -3/+3 |
|/ | |||||
* | Merge pull request #1698 from ethereum/exp-notation | chriseth | 2017-03-15 | 2 | -27/+91 |
|\ | | | | | Fix scientific notation in number literals | ||||
| * | Split out parseRational from isValidLiteral | Alex Beregszaszi | 2017-03-15 | 2 | -32/+58 |
| | | |||||
| * | Rename x to value | Alex Beregszaszi | 2017-03-15 | 1 | -16/+17 |
| | | |||||
| * | Disallow radix points in hex literals | Alex Beregszaszi | 2017-03-15 | 1 | -1/+6 |
| | | |||||
| * | Do not try parsing hex numbers as scientific notation | Alex Beregszaszi | 2017-03-15 | 1 | -1/+2 |
| | | |||||
| * | Support older version of boost | Alex Beregszaszi | 2017-03-15 | 1 | -1/+4 |
| | | |||||
| * | Support negative exponent | Alex Beregszaszi | 2017-03-15 | 1 | -6/+11 |
| | | |||||
| * | Fix exponentional notation in number literals | Alex Beregszaszi | 2017-03-15 | 1 | -4/+27 |
| | | |||||
* | | Mention 'transfer' in warning about unchecked 'send'. | chriseth | 2017-03-15 | 1 | -2/+3 |
| | | |||||
* | | Merge pull request #1729 from ethereum/constantvariables | Yoichi Hirai | 2017-03-15 | 4 | -18/+80 |
|\ \ | | | | | | | Only allow pure expressions for constant state variables. | ||||
| * | | Turn non-constant constants error into warning. | chriseth | 2017-03-15 | 1 | -2/+3 |
| | | | |||||
| * | | Disallow constants that are neither value types nor strings. | chriseth | 2017-03-13 | 1 | -0/+8 |
| | | | |||||
| * | | Allow enum values for constants. | chriseth | 2017-03-13 | 1 | -1/+4 |
| | | | |||||
| * | | Type checking for pure expressions. | chriseth | 2017-03-13 | 4 | -18/+68 |
| | | | |||||
* | | | Require and Assert. | chriseth | 2017-03-14 | 3 | -6/+12 |
|/ / | |||||
* | | Merge pull request #1751 from ethereum/warnLiteralExpBase | Yoichi Hirai | 2017-03-11 | 1 | -0/+20 |
|\ \ | |/ |/| | Warn if base of exponentiation operation is a literal. | ||||
| * | Warn about literal constant base in exponentiation. | chriseth | 2017-03-07 | 1 | -0/+20 |
| | | |||||
* | | Fix 'ambiguous overload for operator==' Boost error. | Ryan Casey | 2017-03-10 | 1 | -5/+5 |
| | | |||||
* | | Resolve build-stopping error about 'minor' and 'major' being defined in ↵ | Ryan Casey | 2017-03-10 | 1 | -0/+3 |
| | | | | | | | | <sys/types.h> | ||||
* | | Merge pull request #1747 from ethereum/fixICEInternalConstructor | Yoichi Hirai | 2017-03-09 | 5 | -26/+30 |
|\ \ | | | | | | | Move privateness of constructor into AST itself. | ||||
| * | | Move public constructor property into AST itself. | chriseth | 2017-03-06 | 5 | -6/+10 |
| | | | |||||
| * | | Strict checking for AST annotation types. | chriseth | 2017-03-06 | 1 | -20/+20 |
| | | | |||||
* | | | Merge pull request #1748 from ethereum/singletonArray | chriseth | 2017-03-08 | 1 | -1/+1 |
|\ \ \ | | | | | | | | | Use mobile type for singleton array. | ||||
| * | | | Convert to mobile type for array type. | chriseth | 2017-03-06 | 1 | -1/+1 |
| | |/ | |/| | |||||
* | | | Disallow compound assignment for tuples. | chriseth | 2017-03-08 | 1 | -0/+5 |
| | | | |||||
* | | | Merge pull request #1750 from ethereum/asmoctal | Yoichi Hirai | 2017-03-08 | 1 | -0/+3 |
|\ \ \ | | | | | | | | | Disallow octal numbers in parser. | ||||
| * | | | Disallow octal literals. | chriseth | 2017-03-07 | 1 | -0/+3 |
| |/ / | |||||
* | | | Merge pull request #1699 from ethereum/asmlabels | Yoichi Hirai | 2017-03-08 | 7 | -149/+518 |
|\ \ \ | | | | | | | | | Assembly labels with stack information | ||||
| * | | | Fix error message. | chriseth | 2017-03-03 | 1 | -1/+1 |
| | | | | |||||
| * | | | Remove stack annotations again. | chriseth | 2017-03-03 | 6 | -95/+4 |
| | | | | |||||
| * | | | First reset stack height, then register variables. | chriseth | 2017-03-03 | 1 | -9/+10 |
| | | | | |||||
| * | | | Move lambda. | chriseth | 2017-03-03 | 1 | -3/+9 |
| | | | | |||||
| * | | | Slightly cleaner label ids. | chriseth | 2017-03-03 | 3 | -17/+20 |
| | | | | |||||
| * | | | Partially add functions. | chriseth | 2017-03-03 | 3 | -10/+69 |
| | | | | |||||
| * | | | Generic visitor. | chriseth | 2017-03-03 | 1 | -37/+28 |
| | | | | |||||
| * | | | Refactor variable access. | chriseth | 2017-03-03 | 1 | -40/+30 |
| | | | | |||||
| * | | | Refactor CodeGen to recurse on blocks. | chriseth | 2017-03-03 | 4 | -75/+97 |
| | | | | |||||
| * | | | Analysis refactoring. | chriseth | 2017-03-03 | 7 | -115/+466 |
| | | | | |||||
| * | | | Parsing of labels with stack info. | chriseth | 2017-03-03 | 4 | -3/+40 |
| | | | | |||||
* | | | | Merge pull request #1733 from ethereum/selfReferentialConstant | chriseth | 2017-03-07 | 4 | -0/+189 |
|\ \ \ \ | | | | | | | | | | | Detect cyclic dependencies between constants. | ||||
| * | | | | Check for circular references in constant variables. | chriseth | 2017-03-06 | 4 | -0/+189 |
| | |/ / | |/| | | |||||
* | | | | Merge pull request #1737 from ethereum/localmappings | chriseth | 2017-03-06 | 3 | -4/+17 |
|\ \ \ \ | |/ / / |/| | | | Disallow uninitialized mapping variables. | ||||
| * | | | Disallow uninitialized mapping variables. | chriseth | 2017-03-06 | 1 | -2/+5 |
| | | | | |||||
| * | | | Error constructor. | chriseth | 2017-03-06 | 2 | -2/+12 |
| | |/ | |/| | |||||
* / | | Mention way to remove warning. | chriseth | 2017-03-06 | 1 | -1/+5 |
|/ / | |||||
* | | Merge pull request #1702 from ethereum/assertError | Yoichi Hirai | 2017-03-04 | 2 | -5/+5 |
|\ \ | |/ |/| | Change effect of assert to invalid opcode. | ||||
| * | Remove assert for now. | chriseth | 2017-02-24 | 1 | -2/+3 |
| | | |||||
| * | Change effect of assert to invalid opcode. | chriseth | 2017-02-16 | 1 | -3/+2 |
| | | |||||
* | | Disallow variable declaration with inferred empty tuple type. | chriseth | 2017-03-02 | 1 | -0/+5 |
| | | |||||
* | | Merge pull request #1728 from ethereum/externalfunctiontypes | chriseth | 2017-03-02 | 1 | -1/+1 |
|\ \ | | | | | | | Convert reference types to pointers in member function conversion. | ||||
| * | | Convert reference types to pointers in member function conversion. | chriseth | 2017-03-01 | 1 | -1/+1 |
| | | | |||||
* | | | Add line info to serious exceptions. | chriseth | 2017-02-25 | 1 | -0/+14 |
|/ / | |||||
* | | Merge pull request #1700 from ethereum/fixNoMobile | chriseth | 2017-02-24 | 2 | -2/+8 |
|\ \ | | | | | | | Some checks for the existence of mobile type. | ||||
| * \ | Merge branch 'develop' into fixNoMobile | chriseth | 2017-02-24 | 12 | -115/+224 |
| |\ \ | |||||
| * | | | Some checks for the existence of mobile type. | chriseth | 2017-02-16 | 2 | -2/+8 |
| | |/ | |/| | |||||
* | | | Disallow setting .gas() on .transfer() | Alex Beregszaszi | 2017-02-24 | 2 | -10/+5 |
| | | | |||||
* | | | Do not keep the gas stipend if sending non-zero value | Alex Beregszaszi | 2017-02-24 | 1 | -1/+1 |
| | | | |||||
* | | | Support gas modifier on addr.transfer() | Alex Beregszaszi | 2017-02-24 | 2 | -2/+4 |
| | | | |||||
* | | | Implement address.transfer() | Alex Beregszaszi | 2017-02-24 | 3 | -5/+19 |
| |/ |/| | |||||
* | | Deposit one stack item for non-value types in inline assembly type checking. | chriseth | 2017-02-20 | 1 | -1/+1 |
| | | |||||
* | | Merge pull request #1627 from ethereum/asmfunctions | chriseth | 2017-02-17 | 6 | -41/+137 |
|\ \ | | | | | | | Parsing assembly function definitions and calls. | ||||
| * | | Assembly printer for functions. | chriseth | 2017-02-16 | 2 | -0/+20 |
| | | | |||||
| * | | Parsing function calls. | chriseth | 2017-02-16 | 4 | -37/+64 |
| | | | |||||
| * | | Parsing function definitions. | chriseth | 2017-02-16 | 4 | -6/+55 |
| |/ | |||||
* / | Fix early exist for fatal errors. | chriseth | 2017-02-16 | 5 | -73/+86 |
|/ | |||||
* | Assembly printing fixes. | chriseth | 2017-02-14 | 1 | -5/+5 |
| | |||||
* | Review changes. | chriseth | 2017-02-14 | 3 | -4/+4 |
| | |||||
* | Assembly printer. | chriseth | 2017-02-14 | 4 | -4/+204 |
| | |||||
* | Review comments. | chriseth | 2017-02-14 | 3 | -7/+7 |
| | |||||
* | Allow different entry scope for registerDeclarations. | chriseth | 2017-02-14 | 3 | -9/+22 |
| | |||||
* | Extract scopes into compiler stack. | chriseth | 2017-02-14 | 4 | -3/+13 |
| | |||||
* | Refactor type system to allow multiple entry points. | chriseth | 2017-02-14 | 4 | -15/+27 |
| | |||||
* | Refactor NameAndTypeResolver and SyntaxChecker to allow other entry points. | chriseth | 2017-02-14 | 6 | -61/+86 |
| | |||||
* | Use the revert opcode in assert() | Alex Beregszaszi | 2017-02-11 | 1 | -2/+8 |
| | |||||
* | Use the REVERT opcode for throw; | Alex Beregszaszi | 2017-02-11 | 1 | -1/+3 |
| | |||||
* | Support revert() | Alex Beregszaszi | 2017-02-11 | 4 | -1/+10 |
| | |||||
* | Cleanup is not needed for assert() | Alex Beregszaszi | 2017-02-10 | 1 | -1/+1 |
| | |||||
* | Implement assert as a global function | Alex Beregszaszi | 2017-02-10 | 3 | -4/+15 |
| | |||||
* | Rename SUICIDE opcode to SELFDESTRUCT in libevmasm | Alex Beregszaszi | 2017-02-07 | 2 | -3/+3 |
| | |||||
* | Warn early when exhausting stack | Alex Beregszaszi | 2017-02-02 | 1 | -0/+1 |
| | |||||
* | Disallow arrays with negative length | Alex Beregszaszi | 2017-02-02 | 1 | -0/+2 |
| | |||||
* | Add isNegative to RationalNumberType | Alex Beregszaszi | 2017-02-02 | 1 | -0/+3 |
| | |||||
* | Only capture function type to address conversion | Alex Beregszaszi | 2017-02-01 | 1 | -8/+10 |
| | |||||
* | Be more verbose on the stack-mismatch errors | Alex Beregszaszi | 2017-02-01 | 1 | -1/+1 |
| | |||||
* | Support explicit conversion of external function type to address | Alex Beregszaszi | 2017-02-01 | 4 | -1/+25 |
| | |||||
* | Merge pull request #1598 from wuestholz/develop | chriseth | 2017-01-27 | 6 | -18/+61 |
|\ | | | | | Change translation of implicit throws | ||||
| * | Changelog and review suggestions. | chriseth | 2017-01-27 | 1 | -1/+1 |
| | | |||||
| * | Uninitialized internal function should call INVALID. | chriseth | 2017-01-26 | 1 | -1/+3 |
| | | |||||
| * | Allow inserting low-level functions without calling them. | chriseth | 2017-01-26 | 2 | -5/+26 |
| | | |||||
| * | Split line. | chriseth | 2017-01-26 | 1 | -1/+3 |
| | | |||||
| * | Address feedback from code review. | Valentin Wüstholz | 2017-01-26 | 2 | -6/+6 |
| | | |||||
| * | Change translation of implicit throws (issue #1589). | Valentin Wüstholz | 2017-01-26 | 6 | -13/+31 |
| | | | | | | | | | | | | | | This adds a new invalid instruction that is used for encoding implicit throws that are emitted by the compiler. This makes it possible to distinguish such runtime errors from user-provided, explicit throws. | ||||
* | | Merge pull request #1451 from LefterisJP/fix_build | chriseth | 2017-01-27 | 1 | -16/+54 |
|\ \ | | | | | | | Accept any kind of whitespace after natspec tags | ||||
| * | | Minor changes. | chriseth | 2017-01-27 | 1 | -19/+17 |
| | | | |||||
| * | | More verbose function naming | Lefteris Karapetsas | 2017-01-27 | 1 | -2/+2 |
| | | | |||||
| * | | Doc tags followed by newline are now parsed properly | Lefteris Karapetsas | 2017-01-27 | 1 | -1/+1 |
| | | | |||||
| * | | Fix and better output for tests | Lefteris Karapetsas | 2017-01-25 | 1 | -0/+6 |
| | | | |||||
| * | | Accept any kind of whitespace after natspec tags | Lefteris Karapetsas | 2017-01-25 | 1 | -13/+47 |
| | | | |||||
* | | | Refactor json return type generation. | chriseth | 2017-01-27 | 4 | -40/+38 |
| |/ |/| | |||||
* | | Merge pull request #1604 from ethereum/checksums | Alex Beregszaszi | 2017-01-26 | 6 | -2/+47 |
|\ \ | | | | | | | Warn about invalid checksums of addresses. | ||||
| * | | Also check library addresses. | chriseth | 2017-01-25 | 1 | -21/+1 |
| | | | |||||
| * | | Warn about invalid checksums of addresses. | chriseth | 2017-01-25 | 6 | -2/+67 |
| |/ | |||||
* | | Add option to store literal sources in metadata | Alex Beregszaszi | 2017-01-26 | 2 | -4/+11 |
| | | |||||
* | | Update error message. | chriseth | 2017-01-26 | 1 | -1/+1 |
| | | |||||
* | | Disallow assignment to non-identifiers. | chriseth | 2017-01-26 | 1 | -0/+2 |
| | | |||||
* | | Disallow instructions in assignment. | chriseth | 2017-01-26 | 1 | -6/+5 |
| | | |||||
* | | Renamed function. | chriseth | 2017-01-26 | 2 | -5/+5 |
| | | |||||
* | | Moved test. | chriseth | 2017-01-26 | 1 | -1/+1 |
| | | |||||
* | | Do not allow shadowing inline assembly instructions with variables | Alex Beregszaszi | 2017-01-25 | 2 | -1/+11 |
|/ | |||||
* | Include creation code only once. | chriseth | 2017-01-25 | 1 | -14/+18 |
| | |||||
* | Use int arithmetics for stack adjustment. | chriseth | 2017-01-24 | 1 | -1/+1 |
| | |||||
* | Change clearStorageLoop to TypePointer. | chriseth | 2017-01-24 | 2 | -16/+18 |
| | |||||
* | Use shared_ptrs to enable shared_from_this. | chriseth | 2017-01-24 | 1 | -4/+4 |
| | |||||
* | Convert ArrayUtils routines into low-level functions. | chriseth | 2017-01-24 | 1 | -228/+251 |
| | |||||
* | Move some util functions to low-level functions. | chriseth | 2017-01-24 | 5 | -244/+320 |
| | |||||
* | Low level named functions for CompilerContext. | chriseth | 2017-01-24 | 2 | -0/+23 |
| | |||||
* | Merge pull request #1245 from ethereum/1215 | chriseth | 2017-01-24 | 2 | -7/+19 |
|\ | | | | | Allow multiple events of the same name | ||||
| * | analysis: disallow overloading functions with events | Yoichi Hirai | 2017-01-23 | 1 | -1/+6 |
| | | |||||
| * | analysis: fix format | Yoichi Hirai | 2017-01-23 | 1 | -4/+7 |
| | | |||||
| * | analysis: Resolve event overloading | Yoichi Hirai | 2017-01-23 | 2 | -14/+11 |
| | | |||||
| * | analysis: Allow multiple events of the same name | Yoichi Hirai | 2017-01-23 | 1 | -0/+7 |
| | | | | | | | | Fixes #1215 | ||||
* | | Merge pull request #1591 from ethereum/stackTooDeepLocation | Yoichi Hirai | 2017-01-23 | 2 | -2/+14 |
|\ \ | | | | | | | Report source location on "stack too deep" errors. | ||||
| * | | Report source location on "stack too deep" errors. | chriseth | 2017-01-21 | 2 | -2/+14 |
| |/ | |||||
* / | Check if constructor is public or not. | chriseth | 2017-01-21 | 3 | -2/+13 |
|/ | |||||
* | Merge pull request #1576 from ethereum/typeIdentifiers | Yoichi Hirai | 2017-01-20 | 5 | -20/+291 |
|\ | | | | | Type identifiers. | ||||
| * | Make m_id const. | chriseth | 2017-01-20 | 1 | -1/+1 |
| | | |||||
| * | Reset AST node IDs between compilation runs. | chriseth | 2017-01-20 | 4 | -5/+27 |
| | | |||||
| * | Properly escape user strings and lists. | chriseth | 2017-01-19 | 2 | -44/+86 |
| | | |||||
| * | Type identifiers. | chriseth | 2017-01-19 | 2 | -3/+210 |
| | | |||||
* | | Fix default function type name visibility. | chriseth | 2017-01-19 | 2 | -2/+4 |
|/ | |||||
* | Fix typo in comment | Federico Bond | 2017-01-18 | 1 | -1/+1 |
| | |||||
* | Merge pull request #1581 from ethereum/fixosx | chriseth | 2017-01-18 | 1 | -2/+2 |
|\ | | | | | Fix JSON output on macos. | ||||
| * | Fix JSON output on macos. | chriseth | 2017-01-18 | 1 | -2/+2 |
| | | |||||
* | | Merge pull request #1397 from roadriverrail/contract_collision | chriseth | 2017-01-18 | 6 | -46/+65 |
|\ \ | |/ |/| | Error out when contracts collide on name | ||||
| * | Provide fall-back method for contract lookup | Rhett Aultman | 2017-01-17 | 1 | -1/+18 |
| | | | | | | | | | | | | | | | | Properly, contracts are now looked up via <source>:<contract> identifiers called "fully qualified names." As a modicum of backward-compatibility, failure on a lookup is now backed up by seeing if the ":" exists at all, and if it doesn't, then the known contracts are scanned for any matching contract name. | ||||
| * | Remove checkLibraryNameClashes() | Rhett Aultman | 2017-01-17 | 2 | -37/+0 |
| | | | | | | | | | | | | | | | | The library name clash checker throws errors when two libraries of the same name are spotted. In a previous commit, this function was rewritten to use fully-qualified names instead, which makes it redundant to the checker for multiply-declared identifiers. Since it no longer serves a clear purpose, the function is being dropped. | ||||
| * | Use fully-qualified names for linking, too | Rhett Aultman | 2017-01-17 | 2 | -3/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using libraries leaves behind a library link reference in the binary which the linker must later resolve. These link references were still being generated by name and not by fully-qualified name. This would lead to a link-time collision between two libraries having the same name but in different source units. This change changes linker symbols over to fully-qualified names, which resolves that issue. This does potentially introduce a new problem, which is that linker symbols appear to be limited to 36 characters and are truncated. Storing paths extends the average symbol size, and it would be great if truncation was from the tail rather than the head. | ||||
| * | Remove unique error for contract collision | Rhett Aultman | 2017-01-17 | 1 | -39/+10 |
| | | | | | | | | | | | | Because contracts are uniquely identified by their source unit, there is no need for a unique error for this; it's actually covered by the checker for double-declaration of identifiers. | ||||
| * | Move fullyQualified() name to Declaration | Rhett Aultman | 2017-01-17 | 2 | -10/+1 |
| | | |||||
| * | Stylistic corrections | Rhett Aultman | 2017-01-17 | 2 | -9/+5 |
| | | |||||
| * | Push the error instead of throwing it | Rhett Aultman | 2017-01-17 | 1 | -10/+34 |
| | | | | | | | | | | | | | | Throwing a CompilerError on multiple contract definition violates the expectations of the test suite, which thinks that compile() will return false if the code can't compile. This brings contract collision reporting in line with most of the other errors. | ||||
| * | Drop ':' if the source file name is empty | Rhett Aultman | 2017-01-17 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | A large number of tests compile contracts while passing in an empty string for the source name. This leads to it being keyed by the name ":<contract>", while the tests try to look it up under the name "<contract>". This change resolves that issue by dropping the ':' in cases where there is, effectively, no source file to prepend anyway. | ||||
| * | Only avoid collision if it's the same file | Rhett Aultman | 2017-01-17 | 4 | -12/+48 |
| | | | | | | | | | | | | | | | | | | @chriseth had suggested that it would be better if contracts were referenced in a file:contract notation, and that we output .bin files that prepend original path names if necessary to avoid a collision. This commit is mostly a draft; it still needs to be run through the test suite. | ||||
| * | Tab whitespace cleanup (again) | Rhett Aultman | 2017-01-17 | 1 | -1/+2 |
| | | |||||
| * | Tidy up the error message | Rhett Aultman | 2017-01-17 | 1 | -3/+3 |
| | | |||||
| * | Fix tab, drop stupid '!!!', change error message. | Rhett Aultman | 2017-01-17 | 1 | -3/+3 |
| | | |||||
| * | Error out when contracts collide on name | Rhett Aultman | 2017-01-17 | 1 | -0/+19 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous behaviour, courtesy of the [] operator in std::map, would uncritically store a new ContractDefinition in m_contracts even when a ContractDefinition already existed. This "resolved" collissions on contract names by clobbering the original one with the new one, and could lead to scenarios where the clobber would only be discovered when the original ContractDefinition could not be found or referred to, which was an unhelpful InternalCompilerError. This change checks the m_contracts map for a collision first and will not let the ContractDefinition be changed to a new one once it's set, throwing a CompilerError with information about the conflict. | ||||
* | | Include SOL_VERSION_COMMIT/SOL_VERSION_PLATFORM in buildinfo.h | Alex Beregszaszi | 2017-01-17 | 1 | -1/+2 |
| | | |||||
* | | Store strict version number in metadata (exclude the platform) | Alex Beregszaszi | 2017-01-17 | 3 | -1/+5 |
| | | |||||
* | | Deterministic AST node identifiers. | chriseth | 2017-01-17 | 3 | -2/+8 |
|/ | |||||
* | Merge pull request #1479 from ethereum/function_variable_mixin | chriseth | 2017-01-13 | 5 | -11/+157 |
|\ | | | | | Disallow mixin of functions and attributes under the same name | ||||
| * | ast: events have FunctionType too | Yoichi Hirai | 2017-01-12 | 2 | -8/+17 |
| | | |||||
| * | analysis: use Declaration::functionType() in another location | Yoichi Hirai | 2017-01-12 | 1 | -11/+4 |
| | | |||||
| * | ast: add Declaration::functionType() | Yoichi Hirai | 2017-01-12 | 3 | -14/+80 |
| | | |||||
| * | analysis: avoid emscripten build failure | Yoichi Hirai | 2017-01-12 | 1 | -3/+3 |
| | | |||||
| * | analysis: changes necessary to compile std/StandardToken.sol | Yoichi Hirai | 2017-01-12 | 3 | -12/+58 |
| | | |||||
| * | analysis: allow some shadowings explicitly | Yoichi Hirai | 2017-01-12 | 1 | -0/+8 |
| | | |||||
| * | analysis: report errors when inheritance causes collision | Yoichi Hirai | 2017-01-12 | 1 | -1/+25 |
| | | |||||
* | | fixed | VoR0220 | 2017-01-12 | 1 | -2/+2 |
| | | | | | | | | Signed-off-by: VoR0220 <rj@erisindustries.com> | ||||
* | | added fix and a test for order independence of nested prefixing | VoR0220 | 2017-01-12 | 1 | -2/+2 |
| | | | | | | | | Signed-off-by: VoR0220 <rj@erisindustries.com> | ||||
* | | cleanup | VoR0220 | 2017-01-12 | 2 | -14/+15 |
| | | | | | | | | | | | | | | | | Signed-off-by: VoR0220 <rj@erisindustries.com> fixup Signed-off-by: VoR0220 <rj@erisindustries.com> | ||||
* | | fixed unused filepath bug | VoR0220 | 2017-01-11 | 1 | -2/+1 |
| | | | | | | | | Signed-off-by: VoR0220 <rj@erisindustries.com> | ||||
* | | much smaller helper function | VoR0220 | 2017-01-10 | 2 | -5/+5 |
| | | | | | | | | Signed-off-by: VoR0220 <rj@erisindustries.com> | ||||
* | | can do this purely on length. Also made prefix filesystem string for more ↵ | VoR0220 | 2017-01-09 | 1 | -27/+16 |
| | | | | | | | | | | | | accurate readings. Signed-off-by: VoR0220 <rj@erisindustries.com> | ||||
* | | fixed test and added solution | VoR0220 | 2017-01-09 | 1 | -3/+26 |
|/ | | | | Signed-off-by: VoR0220 <rj@erisindustries.com> | ||||
* | Merge pull request #1537 from ethereum/absolute-path | chriseth | 2017-01-07 | 1 | -3/+3 |
|\ | | | | | absolute path detection is not confused by ".dir" | ||||
| * | interface: change absolutePath() so that ".dir" is considered as an absolute ↵ | Yoichi Hirai | 2017-01-04 | 1 | -3/+3 |
| | | | | | | | | | | | | path fixes #1534 | ||||
* | | Merge pull request #1545 from federicobond/refactor-rename | chriseth | 2017-01-05 | 1 | -3/+3 |
|\ \ | |/ |/| | Rename contractName to typeName when parsing new expression | ||||
| * | Rename contractName to typeName when parsing new expression | Federico Bond | 2017-01-05 | 1 | -3/+3 |
| | | |||||
* | | ast, codegen: enable accessing events through contract names. | Yoichi Hirai | 2017-01-03 | 2 | -9/+36 |
|/ | | | | Fixes #1286 | ||||
* | Merge pull request #1503 from federicobond/json-visibility | Yoichi Hirai | 2016-12-15 | 2 | -7/+22 |
|\ | | | | | Include visibility level for functions in AST | ||||
| * | Include visibility level for functions in AST | Federico Bond | 2016-12-13 | 2 | -7/+22 |
| | | |||||
* | | Merge pull request #1508 from ethereum/multiurls | chriseth | 2016-12-15 | 1 | -2/+4 |
|\ \ | | | | | | | Use multiple URLs for metadata. | ||||
| * | | Use multiple URLs for metadata. | chriseth | 2016-12-13 | 1 | -2/+4 |
| | | | |||||
* | | | Merge pull request #1487 from ethereum/shift-ops | Yoichi Hirai | 2016-12-14 | 3 | -30/+130 |
|\ \ \ | | | | | | | | | Shift operators | ||||
| * | | | Use correct type for storing. | chriseth | 2016-12-13 | 1 | -7/+7 |
| | | | | |||||
| * | | | Cleaner shift handling and type conversion for binary operations. | chriseth | 2016-12-12 | 3 | -75/+100 |
| | | | | |||||
| * | | | Type after shift should be type of left operand. | chriseth | 2016-12-12 | 1 | -5/+42 |
| | | | | |||||
| * | | | Support bitshifting in variables | Alex Beregszaszi | 2016-12-12 | 3 | -9/+47 |
| | |/ | |/| | |||||
* | | | Merge pull request #1507 from ethereum/memcopystyle | Yoichi Hirai | 2016-12-14 | 2 | -14/+14 |
|\ \ \ | |_|/ |/| | | Renamed padToWordBoundaries -> padToWords | ||||
| * | | Renamed padToWordBoundaries -> padToWords | chriseth | 2016-12-13 | 2 | -14/+14 |
| | | |