aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/codegen/ArrayUtils.h
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-01-25 00:37:22 +0800
committerGitHub <noreply@github.com>2017-01-25 00:37:22 +0800
commit3dc83aa34e83d668cde82953f9efa94ebb7de8ed (patch)
tree06013ebd774f99584be9ca09c22feac010ebc2c7 /libsolidity/codegen/ArrayUtils.h
parent29dab03ec8b595fc25e010bd8b60b2e280d0ebed (diff)
parent7e6f1b3f0008d03e6cdfa186b8f9976570865d4e (diff)
downloaddexon-solidity-3dc83aa34e83d668cde82953f9efa94ebb7de8ed.tar
dexon-solidity-3dc83aa34e83d668cde82953f9efa94ebb7de8ed.tar.gz
dexon-solidity-3dc83aa34e83d668cde82953f9efa94ebb7de8ed.tar.bz2
dexon-solidity-3dc83aa34e83d668cde82953f9efa94ebb7de8ed.tar.lz
dexon-solidity-3dc83aa34e83d668cde82953f9efa94ebb7de8ed.tar.xz
dexon-solidity-3dc83aa34e83d668cde82953f9efa94ebb7de8ed.tar.zst
dexon-solidity-3dc83aa34e83d668cde82953f9efa94ebb7de8ed.zip
Merge pull request #1588 from ethereum/fixrecursivestructs
Introduce low-level functions
Diffstat (limited to 'libsolidity/codegen/ArrayUtils.h')
-rw-r--r--libsolidity/codegen/ArrayUtils.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/libsolidity/codegen/ArrayUtils.h b/libsolidity/codegen/ArrayUtils.h
index d0ba2892..806fbea7 100644
--- a/libsolidity/codegen/ArrayUtils.h
+++ b/libsolidity/codegen/ArrayUtils.h
@@ -22,6 +22,8 @@
#pragma once
+#include <memory>
+
namespace dev
{
namespace solidity
@@ -30,6 +32,7 @@ namespace solidity
class CompilerContext;
class Type;
class ArrayType;
+using TypePointer = std::shared_ptr<Type const>;
/**
* Class that provides code generation for handling arrays.
@@ -67,7 +70,7 @@ public:
/// Appends a loop that clears a sequence of storage slots of the given type (excluding end).
/// Stack pre: end_ref start_ref
/// Stack post: end_ref
- void clearStorageLoop(Type const& _type) const;
+ void clearStorageLoop(TypePointer const& _type) const;
/// Converts length to size (number of storage slots or calldata/memory bytes).
/// if @a _pad then add padding to multiples of 32 bytes for calldata/memory.
/// Stack pre: length