aboutsummaryrefslogtreecommitdiffstats
path: root/AST.cpp
diff options
context:
space:
mode:
authorChristian <c@ethdev.com>2015-01-07 02:08:24 +0800
committerChristian <c@ethdev.com>2015-01-08 04:44:17 +0800
commitd35842d65e4f81aa22114a312cd84b5835bc2533 (patch)
tree2fbd08aa71d39b3b9452752907bbb1f7f6e69d06 /AST.cpp
parentb6bad63d44224f2a4cc4aa3f656703dff7c13db3 (diff)
downloaddexon-solidity-d35842d65e4f81aa22114a312cd84b5835bc2533.tar
dexon-solidity-d35842d65e4f81aa22114a312cd84b5835bc2533.tar.gz
dexon-solidity-d35842d65e4f81aa22114a312cd84b5835bc2533.tar.bz2
dexon-solidity-d35842d65e4f81aa22114a312cd84b5835bc2533.tar.lz
dexon-solidity-d35842d65e4f81aa22114a312cd84b5835bc2533.tar.xz
dexon-solidity-d35842d65e4f81aa22114a312cd84b5835bc2533.tar.zst
dexon-solidity-d35842d65e4f81aa22114a312cd84b5835bc2533.zip
Possibility for unary operators to change type.
Diffstat (limited to 'AST.cpp')
-rw-r--r--AST.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/AST.cpp b/AST.cpp
index 97af6a1a..107482d0 100644
--- a/AST.cpp
+++ b/AST.cpp
@@ -227,8 +227,8 @@ void UnaryOperation::checkTypeRequirements()
m_subExpression->checkTypeRequirements();
if (m_operator == Token::Value::INC || m_operator == Token::Value::DEC || m_operator == Token::Value::DELETE)
m_subExpression->requireLValue();
- m_type = m_subExpression->getType();
- if (!m_type->acceptsUnaryOperator(m_operator))
+ m_type = m_subExpression->getType()->unaryOperatorResult(m_operator);
+ if (!m_type)
BOOST_THROW_EXCEPTION(createTypeError("Unary operator not compatible with type."));
}