aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
diff options
context:
space:
mode:
authorLianaHus <liana@ethdev.com>2015-10-05 17:06:30 +0800
committerLianaHus <liana@ethdev.com>2015-10-15 02:27:44 +0800
commit8f7f22c5a6b1a71d7baff489b6425670550e8e8b (patch)
treed133d6f4cbe0f712e648d1b646505b6495fa1b31 /libsolidity
parent742e5b259a8c88e69f09ede7312673157cd77a1f (diff)
downloaddexon-solidity-8f7f22c5a6b1a71d7baff489b6425670550e8e8b.tar
dexon-solidity-8f7f22c5a6b1a71d7baff489b6425670550e8e8b.tar.gz
dexon-solidity-8f7f22c5a6b1a71d7baff489b6425670550e8e8b.tar.bz2
dexon-solidity-8f7f22c5a6b1a71d7baff489b6425670550e8e8b.tar.lz
dexon-solidity-8f7f22c5a6b1a71d7baff489b6425670550e8e8b.tar.xz
dexon-solidity-8f7f22c5a6b1a71d7baff489b6425670550e8e8b.tar.zst
dexon-solidity-8f7f22c5a6b1a71d7baff489b6425670550e8e8b.zip
some fixes
Diffstat (limited to 'libsolidity')
-rw-r--r--libsolidity/Exceptions.h3
-rw-r--r--libsolidity/TypeChecker.cpp5
-rw-r--r--libsolidity/TypeChecker.h4
3 files changed, 8 insertions, 4 deletions
diff --git a/libsolidity/Exceptions.h b/libsolidity/Exceptions.h
index 723475c7..5a1b827c 100644
--- a/libsolidity/Exceptions.h
+++ b/libsolidity/Exceptions.h
@@ -41,6 +41,7 @@ public:
DocstringParsingError,
ParserError,
TypeError,
+
Warning
};
@@ -69,7 +70,7 @@ public:
}
}
- Type type() { return m_type; }
+ Type const type() { return m_type; } const
std::string const& typeName() const { return m_typeName; }
private:
diff --git a/libsolidity/TypeChecker.cpp b/libsolidity/TypeChecker.cpp
index 658e4874..e3264429 100644
--- a/libsolidity/TypeChecker.cpp
+++ b/libsolidity/TypeChecker.cpp
@@ -45,11 +45,14 @@ bool TypeChecker::checkTypeRequirements(const ContractDefinition& _contract)
}
bool success = true;
for (auto const& it: m_errors)
- if (!dynamic_cast<Warning const*>(it.get()))
+ {
+ Error const& e = dynamic_cast<Error const&>(it.get());
+ if (e.type() != Error::Type::Warning)
{
success = false;
break;
}
+ }
return success;
}
diff --git a/libsolidity/TypeChecker.h b/libsolidity/TypeChecker.h
index cb65d5a8..c654c698 100644
--- a/libsolidity/TypeChecker.h
+++ b/libsolidity/TypeChecker.h
@@ -47,7 +47,7 @@ public:
bool checkTypeRequirements(ContractDefinition const& _contract);
/// @returns the list of errors and warnings found during type checking.
- std::vector<std::shared_ptr<Error const>> const& errors() const { return m_errors; }
+ ErrorList const& errors() const { return m_errors; }
/// @returns the type of an expression and asserts that it is present.
TypePointer const& type(Expression const& _expression) const;
@@ -114,7 +114,7 @@ private:
/// Runs type checks on @a _expression to infer its type and then checks that it is an LValue.
void requireLValue(Expression const& _expression);
- std::vector<std::shared_ptr<Error const>> m_errors;
+ ErrorList m_errors;
};
}