Liana Husikyan
065d9a9e68
VariableDeclaration::checkTypeRequirements() refactoring
10 years ago
Liana Husikyan
c5df9e205b
Update AST.cpp
10 years ago
Liana Husikyan
4352423fea
miner changes in the implementation of the externalTypes function of FunctionType.
better error messages for exeptions
style fixes after review
10 years ago
Liana Husikyan
4173a71846
changed checking for external type in VariableDeclaration::checkTypeRequirements()
changed error msg
10 years ago
Liana Husikyan
0e247e0282
style fixes
10 years ago
Lefteris Karapetsas
29669c16a2
Fix some styling issues and remove comments
10 years ago
Lefteris Karapetsas
dfcaf8a414
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
10 years ago
Liana Husikyan
dd15c53ae4
added externalTypes function to functionType
removed flag for externalSigniture
10 years ago
Lefteris Karapetsas
4e234b30ed
Moving contract fullyImplemented check to TypeRequirements
10 years ago
Liana Husikyan
8b14b4f4d1
two more tests
style fixes
10 years ago
Lefteris Karapetsas
742002b05a
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
10 years ago
Liana Husikyan
f3e8d2b7e9
tests for external types
10 years ago
Liana Husikyan
ba8d0f615c
renamed externalTypes to externalSignature
10 years ago
Liana Husikyan
0ca313ec85
renamed getCanonicalSignature
added externalTypes instead of types for interface functions
added simple test
todo
testing
10 years ago
Liana Husikyan
44c7da4262
added check for events and stat variables
10 years ago
Liana Husikyan
1d15c09e5f
- added externalType to BooleanType.
- fixed the error message
10 years ago
Liana Husikyan
a7eccfaa97
added check for valid externalType to checkTypeRequirements for function
10 years ago
Liana Husikyan
7359f68b9f
- 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
10 years ago
Liana Husikyan
304256b546
- 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
10 years ago
Liana Husikyan
6f11b6a73f
added parsing for constant variables
10 years ago
Lefteris Karapetsas
4700b1b2c8
Fixes after rebasing on top of develop
10 years ago
chriseth
77b9fdcfbc
Fix type checks for storage variable initializer.
10 years ago
Christian
a3b95811d4
Index access for calldata arrays.
10 years ago
Liana Husikyan
a545b8a7a4
removed unused member
added some comments for ModifierInvocation::checkTypeRequirements
cleanup
10 years ago
Liana Husikyan
df4746d5e7
Implemented passing arguments to the base constructor.
10 years ago
Lefteris Karapetsas
de6e9f4f54
Using normal pointer in getInheritableMembers()
10 years ago
Lefteris Karapetsas
1681fbd885
getInheritableMembers() does not look at BaseContracts
- Also adding tests for improper accessing members of other contracts.
10 years ago
Lefteris Karapetsas
58005fd203
Use lambda to avoid code duplication in inheritableMembers
10 years ago
Lefteris Karapetsas
b1dcc2a77f
VisibleInDerivedContracts() is now virtual()
- Plus an extra test for internal visibility in a base class variable
10 years ago
Lefteris Karapetsas
f2fdeb3599
Add structs to inheritable members
10 years ago
Lefteris Karapetsas
345e84baea
Adding inheritable members to a contract
10 years ago
Christian
de537d5de3
Index and length access for dynamic arrays.
10 years ago
Christian
92507f5bf0
Allow conversion to dynamic arrays and update grammar.
10 years ago
Christian
84555b00c9
Index access.
10 years ago
Liana Husikyan
87e956729c
Inline member initialisation
renamed VariableDefinition class to VariableDeclarationStatement
added tests
10 years ago
Gav Wood
2c6b18f01b
Add EVMJIT.
10 years ago
Lefteris Karapetsas
952350bec1
Bugfix for functions override
- 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
10 years ago
Christian
bed225c981
Calldata byte arrays stored on the stack.
10 years ago
Christian
ed0384b759
No write access to parameters of external functions.
10 years ago
Christian
4b0a566e70
Some changes to enums.
10 years ago
Lefteris Karapetsas
58c598b8cb
Moving getMemberValue from EnumDefinition to EnumType
10 years ago
Lefteris Karapetsas
c3c1b5c63c
Addressing issues with Enums in Solidity
10 years ago
Lefteris Karapetsas
e5ccf5e2be
Typo in EnumValue
10 years ago
Lefteris Karapetsas
81ecc03e9d
implement getType() for EnumValue
10 years ago
Lefteris Karapetsas
b4302da542
EnumDeclaration -> EnumValue
10 years ago
Lefteris Karapetsas
5c164fb42c
Enum Value member access should now work properly
- Also detection of duplicate enum values and tests for them have been
added
10 years ago
Lefteris Karapetsas
07886f42bb
Enum type conversion and member value access.
- Added tests for the type conversion part.
- Enum member value access still needs some work
10 years ago
Lefteris Karapetsas
9232b4cd88
Introducing EnumType and some Parser tests
10 years ago
Lefteris Karapetsas
133969bd2a
Parsing an enum AST node
10 years ago
Lefteris Karapetsas
082bfb2300
Parsing enums for Solidity - WIP
10 years ago