aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-07-19 09:19:00 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2017-07-27 05:23:21 +0800
commit80980309867ce8cdc70ebb5bb36bbe01cfd01361 (patch)
tree57d9905ce01be0c17ac9598da344ba713911bcb6 /libsolidity/ast
parenta605e4eb957f65ab172015bd4f03ee56445a9f91 (diff)
downloaddexon-solidity-80980309867ce8cdc70ebb5bb36bbe01cfd01361.tar
dexon-solidity-80980309867ce8cdc70ebb5bb36bbe01cfd01361.tar.gz
dexon-solidity-80980309867ce8cdc70ebb5bb36bbe01cfd01361.tar.bz2
dexon-solidity-80980309867ce8cdc70ebb5bb36bbe01cfd01361.tar.lz
dexon-solidity-80980309867ce8cdc70ebb5bb36bbe01cfd01361.tar.xz
dexon-solidity-80980309867ce8cdc70ebb5bb36bbe01cfd01361.tar.zst
dexon-solidity-80980309867ce8cdc70ebb5bb36bbe01cfd01361.zip
Use solAssert instead of boost throw where possible
Diffstat (limited to 'libsolidity/ast')
-rw-r--r--libsolidity/ast/AST.h4
-rw-r--r--libsolidity/ast/ASTJsonConverter.cpp10
-rw-r--r--libsolidity/ast/Types.cpp32
-rw-r--r--libsolidity/ast/Types.h5
4 files changed, 19 insertions, 32 deletions
diff --git a/libsolidity/ast/AST.h b/libsolidity/ast/AST.h
index 81ddc754..38396c43 100644
--- a/libsolidity/ast/AST.h
+++ b/libsolidity/ast/AST.h
@@ -791,11 +791,11 @@ public:
Declaration(SourceLocation(), std::make_shared<ASTString>(_name)), m_type(_type) {}
virtual void accept(ASTVisitor&) override
{
- BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("MagicVariableDeclaration used inside real AST."));
+ solAssert(false, "MagicVariableDeclaration used inside real AST.");
}
virtual void accept(ASTConstVisitor&) const override
{
- BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("MagicVariableDeclaration used inside real AST."));
+ solAssert(false, "MagicVariableDeclaration used inside real AST.");
}
virtual TypePointer type() const override { return m_type; }
diff --git a/libsolidity/ast/ASTJsonConverter.cpp b/libsolidity/ast/ASTJsonConverter.cpp
index a90debb2..eda70b63 100644
--- a/libsolidity/ast/ASTJsonConverter.cpp
+++ b/libsolidity/ast/ASTJsonConverter.cpp
@@ -743,7 +743,7 @@ string ASTJsonConverter::visibility(Declaration::Visibility const& _visibility)
case Declaration::Visibility::External:
return "external";
default:
- BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Unknown declaration visibility."));
+ solAssert(false, "Unknown declaration visibility.");
}
}
@@ -758,7 +758,7 @@ string ASTJsonConverter::location(VariableDeclaration::Location _location)
case VariableDeclaration::Location::Memory:
return "memory";
default:
- BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Unknown declaration location."));
+ solAssert(false, "Unknown declaration location.");
}
}
@@ -773,7 +773,7 @@ string ASTJsonConverter::contractKind(ContractDefinition::ContractKind _kind)
case ContractDefinition::ContractKind::Library:
return "library";
default:
- BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Unknown kind of contract."));
+ solAssert(false, "Unknown kind of contract.");
}
}
@@ -788,7 +788,7 @@ string ASTJsonConverter::functionCallKind(FunctionCallKind _kind)
case FunctionCallKind::StructConstructorCall:
return "structConstructorCall";
default:
- BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Unknown kind of function call ."));
+ solAssert(false, "Unknown kind of function call.");
}
}
@@ -804,7 +804,7 @@ string ASTJsonConverter::literalTokenKind(Token::Value _token)
case dev::solidity::Token::FalseLiteral:
return "bool";
default:
- BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Unknown kind of literal token."));
+ solAssert(false, "Unknown kind of literal token.");
}
}
diff --git a/libsolidity/ast/Types.cpp b/libsolidity/ast/Types.cpp
index bcfccc3e..84e4a077 100644
--- a/libsolidity/ast/Types.cpp
+++ b/libsolidity/ast/Types.cpp
@@ -211,9 +211,10 @@ TypePointer Type::fromElementaryTypeName(ElementaryTypeNameToken const& _type)
return make_shared<ArrayType>(DataLocation::Storage, true);
//no types found
default:
- BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment(
+ solAssert(
+ false,
"Unable to convert elementary typename " + _type.toString() + " to type."
- ));
+ );
}
}
@@ -1176,7 +1177,7 @@ u256 BoolType::literalValue(Literal const* _literal) const
else if (_literal->token() == Token::FalseLiteral)
return u256(0);
else
- BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Bool type constructed from non-boolean literal."));
+ solAssert(false, "Bool type constructed from non-boolean literal.");
}
TypePointer BoolType::unaryOperatorResult(Token::Value _operator) const
@@ -1938,10 +1939,7 @@ string TupleType::toString(bool _short) const
u256 TupleType::storageSize() const
{
- BOOST_THROW_EXCEPTION(
- InternalCompilerError() <<
- errinfo_comment("Storage size of non-storable tuple type requested.")
- );
+ solAssert(false, "Storage size of non-storable tuple type requested.");
}
unsigned TupleType::sizeOnStack() const
@@ -2323,9 +2321,7 @@ u256 FunctionType::storageSize() const
if (m_kind == Kind::External || m_kind == Kind::Internal)
return 1;
else
- BOOST_THROW_EXCEPTION(
- InternalCompilerError()
- << errinfo_comment("Storage size of non-storable function type requested."));
+ solAssert(false, "Storage size of non-storable function type requested.");
}
unsigned FunctionType::storageBytes() const
@@ -2335,9 +2331,7 @@ unsigned FunctionType::storageBytes() const
else if (m_kind == Kind::Internal)
return 8; // it should really not be possible to create larger programs
else
- BOOST_THROW_EXCEPTION(
- InternalCompilerError()
- << errinfo_comment("Storage size of non-storable function type requested."));
+ solAssert(false, "Storage size of non-storable function type requested.");
}
unsigned FunctionType::sizeOnStack() const
@@ -2695,9 +2689,7 @@ bool TypeType::operator==(Type const& _other) const
u256 TypeType::storageSize() const
{
- BOOST_THROW_EXCEPTION(
- InternalCompilerError()
- << errinfo_comment("Storage size of non-storable type type requested."));
+ solAssert(false, "Storage size of non-storable type type requested.");
}
unsigned TypeType::sizeOnStack() const
@@ -2764,9 +2756,7 @@ ModifierType::ModifierType(const ModifierDefinition& _modifier)
u256 ModifierType::storageSize() const
{
- BOOST_THROW_EXCEPTION(
- InternalCompilerError()
- << errinfo_comment("Storage size of non-storable type type requested."));
+ solAssert(false, "Storage size of non-storable type type requested.");
}
string ModifierType::identifier() const
@@ -2875,7 +2865,7 @@ MemberList::MemberMap MagicType::nativeMembers(ContractDefinition const*) const
{"gasprice", make_shared<IntegerType>(256)}
});
default:
- BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Unknown kind of magic."));
+ solAssert(false, "Unknown kind of magic.");
}
}
@@ -2890,6 +2880,6 @@ string MagicType::toString(bool) const
case Kind::Transaction:
return "tx";
default:
- BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Unknown kind of magic."));
+ solAssert(false, "Unknown kind of magic.");
}
}
diff --git a/libsolidity/ast/Types.h b/libsolidity/ast/Types.h
index 3d7dad16..1db46355 100644
--- a/libsolidity/ast/Types.h
+++ b/libsolidity/ast/Types.h
@@ -245,10 +245,7 @@ public:
virtual std::string canonicalName(bool /*_addDataLocation*/) const { return toString(true); }
virtual u256 literalValue(Literal const*) const
{
- BOOST_THROW_EXCEPTION(
- InternalCompilerError() <<
- errinfo_comment("Literal value requested for type without literals.")
- );
+ solAssert(false, "Literal value requested for type without literals.");
}
/// @returns a (simpler) type that is encoded in the same way for external function calls.