Commit Graph

106 Commits

Author SHA1 Message Date
chriseth
2d69b269e9 Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions 2015-04-17 16:24:23 +02:00
chriseth
5216a9bc67 Some cleanup concerning byte arrays. 2015-04-15 18:06:41 +02:00
chriseth
0c69d5fdcd Fixed function overloads.
Added tests, disallowed non-calling usage of non-unique function
references.
2015-04-15 17:40:50 +02:00
chriseth
895c08342c Provide access to storage offsets via contract type. 2015-03-17 18:13:27 +01:00
chriseth
02595abf6a Fetch and store packed values. 2015-03-16 18:07:14 +01:00
Liana Husikyan
67cd3a7180 added parsing for constant variables 2015-03-16 10:46:46 +01:00
chriseth
a16677dcfb Fix gas for builtin.
Fixes #1300
2015-03-13 17:31:56 +01:00
Liana Husikyan
d5cbb2acd2 added brackets for printing in/out
cleaned up
2015-03-10 12:02:48 +01:00
Liana Husikyan
74a01826ee added information about jump type for jump instructions
Conflicts:
	libevmcore/Assembly.cpp
	libsolidity/Compiler.cpp
2015-03-10 12:02:48 +01:00
chriseth
94c51caf89 Fixed: Some instructions did not have source locations. 2015-03-09 13:28:29 +01:00
Gav Wood
67ffc3db71 Solidity fixes. 2015-03-08 11:43:17 +01:00
chriseth
d8b156ecbb Copying between calldata and storage. 2015-03-06 13:17:52 +01:00
Christian
b84cf62d6b Index access for calldata arrays. 2015-03-05 13:19:59 +01:00
Christian
7112696993 Fixed arrays in ABI. 2015-03-03 12:58:48 +01:00
Liana Husikyan
e9238e15b4 Implemented passing arguments to the base constructor. 2015-03-02 14:28:08 +01:00
Christian
cc31a7ab32 LValue refactoring. 2015-02-25 15:41:19 +01:00
Lefteris Karapetsas
71b0d8107a LocationSetter in some extra places during Compiling
- Also adjusted the test, and fixed its error reporting
2015-02-25 10:40:14 +01:00
Lefteris Karapetsas
fb328b778c Changes after rebase on top of Array Parsing 2015-02-24 17:31:06 +01:00
Lefteris Karapetsas
3e5c9a74b2 Reset CompilerContext's visited nodes at compile start 2015-02-24 17:16:22 +01:00
Lefteris Karapetsas
38cb123a82 Adding location information to assembly items
- In order to facilitate this addition we also now have a ScopeGuard
  object used in the Compiler to set the currently visited node.
2015-02-24 17:16:22 +01:00
Christian
e7528c6af8 Stack height checks and fix. 2015-02-22 19:16:40 +01:00
Liana Husikyan
858acaa193 corrected accept for variableDeclaration
changes after code review
2015-02-20 22:51:16 +01:00
Liana Husikyan
1ed86b33bc cosmetic changes 2015-02-20 22:51:16 +01:00
Liana Husikyan
52050201e3 Inline member initialisation
renamed VariableDefinition class to VariableDeclarationStatement
added tests
2015-02-20 22:50:34 +01:00
Christian
a33fa270f6 Calldata byte arrays stored on the stack. 2015-02-16 19:35:53 +01:00
Christian
971cc9b5b9 Unpacking of dynamically sized arguments. 2015-02-16 19:25:27 +01:00
Christian
1f6e365136 Move code to loadFromMemory. 2015-02-16 19:25:27 +01:00
Christian
f7ba85e0ec No write access to parameters of external functions. 2015-02-16 19:25:24 +01:00
Christian
adb434569c Dynamic copy to memory. 2015-02-12 11:33:10 +01:00
Lefteris Karapetsas
6f621f8486 Changing Solidity Code to use CamelCase enum values 2015-02-09 14:00:12 +01:00
Lefteris Karapetsas
82bcb7e33a Code generation for mapping state variable accessor
- Work in progress
2015-02-01 02:41:14 +01:00
Christian
cfb55901cc Fallback functions. 2015-01-29 22:50:20 +01:00
Lefteris Karapetsas
3701543ae8 FunctionType now returns const ref for Declaration 2015-01-29 19:18:50 +01:00
Lefteris Karapetsas
04190798eb Minor fixes plus a rebase merge fix 2015-01-29 18:21:51 +01:00
Lefteris Karapetsas
005100c486 Contract Interface Functions now return FunctionType
- 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
2015-01-29 17:11:13 +01:00
Christian
ae5a6a235c Super keyword. 2015-01-29 00:29:43 +01:00
Lefteris Karapetsas
b5a786dda1 Various fixes pertaining to State Variable accessors 2015-01-28 21:46:17 +01:00
Lefteris Karapetsas
2947e038d2 EVM Code for simple accessor function is properly generated 2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
3ec6c0b1cb All interface functions are external. 2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
b95048768d Solidity EntryLabel now uses a generic declaration
- Instead of a FunctionDefinition
2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
5c7359aa09 State variable accessors code is now more organized
- 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
2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
3cc0492301 Work in progress for state variable accessors
- 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
2015-01-28 21:46:16 +01:00
Christian
f59cda76de Call modifiers on constructor. 2015-01-26 10:23:39 +01:00
Christian
fd5899d038 Modifier overrides and callgraph analysis. 2015-01-26 10:23:39 +01:00
Christian
7ded95c776 Compilation of function modifiers. 2015-01-26 10:23:39 +01:00
Christian
d854e56789 Include virtual function overrides in constructor context. 2015-01-20 15:58:04 +01:00
Christian
ddf5e20d10 Call constructors of base classes. 2015-01-19 23:35:04 +01:00
Christian
4d833bc86b Inheritance in compiler. 2015-01-19 23:35:04 +01:00
Christian
e6c0a9b922 Magic variables are only needed durinng name and type resolution, not during compilation. 2015-01-19 23:35:04 +01:00
Lefteris Karapetsas
12e000e0d3 A first version of Natspec warning popup
- Runtime Contract code hash can now be retrieved from the Compiler

- Using the hash the Natspec handler stores and later retrieves Natspec
  JSON for a given contract.
2015-01-13 15:59:42 +01:00