chriseth
7a467bbf07
Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions
...
Conflicts:
libsolidity/AST.cpp
libsolidity/AST.h
2015-04-20 14:55:58 +02:00
chriseth
2d69b269e9
Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions
2015-04-17 16:24:23 +02:00
Lefteris Karapetsas
c558aa0656
Fixing detection of abstract contract
2015-04-17 16:17:21 +02:00
Lefteris Karapetsas
eb84c3171a
Add "this" contract's ctor to provided ctors set
...
- Also properly naming the 2 sets in checkAbstractConstructors() function
2015-04-17 15:27:31 +02:00
Lefteris Karapetsas
0c296cd809
Fixing new abstract contract error location reporting
2015-04-17 15:27:31 +02:00
Lefteris Karapetsas
52a442a100
size()!=0 -> !empty()
2015-04-17 15:27:31 +02:00
Lefteris Karapetsas
beba2705ba
Check all constructors in inheritance chain get args
...
- Also add a missing override in a function of EnumValue
2015-04-17 15:27:31 +02:00
Lefteris Karapetsas
d997dc55d1
Allowing abstract contracts constructor to have no args
...
- 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
2015-04-17 15:27:31 +02:00
chriseth
6e5de4832d
Bugfixes concerning variable declarations.
...
Fixes #1637
2015-04-16 00:09:28 +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
158795e48f
Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions
2015-04-07 17:08:49 +02:00
Liana Husikyan
8e19eea7d5
VariableDeclaration::checkTypeRequirements() refactoring
2015-04-01 15:57:39 +02:00
Liana Husikyan
e3853ec6d1
Update AST.cpp
2015-04-01 15:41:24 +02:00
Liana Husikyan
d7d5b8200a
miner changes in the implementation of the externalTypes function of FunctionType.
...
better error messages for exeptions
style fixes after review
2015-04-01 15:21:17 +02:00
Liana Husikyan
06dea23331
changed checking for external type in VariableDeclaration::checkTypeRequirements()
...
changed error msg
2015-04-01 15:21:17 +02:00
Liana Husikyan
37a0234c4a
style fixes
2015-04-01 15:21:17 +02:00
chriseth
eab085baf6
Merge pull request #1414 from LefterisJP/sol_notImplementedFuncs
...
Interface contracts
2015-03-30 19:33:30 +02:00
Lefteris Karapetsas
c6781ed38d
Fix some styling issues and remove comments
2015-03-30 17:18:38 +02:00
Lefteris Karapetsas
85bb056993
Abstract contract and inheritance
...
- 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
2015-03-27 15:15:34 +01:00
Liana Husikyan
a3d829d074
added externalTypes function to functionType
...
removed flag for externalSigniture
2015-03-27 13:28:32 +01:00
Lefteris Karapetsas
a7e78fadf5
Moving contract fullyImplemented check to TypeRequirements
2015-03-27 11:53:17 +01:00
Liana Husikyan
b1ca27ea93
two more tests
...
style fixes
2015-03-26 14:11:24 +01:00
Lefteris Karapetsas
9d6d7ccab8
Parsing of not fully implemented functions
...
- 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
2015-03-25 14:26:05 +01:00
Liana Husikyan
8f747aab0f
tests for external types
2015-03-25 14:20:13 +01:00
Liana Husikyan
9986b072ad
renamed externalTypes to externalSignature
2015-03-25 13:59:46 +01:00
Liana Husikyan
701b34fbeb
renamed getCanonicalSignature
...
added externalTypes instead of types for interface functions
added simple test
todo
testing
2015-03-25 13:59:46 +01:00
Liana Husikyan
e3ea90e997
added check for events and stat variables
2015-03-25 13:59:39 +01:00
Liana Husikyan
011d95e7e3
- added externalType to BooleanType.
...
- fixed the error message
2015-03-25 13:59:39 +01:00
Liana Husikyan
60204d593e
added check for valid externalType to checkTypeRequirements for function
2015-03-25 13:59:39 +01:00
Liana Husikyan
ebb4d5e298
- added more tests to check constant specifier implementation
...
- deny use of const for local variables
- deny unitialized const variables
- only int, fixed strings, and enums can be declaired as const
2015-03-16 10:46:46 +01:00
Liana Husikyan
7d6357ae53
- added isPartOfExternalInterface to Declaration
...
- 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
2015-03-16 10:46:46 +01:00
Liana Husikyan
67cd3a7180
added parsing for constant variables
2015-03-16 10:46:46 +01:00
Lefteris Karapetsas
3ca37caddd
Fixes after rebasing on top of develop
2015-03-12 12:53:00 +01:00
Lu Guanqun
ff4d2cc7dc
fix rebase errors
2015-03-08 17:26:36 -05:00
Lu Guanqun
5dcee599f1
add the location of a duplicated function
2015-03-08 09:50:54 -05:00
Lu Guanqun
4033615464
make it work for var x = f;
2015-03-08 09:50:54 -05:00
Lu Guanqun
ddcfd441f3
remove debug stuff
2015-03-08 09:50:53 -05:00
Lu Guanqun
3b9b71e0ae
implement overload resolution
2015-03-08 09:50:06 -05:00
chriseth
28e88903dc
Fix type checks for storage variable initializer.
2015-03-06 13:47:32 +01:00
Christian
b84cf62d6b
Index access for calldata arrays.
2015-03-05 13:19:59 +01:00
Liana Husikyan
9b6b2759b4
removed unused member
...
added some comments for ModifierInvocation::checkTypeRequirements
cleanup
2015-03-02 14:28:13 +01:00
Liana Husikyan
e9238e15b4
Implemented passing arguments to the base constructor.
2015-03-02 14:28:08 +01:00
Lefteris Karapetsas
4f13859f8c
Using normal pointer in getInheritableMembers()
2015-03-02 12:08:32 +01:00
Lefteris Karapetsas
bbaa9fef6c
getInheritableMembers() does not look at BaseContracts
...
- Also adding tests for improper accessing members of other contracts.
2015-03-02 11:51:13 +01:00
Lefteris Karapetsas
efe8f9f8a0
Use lambda to avoid code duplication in inheritableMembers
2015-03-02 11:51:13 +01:00
Lefteris Karapetsas
7db2b6fbdb
VisibleInDerivedContracts() is now virtual()
...
- Plus an extra test for internal visibility in a base class variable
2015-03-02 11:51:13 +01:00
Lefteris Karapetsas
47177542f5
Add structs to inheritable members
2015-03-02 11:51:13 +01:00
Lefteris Karapetsas
5e4665b84d
Adding inheritable members to a contract
2015-03-02 11:51:13 +01:00
Christian
5d2323c914
Index and length access for dynamic arrays.
2015-02-23 18:28:30 +01:00
Christian
261786d909
Allow conversion to dynamic arrays and update grammar.
2015-02-21 18:25:08 +01:00