diff options
author | Christian <c@ethdev.com> | 2015-02-15 09:00:33 +0800 |
---|---|---|
committer | Christian <c@ethdev.com> | 2015-02-17 02:25:27 +0800 |
commit | 971cc9b5b9242f36c1fa288615e2bf2d762fbd52 (patch) | |
tree | 100c83123364475d95e5331750578d2ce2602dc7 /Types.h | |
parent | d630a67812900036ba4aa7bfd47f07c7adddb247 (diff) | |
download | dexon-solidity-971cc9b5b9242f36c1fa288615e2bf2d762fbd52.tar.gz dexon-solidity-971cc9b5b9242f36c1fa288615e2bf2d762fbd52.tar.zst dexon-solidity-971cc9b5b9242f36c1fa288615e2bf2d762fbd52.zip |
Unpacking of dynamically sized arguments.
Diffstat (limited to 'Types.h')
-rw-r--r-- | Types.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -122,6 +122,8 @@ public: /// is not a simple big-endian encoding or the type cannot be stored in calldata. /// Note that irrespective of this size, each calldata element is padded to a multiple of 32 bytes. virtual unsigned getCalldataEncodedSize() const { return 0; } + /// @returns true if the type is dynamically encoded in calldata + virtual bool isDynamicallySized() const { return false; } /// @returns number of bytes required to hold this value in storage. /// For dynamically "allocated" types, it returns the size of the statically allocated head, virtual u256 getStorageSize() const { return 1; } @@ -289,6 +291,7 @@ public: virtual bool isImplicitlyConvertibleTo(Type const& _convertTo) const override; virtual TypePointer unaryOperatorResult(Token::Value _operator) const override; virtual bool operator==(const Type& _other) const override; + virtual bool isDynamicallySized() const { return true; } virtual unsigned getSizeOnStack() const override; virtual std::string toString() const override { return "bytes"; } virtual MemberList const& getMembers() const override { return s_byteArrayMemberList; } |