aboutsummaryrefslogtreecommitdiffstats
path: root/ExpressionCompiler.h
diff options
context:
space:
mode:
authorLefteris Karapetsas <lefteris@refu.co>2015-01-27 23:55:06 +0800
committerLefteris Karapetsas <lefteris@refu.co>2015-01-29 04:46:16 +0800
commit2947e038d28d3d732b1db352f71c8c9669df8eef (patch)
treed7ce1854e21c124b8af1ebcc300e04bda39890e1 /ExpressionCompiler.h
parentff91ab96ea843bd8ab9a7c57fd799add2ebc9873 (diff)
downloaddexon-solidity-2947e038d28d3d732b1db352f71c8c9669df8eef.tar.gz
dexon-solidity-2947e038d28d3d732b1db352f71c8c9669df8eef.tar.zst
dexon-solidity-2947e038d28d3d732b1db352f71c8c9669df8eef.zip
EVM Code for simple accessor function is properly generated
Diffstat (limited to 'ExpressionCompiler.h')
-rw-r--r--ExpressionCompiler.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/ExpressionCompiler.h b/ExpressionCompiler.h
index bff2cd7c..8479344a 100644
--- a/ExpressionCompiler.h
+++ b/ExpressionCompiler.h
@@ -53,6 +53,8 @@ public:
/// Appends code to remove dirty higher order bits in case of an implicit promotion to a wider type.
static void appendTypeConversion(CompilerContext& _context, Type const& _typeOnStack,
Type const& _targetType, bool _cleanupNeeded = false);
+ /// Appends code for a State Variable accessor function
+ static void appendStateVariableAccessor(CompilerContext& _context, VariableDeclaration const* _varDecl, bool _optimize = false);
private:
explicit ExpressionCompiler(CompilerContext& _compilerContext, bool _optimize = false):
@@ -130,8 +132,8 @@ private:
/// also removes the reference from the stack (note that is does not reset the type to @a NONE).
/// @a _expression is the current expression, used for error reporting.
void retrieveValue(Expression const& _expression, bool _remove = false) const;
- /// Convenience function to retrive Value from Storage. Specific version of @ref retrieveValue
- void retrieveValueFromStorage(Expression const& _expression, bool _remove = false) const;
+ /// Convenience function to retrieve Value from Storage. Specific version of @ref retrieveValue
+ void retrieveValueFromStorage(std::shared_ptr<Type const> const& _type, bool _remove = false) const;
/// Stores a value (from the stack directly beneath the reference, which is assumed to
/// be on the top of the stack, if any) in the lvalue and removes the reference.
/// Also removes the stored value from the stack if @a _move is