diff options
author | LianaHus <liana@ethdev.com> | 2015-09-17 21:04:44 +0800 |
---|---|---|
committer | LianaHus <liana@ethdev.com> | 2015-09-17 21:15:46 +0800 |
commit | e50400082b1fe3b1086d8ebb874b12b30ef2ff92 (patch) | |
tree | 3bb55ebfe31cbb3a15b7ffa306a4e1a1d99325ae /libsolidity | |
parent | e89b8d516b7e208bc67e273e174714f7f9b67b77 (diff) | |
download | dexon-solidity-e50400082b1fe3b1086d8ebb874b12b30ef2ff92.tar dexon-solidity-e50400082b1fe3b1086d8ebb874b12b30ef2ff92.tar.gz dexon-solidity-e50400082b1fe3b1086d8ebb874b12b30ef2ff92.tar.bz2 dexon-solidity-e50400082b1fe3b1086d8ebb874b12b30ef2ff92.tar.lz dexon-solidity-e50400082b1fe3b1086d8ebb874b12b30ef2ff92.tar.xz dexon-solidity-e50400082b1fe3b1086d8ebb874b12b30ef2ff92.tar.zst dexon-solidity-e50400082b1fe3b1086d8ebb874b12b30ef2ff92.zip |
fixed using string as a type for struct member
Diffstat (limited to 'libsolidity')
-rw-r--r-- | libsolidity/AST.h | 9 | ||||
-rw-r--r-- | libsolidity/ExpressionCompiler.cpp | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/libsolidity/AST.h b/libsolidity/AST.h index de0ef3ef..ba529a8a 100644 --- a/libsolidity/AST.h +++ b/libsolidity/AST.h @@ -347,10 +347,13 @@ private: class StructDefinition: public Declaration { public: - StructDefinition(SourceLocation const& _location, - ASTPointer<ASTString> const& _name, - std::vector<ASTPointer<VariableDeclaration>> const& _members): + StructDefinition( + SourceLocation const& _location, + ASTPointer<ASTString> const& _name, + std::vector<ASTPointer<VariableDeclaration>> const& _members + ): Declaration(_location, _name), m_members(_members) {} + virtual void accept(ASTVisitor& _visitor) override; virtual void accept(ASTConstVisitor& _visitor) const override; diff --git a/libsolidity/ExpressionCompiler.cpp b/libsolidity/ExpressionCompiler.cpp index 1b9f2150..7db0dde9 100644 --- a/libsolidity/ExpressionCompiler.cpp +++ b/libsolidity/ExpressionCompiler.cpp @@ -390,7 +390,7 @@ bool ExpressionCompiler::visit(FunctionCall const& _functionCall) TypeType const& type = dynamic_cast<TypeType const&>(*_functionCall.expression().type()); auto const& structType = dynamic_cast<StructType const&>(*type.actualType()); - m_context << u256(max(32u, structType.calldataEncodedSize(true))); + m_context << max(u256(32u), structType.memorySize()); utils().allocateMemory(); m_context << eth::Instruction::DUP1; |