aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Compiler.cpp2
-rw-r--r--ExpressionCompiler.cpp17
-rw-r--r--ExpressionCompiler.h2
3 files changed, 8 insertions, 13 deletions
diff --git a/Compiler.cpp b/Compiler.cpp
index f552210f..bdc29fab 100644
--- a/Compiler.cpp
+++ b/Compiler.cpp
@@ -251,7 +251,7 @@ void Compiler::registerStateVariables(ContractDefinition const& _contract)
void Compiler::initializeStateVariables(ContractDefinition const& _contract)
{
- for(ASTPointer<VariableDeclaration> const& variable: _contract.getStateVariables())
+ for (ASTPointer<VariableDeclaration> const& variable: _contract.getStateVariables())
if (variable->getValue())
{
compileExpression(*(variable->getValue()), (variable->getValue())->getType());
diff --git a/ExpressionCompiler.cpp b/ExpressionCompiler.cpp
index 74dfb2b5..c2a10ab4 100644
--- a/ExpressionCompiler.cpp
+++ b/ExpressionCompiler.cpp
@@ -64,7 +64,7 @@ void ExpressionCompiler::appendStateVariableInitialization(CompilerContext& _con
void ExpressionCompiler::appendStateVariableInitialization(VariableDeclaration const& _varDecl)
{
- m_currentLValue.fromStateVariable(_varDecl);
+ m_currentLValue.fromVariableDeclaration(_varDecl);
m_currentLValue.storeValue(*_varDecl.getType(), _varDecl.getLocation());
m_currentLValue.reset();
}
@@ -1024,22 +1024,17 @@ void ExpressionCompiler::LValue::fromIdentifier(Identifier const& _identifier, D
m_baseStackOffset = m_context->getBaseStackOffsetOfVariable(_declaration);
}
else if (m_context->isStateVariable(&_declaration))
- {
- *m_context << m_context->getStorageLocationOfVariable(_declaration);
- m_type = LValueType::Storage;
- m_dataType = _identifier.getType();
- solAssert(m_dataType->getStorageSize() <= numeric_limits<unsigned>::max(),
- "The storage size of " + m_dataType->toString() + " should fit in an unsigned");
- m_size = unsigned(m_dataType->getStorageSize());
- }
+ //{
+ fromVariableDeclaration(_declaration);
+ //}
else
BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_sourceLocation(_identifier.getLocation())
<< errinfo_comment("Identifier type not supported or identifier not found."));
}
-void ExpressionCompiler::LValue::fromStateVariable(VariableDeclaration const& _declaration)
+void ExpressionCompiler::LValue::fromVariableDeclaration(Declaration const& _declaration)
{
- solAssert(m_context->isStateVariable(&_declaration), "Not a state variable.");
+ //solAssert(m_context->isStateVariable(&_declaration), "Not a state variable.");
*m_context << m_context->getStorageLocationOfVariable(_declaration);
m_type = LValueType::Storage;
m_dataType = _declaration.getType();
diff --git a/ExpressionCompiler.h b/ExpressionCompiler.h
index 3567a914..a29abc7f 100644
--- a/ExpressionCompiler.h
+++ b/ExpressionCompiler.h
@@ -137,7 +137,7 @@ private:
/// Set type according to the declaration and retrieve the reference.
/// @a _declaration is the variable declaration
- void fromStateVariable(VariableDeclaration const& _declaration);
+ void fromVariableDeclaration(const Declaration &_declaration);
void reset() { m_type = LValueType::None; m_dataType.reset(); m_baseStackOffset = 0; m_size = 0; }