Merge remote-tracking branch 'origin/develop' into breaking

This commit is contained in:
chriseth 2020-06-22 18:40:20 +02:00
commit 1441b97131
1766 changed files with 3985 additions and 3906 deletions
Changelog.md
docs
liblangutil
libsolidity
libyul
scripts
test
CommonSyntaxTest.cppCommonSyntaxTest.h
libsolidity
SMTCheckerJSONTest.cppSyntaxTest.cpp
errorRecoveryTests
smtCheckerTests
array_members
complex
control_flow
functions

View File

@ -33,6 +33,8 @@ Compiler Features:
Bugfixes:
* NatSpec: Do not consider ``////`` and ``/***`` as NatSpec comments.
* Type Checker: Fix internal error related to ``using for`` applied to non-libraries.
* Yul: Fix source location of variable multi-assignment.
### 0.6.10 (2020-06-11)

View File

@ -904,7 +904,7 @@ In some internal dialects, there are additional functions:
datasize, dataoffset, datacopy
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The functions ``datasize(x)``, ``dataoffset(x)`` and ``datacopy(t, f, l)``,
The functions ``datasize(x)``, ``dataoffset(x)`` and ``datacopy(t, f, l)``
are used to access other parts of a Yul object.
``datasize`` and ``dataoffset`` can only take string literals (the names of other objects)
@ -916,9 +916,9 @@ setimmutable, loadimmutable
^^^^^^^^^^^^^^^^^^^^^^^^^^^
The functions ``setimmutable("name", value)`` and ``loadimmutable("name")`` are
used for the immutable mechanism in Solidity and do not nicely map to pur Yul.
used for the immutable mechanism in Solidity and do not nicely map to pure Yul.
The function ``setimmutable`` assumes that the runtime code of a contract
is currently copied to memory at offsot zero. The call to ``setimmutable("name", value)``
is currently copied to memory at offset zero. The call to ``setimmutable("name", value)``
will store ``value`` at all points in memory that contain a call to
``loadimmutable("name")``.

View File

@ -64,7 +64,11 @@ struct InvalidAstError: virtual util::Exception {};
* To create a new ID, one can add 0000_error and then run "python ./scripts/fix_error_ids.py"
* from the root of the repo.
*/
struct ErrorId { unsigned long long error = 0; };
struct ErrorId
{
unsigned long long error = 0;
bool operator==(ErrorId const& _rhs) const { return error == _rhs.error; }
};
constexpr ErrorId operator"" _error(unsigned long long _error) { return ErrorId{ _error }; }
class Error: virtual public util::Exception

View File

@ -395,6 +395,15 @@ void DeclarationTypeChecker::endVisit(VariableDeclaration const& _variable)
}
void DeclarationTypeChecker::endVisit(UsingForDirective const& _usingFor)
{
ContractDefinition const* library = dynamic_cast<ContractDefinition const*>(
_usingFor.libraryName().annotation().referencedDeclaration
);
if (!library || !library->isLibrary())
m_errorReporter.fatalTypeError(4357_error, _usingFor.libraryName().location(), "Library name expected.");
}
bool DeclarationTypeChecker::check(ASTNode const& _node)
{
auto watcher = m_errorReporter.errorWatcher();

View File

@ -58,6 +58,7 @@ private:
void endVisit(ArrayTypeName const& _typeName) override;
void endVisit(VariableDeclaration const& _variable) override;
bool visit(StructDefinition const& _struct) override;
void endVisit(UsingForDirective const& _usingForDirective) override;
langutil::ErrorReporter& m_errorReporter;
langutil::EVMVersion m_evmVersion;

View File

@ -313,15 +313,6 @@ void TypeChecker::endVisit(InheritanceSpecifier const& _inheritance)
}
}
void TypeChecker::endVisit(UsingForDirective const& _usingFor)
{
ContractDefinition const* library = dynamic_cast<ContractDefinition const*>(
_usingFor.libraryName().annotation().referencedDeclaration
);
if (!library || !library->isLibrary())
m_errorReporter.fatalTypeError(4357_error, _usingFor.libraryName().location(), "Library name expected.");
}
void TypeChecker::endVisit(ModifierDefinition const& _modifier)
{
if (!_modifier.isImplemented() && !_modifier.virtualSemantics())
@ -2715,6 +2706,8 @@ bool TypeChecker::visit(MemberAccess const& _memberAccess)
annotation.isPure = _memberAccess.expression().annotation().isPure;
}
}
else if (exprType->category() == Type::Category::Module)
annotation.isPure = _memberAccess.expression().annotation().isPure;
// TODO some members might be pure, but for example `address(0x123).balance` is not pure
// although every subexpression is, so leaving this limited for now.
@ -3064,7 +3057,8 @@ bool TypeChecker::visit(Identifier const& _identifier)
}
else if (dynamic_cast<TypeType const*>(annotation.type))
annotation.isPure = true;
else if (dynamic_cast<ModuleType const*>(annotation.type))
annotation.isPure = true;
// Check for deprecated function names.
// The check is done here for the case without an actual function call.

View File

@ -111,7 +111,6 @@ private:
);
void endVisit(InheritanceSpecifier const& _inheritance) override;
void endVisit(UsingForDirective const& _usingFor) override;
void endVisit(ModifierDefinition const& _modifier) override;
bool visit(FunctionDefinition const& _function) override;
bool visit(VariableDeclaration const& _variable) override;

View File

@ -1718,6 +1718,16 @@ bool ExpressionCompiler::visit(MemberAccess const& _memberAccess)
solAssert(false, "Illegal fixed bytes member.");
break;
}
case Type::Category::Module:
{
Type::Category category = _memberAccess.annotation().type->category();
solAssert(
category == Type::Category::TypeType ||
category == Type::Category::Module,
""
);
break;
}
default:
solAssert(false, "Member access to unknown type.");
}
@ -1933,6 +1943,10 @@ void ExpressionCompiler::endVisit(Identifier const& _identifier)
{
// no-op
}
else if (dynamic_cast<ImportDirective const*>(declaration))
{
// no-op
}
else
{
solAssert(false, "Identifier type not expected in expression context.");

View File

@ -175,7 +175,8 @@ Statement Parser::parseStatement()
case Token::Comma:
case Token::AssemblyAssign:
{
std::vector<Identifier> variableNames;
Assignment assignment;
assignment.location = locationOf(elementary);
while (true)
{
@ -197,7 +198,7 @@ Statement Parser::parseStatement()
if (m_dialect.builtin(identifier.name))
fatalParserError(6272_error, "Cannot assign to builtin function \"" + identifier.name.str() + "\".");
variableNames.emplace_back(identifier);
assignment.variableNames.emplace_back(identifier);
if (currentToken() != Token::Comma)
break;
@ -207,10 +208,6 @@ Statement Parser::parseStatement()
elementary = parseElementaryOperation();
}
Assignment assignment;
assignment.location = std::get<Identifier>(elementary).location;
assignment.variableNames = std::move(variableNames);
expectToken(Token::AssemblyAssign);
assignment.value = make_unique<Expression>(parseExpression());

View File

@ -170,7 +170,7 @@ case $(uname -s) in
# Debian
#------------------------------------------------------------------------------
Debian*)
Debian*|Raspbian)
#Debian
. /etc/os-release
install_z3=""

View File

@ -165,8 +165,10 @@ void CommonSyntaxTest::printErrorList(
{
{
AnsiColorized scope(_stream, _formatted, {BOLD, (error.type == "Warning") ? YELLOW : RED});
_stream << _linePrefix;
_stream << error.type << ": ";
_stream << _linePrefix << error.type;
if (error.errorId.has_value())
_stream << ' ' << error.errorId->error;
_stream << ": ";
}
if (!error.sourceName.empty() || error.locationStart >= 0 || error.locationEnd >= 0)
{
@ -206,13 +208,17 @@ vector<SyntaxTestError> CommonSyntaxTest::parseExpectations(istream& _stream)
if (it == line.end()) continue;
auto typeBegin = it;
while (it != line.end() && *it != ':')
while (it != line.end() && isalpha(*it))
++it;
string errorType(typeBegin, it);
// skip colon
if (it != line.end()) it++;
skipWhitespace(it, line.end());
optional<ErrorId> errorId;
if (it != line.end() && isdigit(*it))
errorId = ErrorId{static_cast<unsigned long long>(parseUnsignedInteger(it, line.end()))};
expect(it, line.end(), ':');
skipWhitespace(it, line.end());
int locationStart = -1;
@ -242,6 +248,7 @@ vector<SyntaxTestError> CommonSyntaxTest::parseExpectations(istream& _stream)
string errorMessage(it, line.end());
expectations.emplace_back(SyntaxTestError{
move(errorType),
move(errorId),
move(errorMessage),
move(sourceName),
locationStart,

View File

@ -33,6 +33,7 @@ namespace solidity::test
struct SyntaxTestError
{
std::string type;
std::optional<langutil::ErrorId> errorId;
std::string message;
std::string sourceName;
int locationStart = -1;
@ -40,6 +41,7 @@ struct SyntaxTestError
bool operator==(SyntaxTestError const& _rhs) const
{
return type == _rhs.type &&
errorId == _rhs.errorId &&
message == _rhs.message &&
sourceName == _rhs.sourceName &&
locationStart == _rhs.locationStart &&

View File

@ -127,6 +127,7 @@ TestCase::TestResult SMTCheckerJSONTest::run(ostream& _stream, string const& _li
end -= preamble.size();
m_errorList.emplace_back(SyntaxTestError{
error["type"].asString(),
error["errorId"].isNull() ? nullopt : optional<langutil::ErrorId>(langutil::ErrorId{error["errorId"].asUInt()}),
error["message"].asString(),
sourceName,
static_cast<int>(start),

View File

@ -79,6 +79,7 @@ void SyntaxTest::parseAndAnalyze()
{
m_errorList.emplace_back(SyntaxTestError{
"UnimplementedFeatureError",
nullopt,
errorMessage(_e),
"",
-1,
@ -106,6 +107,7 @@ void SyntaxTest::filterObtainedErrors()
}
m_errorList.emplace_back(SyntaxTestError{
currentError->typeName(),
currentError->errorId(),
errorMessage(*currentError),
sourceName,
locationStart,

View File

@ -16,5 +16,5 @@ contract Error1 {
}
}
// ----
// ParserError: (95-96): Expected primary expression.
// Warning: (95-96): Recovered in Statement at ';'.
// ParserError 6933: (95-96): Expected primary expression.
// Warning 3347: (95-96): Recovered in Statement at ';'.

View File

@ -3,5 +3,5 @@ contract Errort6 {
}
// ----
// ParserError: (36-37): Expected type name
// Warning: (59-60): Recovered in ContractDefinition at '}'.
// ParserError 3546: (36-37): Expected type name
// Warning 3796: (59-60): Recovered in ContractDefinition at '}'.

View File

@ -10,4 +10,4 @@ contract Error2 {
mapping (address => uint balances; // missing ) before "balances"
}
// ----
// ParserError: (417-425): Expected ')' but got identifier
// ParserError 6635: (417-425): Expected ')' but got identifier

View File

@ -17,7 +17,7 @@ contract SendCoin {
}
// ----
// ParserError: (212-220): Expected ')' but got identifier
// ParserError: (220-221): Expected ';' but got ')'
// ParserError: (220-221): Function, variable, struct or modifier declaration expected.
// Warning: (235-236): Recovered in ContractDefinition at '}'.
// ParserError 6635: (212-220): Expected ')' but got identifier
// ParserError 6635: (220-221): Expected ';' but got ')'
// ParserError 9182: (220-221): Function, variable, struct or modifier declaration expected.
// Warning 3796: (235-236): Recovered in ContractDefinition at '}'.

View File

@ -7,5 +7,5 @@ contract Error3 {
}
// ----
// ParserError: (95-96): Expected primary expression.
// Warning: (95-96): Recovered in Statement at ';'.
// ParserError 6933: (95-96): Expected primary expression.
// Warning 3347: (95-96): Recovered in Statement at ';'.

View File

@ -21,9 +21,9 @@ contract Error4 {
}
// ----
// ParserError: (249-250): Expected ';' but got 'Number'
// ParserError: (471-479): Expected ';' but got identifier
// ParserError: (529-533): Expected ';' but got 'emit'
// ParserError: (577-583): Expected ',' but got 'return'
// ParserError: (577-583): Expected primary expression.
// Warning: (588-589): Recovered in Statement at ';'.
// ParserError 6635: (249-250): Expected ';' but got 'Number'
// ParserError 6635: (471-479): Expected ';' but got identifier
// ParserError 6635: (529-533): Expected ';' but got 'emit'
// ParserError 6635: (577-583): Expected ',' but got 'return'
// ParserError 6933: (577-583): Expected primary expression.
// Warning 3796: (588-589): Recovered in Statement at ';'.

View File

@ -11,10 +11,10 @@ contract C {
}
}
// ----
// Warning: (76-80): Assertion checker does not yet support the type of this variable.
// Warning: (83-87): Assertion checker does not yet support the type of this variable.
// Warning: (126-132): Assertion checker does not yet support this expression.
// Warning: (126-128): Assertion checker does not yet implement type struct C.S storage ref
// Warning: (143-149): Assertion checker does not yet support this expression.
// Warning: (143-145): Assertion checker does not yet implement type struct C.S storage ref
// Warning: (119-157): Assertion violation happens here
// Warning 8115: (76-80): Assertion checker does not yet support the type of this variable.
// Warning 8115: (83-87): Assertion checker does not yet support the type of this variable.
// Warning 7650: (126-132): Assertion checker does not yet support this expression.
// Warning 8364: (126-128): Assertion checker does not yet implement type struct C.S storage ref
// Warning 7650: (143-149): Assertion checker does not yet support this expression.
// Warning 8364: (143-145): Assertion checker does not yet implement type struct C.S storage ref
// Warning 4661: (119-157): Assertion violation happens here

View File

@ -11,12 +11,12 @@ contract C {
}
}
// ----
// Warning: (78-82): Assertion checker does not yet support the type of this variable.
// Warning: (85-89): Assertion checker does not yet support the type of this variable.
// Warning: (128-134): Assertion checker does not yet support this expression.
// Warning: (128-130): Assertion checker does not yet implement type struct C.S storage ref
// Warning: (128-137): Assertion checker does not yet implement this expression.
// Warning: (148-154): Assertion checker does not yet support this expression.
// Warning: (148-150): Assertion checker does not yet implement type struct C.S storage ref
// Warning: (148-157): Assertion checker does not yet implement this expression.
// Warning: (121-165): Assertion violation happens here
// Warning 8115: (78-82): Assertion checker does not yet support the type of this variable.
// Warning 8115: (85-89): Assertion checker does not yet support the type of this variable.
// Warning 7650: (128-134): Assertion checker does not yet support this expression.
// Warning 8364: (128-130): Assertion checker does not yet implement type struct C.S storage ref
// Warning 9118: (128-137): Assertion checker does not yet implement this expression.
// Warning 7650: (148-154): Assertion checker does not yet support this expression.
// Warning 8364: (148-150): Assertion checker does not yet implement type struct C.S storage ref
// Warning 9118: (148-157): Assertion checker does not yet implement this expression.
// Warning 4661: (121-165): Assertion violation happens here

View File

@ -10,4 +10,4 @@ contract C {
}
}
// ----
// Warning: (153-176): Assertion violation happens here
// Warning 4661: (153-176): Assertion violation happens here

View File

@ -14,6 +14,6 @@ contract C {
}
}
// ----
// Warning: (198-224): Assertion violation happens here
// Warning: (228-254): Assertion violation happens here
// Warning: (258-281): Assertion violation happens here
// Warning 4661: (198-224): Assertion violation happens here
// Warning 4661: (228-254): Assertion violation happens here
// Warning 4661: (258-281): Assertion violation happens here

View File

@ -16,7 +16,7 @@ contract C {
}
}
// ----
// Warning: (222-248): Assertion violation happens here
// Warning: (252-278): Assertion violation happens here
// Warning: (282-305): Assertion violation happens here
// Warning: (309-335): Assertion violation happens here
// Warning 4661: (222-248): Assertion violation happens here
// Warning 4661: (252-278): Assertion violation happens here
// Warning 4661: (282-305): Assertion violation happens here
// Warning 4661: (309-335): Assertion violation happens here

View File

@ -7,4 +7,4 @@ contract C {
}
}
// ----
// Warning: (82-89): Empty array "pop" detected here.
// Warning 2529: (82-89): Empty array "pop" detected here.

View File

@ -9,4 +9,4 @@ contract C {
}
}
// ----
// Warning: (111-121): Empty array "pop" detected here.
// Warning 2529: (111-121): Empty array "pop" detected here.

View File

@ -7,4 +7,4 @@ contract C {
}
}
// ----
// Warning: (83-90): Empty array "pop" detected here.
// Warning 2529: (83-90): Empty array "pop" detected here.

View File

@ -11,4 +11,4 @@ contract C {
}
}
// ----
// Warning: (150-157): Empty array "pop" detected here.
// Warning 2529: (150-157): Empty array "pop" detected here.

View File

@ -10,5 +10,5 @@ contract C {
}
}
// ----
// Warning: (162-177): Underflow (resulting value less than 0) happens here
// Warning: (150-184): Assertion violation happens here
// Warning 4144: (162-177): Underflow (resulting value less than 0) happens here
// Warning 4661: (150-184): Assertion violation happens here

View File

@ -12,5 +12,5 @@ contract C {
}
}
// ----
// Warning: (217-232): Underflow (resulting value less than 0) happens here
// Warning: (205-239): Assertion violation happens here
// Warning 4144: (217-232): Underflow (resulting value less than 0) happens here
// Warning 4661: (205-239): Assertion violation happens here

View File

@ -12,4 +12,4 @@ contract C {
}
}
// ----
// Warning: (167-188): Assertion violation happens here
// Warning 4661: (167-188): Assertion violation happens here

View File

@ -18,6 +18,6 @@ contract C {
}
}
// ----
// Warning: (193-217): Assertion violation happens here
// Warning: (309-333): Assertion violation happens here
// Warning: (419-436): Assertion violation happens here
// Warning 4661: (193-217): Assertion violation happens here
// Warning 4661: (309-333): Assertion violation happens here
// Warning 4661: (419-436): Assertion violation happens here

View File

@ -15,13 +15,13 @@ contract C {
}
// ----
// Warning: (72-75): Assertion checker does not yet support the type of this variable.
// Warning: (100-103): Assertion checker does not yet support the type of this variable.
// Warning: (130-133): Assertion checker does not yet support this expression.
// Warning: (130-131): Assertion checker does not yet implement type struct C.S storage ref
// Warning: (130-133): Assertion checker does not yet implement this expression.
// Warning: (144-149): Assertion checker does not yet support this expression.
// Warning: (144-147): Assertion checker does not yet implement type struct C.S storage ref
// Warning: (144-147): Assertion checker does not yet support this expression.
// Warning: (144-145): Assertion checker does not yet implement type struct C.T storage ref
// Warning: (144-149): Assertion checker does not yet implement this expression.
// Warning 8115: (72-75): Assertion checker does not yet support the type of this variable.
// Warning 8115: (100-103): Assertion checker does not yet support the type of this variable.
// Warning 7650: (130-133): Assertion checker does not yet support this expression.
// Warning 8364: (130-131): Assertion checker does not yet implement type struct C.S storage ref
// Warning 9599: (130-133): Assertion checker does not yet implement this expression.
// Warning 7650: (144-149): Assertion checker does not yet support this expression.
// Warning 8364: (144-147): Assertion checker does not yet implement type struct C.S storage ref
// Warning 7650: (144-147): Assertion checker does not yet support this expression.
// Warning 8364: (144-145): Assertion checker does not yet implement type struct C.T storage ref
// Warning 9599: (144-149): Assertion checker does not yet implement this expression.

View File

@ -16,18 +16,18 @@ contract C {
}
// ----
// Warning: (72-75): Assertion checker does not yet support the type of this variable.
// Warning: (102-105): Assertion checker does not yet support the type of this variable.
// Warning: (132-135): Assertion checker does not yet support this expression.
// Warning: (132-133): Assertion checker does not yet implement type struct C.S storage ref
// Warning: (132-135): Assertion checker does not yet implement this expression.
// Warning: (146-149): Assertion checker does not yet support this expression.
// Warning: (146-147): Assertion checker does not yet implement type struct C.T storage ref
// Warning: (146-156): Assertion checker does not yet implement type struct C.S storage ref
// Warning: (146-149): Assertion checker does not yet implement this expression.
// Warning: (160-168): Assertion checker does not yet support this expression.
// Warning: (160-163): Assertion checker does not yet support this expression.
// Warning: (160-161): Assertion checker does not yet implement type struct C.T storage ref
// Warning: (160-166): Assertion checker does not yet implement type struct C.S storage ref
// Warning: (160-166): Assertion checker does not yet implement this expression.
// Warning: (160-168): Assertion checker does not yet implement this expression.
// Warning 8115: (72-75): Assertion checker does not yet support the type of this variable.
// Warning 8115: (102-105): Assertion checker does not yet support the type of this variable.
// Warning 7650: (132-135): Assertion checker does not yet support this expression.
// Warning 8364: (132-133): Assertion checker does not yet implement type struct C.S storage ref
// Warning 9599: (132-135): Assertion checker does not yet implement this expression.
// Warning 7650: (146-149): Assertion checker does not yet support this expression.
// Warning 8364: (146-147): Assertion checker does not yet implement type struct C.T storage ref
// Warning 8364: (146-156): Assertion checker does not yet implement type struct C.S storage ref
// Warning 9599: (146-149): Assertion checker does not yet implement this expression.
// Warning 7650: (160-168): Assertion checker does not yet support this expression.
// Warning 7650: (160-163): Assertion checker does not yet support this expression.
// Warning 8364: (160-161): Assertion checker does not yet implement type struct C.T storage ref
// Warning 8364: (160-166): Assertion checker does not yet implement type struct C.S storage ref
// Warning 9118: (160-166): Assertion checker does not yet implement this expression.
// Warning 9599: (160-168): Assertion checker does not yet implement this expression.

View File

@ -9,4 +9,4 @@ contract C {
}
}
// ----
// Warning: (111-144): Assertion violation happens here
// Warning 4661: (111-144): Assertion violation happens here

View File

@ -8,4 +8,4 @@ contract C {
}
}
// ----
// Warning: (94-124): Assertion violation happens here
// Warning 4661: (94-124): Assertion violation happens here

View File

@ -34,7 +34,7 @@ library MerkleProof {
}
// ----
// Warning: (988-991): Assertion checker does not yet implement type abi
// Warning: (988-1032): Assertion checker does not yet implement this type of function call.
// Warning: (1175-1178): Assertion checker does not yet implement type abi
// Warning: (1175-1219): Assertion checker does not yet implement this type of function call.
// Warning 8364: (988-991): Assertion checker does not yet implement type abi
// Warning 4588: (988-1032): Assertion checker does not yet implement this type of function call.
// Warning 8364: (1175-1178): Assertion checker does not yet implement type abi
// Warning 4588: (1175-1219): Assertion checker does not yet implement this type of function call.

View File

@ -51,7 +51,7 @@ contract MyConc{
}
// ----
// Warning: (773-792): This declaration shadows an existing declaration.
// Warning: (1009-1086): Function state mutability can be restricted to view
// Warning: (985-1002): Underflow (resulting value less than 0) happens here.
// Warning: (985-1002): Overflow (resulting value larger than 2**256 - 1) happens here.
// Warning 2519: (773-792): This declaration shadows an existing declaration.
// Warning 2018: (1009-1086): Function state mutability can be restricted to view
// Warning 6084: (985-1002): Underflow (resulting value less than 0) happens here.
// Warning 6084: (985-1002): Overflow (resulting value larger than 2**256 - 1) happens here.

View File

@ -117,23 +117,23 @@ contract PropagateThroughReturnValue {
}
}
// ----
// Warning: (1886-1954): Function state mutability can be restricted to view
// Warning: (318-332): Assertion checker does not yet support the type of this variable.
// Warning: (338-347): Assertion checker does not yet support the type of this variable.
// Warning: (353-378): Assertion checker does not yet support the type of this variable.
// Warning: (384-409): Assertion checker does not yet support the type of this variable.
// Warning: (464-479): Assertion checker does not yet support this expression.
// Warning: (464-475): Assertion checker does not yet implement type struct Reference.St storage ref
// Warning: (464-494): Assertion checker does not yet implement such assignments.
// Warning: (539-554): Assertion checker does not yet support this expression.
// Warning: (539-550): Assertion checker does not yet implement type struct Reference.St storage ref
// Warning: (557-567): Assertion checker does not yet support this expression.
// Warning: (557-563): Assertion checker does not yet implement type struct Reference.St storage ref
// Warning: (539-567): Assertion checker does not yet implement such assignments.
// Warning: (629-643): Assertion checker does not yet support the type of this variable.
// Warning: (646-668): Assertion checker does not yet implement type struct Reference.St storage ref
// Warning: (706-728): Assertion checker does not yet implement type struct Reference.St storage ref
// Warning: (700-728): Assertion checker does not yet implement type struct Reference.St storage pointer
// Warning: (748-755): Assertion checker does not yet support this expression.
// Warning: (748-751): Assertion checker does not yet implement type struct Reference.St storage pointer
// Warning: (748-770): Assertion checker does not yet implement such assignments.
// Warning 2018: (1886-1954): Function state mutability can be restricted to view
// Warning 8115: (318-332): Assertion checker does not yet support the type of this variable.
// Warning 8115: (338-347): Assertion checker does not yet support the type of this variable.
// Warning 8115: (353-378): Assertion checker does not yet support the type of this variable.
// Warning 8115: (384-409): Assertion checker does not yet support the type of this variable.
// Warning 7650: (464-479): Assertion checker does not yet support this expression.
// Warning 8364: (464-475): Assertion checker does not yet implement type struct Reference.St storage ref
// Warning 8182: (464-494): Assertion checker does not yet implement such assignments.
// Warning 7650: (539-554): Assertion checker does not yet support this expression.
// Warning 8364: (539-550): Assertion checker does not yet implement type struct Reference.St storage ref
// Warning 7650: (557-567): Assertion checker does not yet support this expression.
// Warning 8364: (557-563): Assertion checker does not yet implement type struct Reference.St storage ref
// Warning 8182: (539-567): Assertion checker does not yet implement such assignments.
// Warning 8115: (629-643): Assertion checker does not yet support the type of this variable.
// Warning 8364: (646-668): Assertion checker does not yet implement type struct Reference.St storage ref
// Warning 8364: (706-728): Assertion checker does not yet implement type struct Reference.St storage ref
// Warning 8364: (700-728): Assertion checker does not yet implement type struct Reference.St storage pointer
// Warning 7650: (748-755): Assertion checker does not yet support this expression.
// Warning 8364: (748-751): Assertion checker does not yet implement type struct Reference.St storage pointer
// Warning 8182: (748-770): Assertion checker does not yet implement such assignments.

View File

@ -73,17 +73,17 @@ contract InternalCall {
}
// ----
// Warning: (760-815): Return value of low-level calls not used.
// Warning: (117-126): Unused local variable.
// Warning: (260-269): Unused local variable.
// Warning: (667-676): Unused local variable.
// Warning: (75-137): Function state mutability can be restricted to pure
// Warning: (218-280): Function state mutability can be restricted to pure
// Warning: (470-539): Function state mutability can be restricted to pure
// Warning: (1144-1206): Function state mutability can be restricted to pure
// Warning: (1212-1274): Function state mutability can be restricted to pure
// Warning: (1280-1342): Function state mutability can be restricted to pure
// Warning: (771-774): Assertion checker does not yet implement type abi
// Warning: (782-813): Type conversion is not yet fully supported and might yield false positives.
// Warning: (771-814): Assertion checker does not yet implement this type of function call.
// Warning: (1403-1408): Assertion checker does not yet implement this type of function call.
// Warning 9302: (760-815): Return value of low-level calls not used.
// Warning 2072: (117-126): Unused local variable.
// Warning 2072: (260-269): Unused local variable.
// Warning 2072: (667-676): Unused local variable.
// Warning 2018: (75-137): Function state mutability can be restricted to pure
// Warning 2018: (218-280): Function state mutability can be restricted to pure
// Warning 2018: (470-539): Function state mutability can be restricted to pure
// Warning 2018: (1144-1206): Function state mutability can be restricted to pure
// Warning 2018: (1212-1274): Function state mutability can be restricted to pure
// Warning 2018: (1280-1342): Function state mutability can be restricted to pure
// Warning 8364: (771-774): Assertion checker does not yet implement type abi
// Warning 5084: (782-813): Type conversion is not yet fully supported and might yield false positives.
// Warning 4588: (771-814): Assertion checker does not yet implement this type of function call.
// Warning 5729: (1403-1408): Assertion checker does not yet implement this type of function call.

View File

@ -7,8 +7,8 @@ contract C {
}
}
// ----
// Warning: (133-143): Unused local variable.
// Warning: (133-143): Assertion checker does not yet support the type of this variable.
// Warning: (146-147): Assertion checker does not yet implement type type(struct C.A storage pointer)
// Warning: (146-163): Assertion checker does not yet implement type struct C.A memory
// Warning: (146-163): Assertion checker does not yet implement this expression.
// Warning 2072: (133-143): Unused local variable.
// Warning 8115: (133-143): Assertion checker does not yet support the type of this variable.
// Warning 8364: (146-147): Assertion checker does not yet implement type type(struct C.A storage pointer)
// Warning 8364: (146-163): Assertion checker does not yet implement type struct C.A memory
// Warning 4639: (146-163): Assertion checker does not yet implement this expression.

View File

@ -5,4 +5,4 @@ contract C {
}
}
// ----
// Warning: (106-114): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (106-114): Type conversion is not yet fully supported and might yield false positives.

View File

@ -15,6 +15,6 @@ contract C
}
}
// ----
// Warning: (208-218): Type conversion is not yet fully supported and might yield false positives.
// Warning: (123-133): Type conversion is not yet fully supported and might yield false positives.
// Warning: (208-218): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (208-218): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (123-133): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (208-218): Type conversion is not yet fully supported and might yield false positives.

View File

@ -20,8 +20,8 @@ contract C
}
}
// ----
// Warning: (271-281): Type conversion is not yet fully supported and might yield false positives.
// Warning: (123-133): Type conversion is not yet fully supported and might yield false positives.
// Warning: (271-281): Type conversion is not yet fully supported and might yield false positives.
// Warning: (186-196): Type conversion is not yet fully supported and might yield false positives.
// Warning: (271-281): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (271-281): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (123-133): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (271-281): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (186-196): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (271-281): Type conversion is not yet fully supported and might yield false positives.

View File

@ -20,8 +20,8 @@ contract C
}
}
// ----
// Warning: (275-285): Type conversion is not yet fully supported and might yield false positives.
// Warning: (123-133): Type conversion is not yet fully supported and might yield false positives.
// Warning: (275-285): Type conversion is not yet fully supported and might yield false positives.
// Warning: (189-199): Type conversion is not yet fully supported and might yield false positives.
// Warning: (275-285): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (275-285): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (123-133): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (275-285): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (189-199): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (275-285): Type conversion is not yet fully supported and might yield false positives.

View File

@ -25,7 +25,7 @@ contract C
}
// ----
// Warning: (275-285): Type conversion is not yet fully supported and might yield false positives.
// Warning: (123-133): Type conversion is not yet fully supported and might yield false positives.
// Warning: (189-199): Type conversion is not yet fully supported and might yield false positives.
// Warning: (275-285): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (275-285): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (123-133): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (189-199): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (275-285): Type conversion is not yet fully supported and might yield false positives.

View File

@ -16,6 +16,6 @@ contract C
}
}
// ----
// Warning: (219-229): Type conversion is not yet fully supported and might yield false positives.
// Warning: (134-144): Type conversion is not yet fully supported and might yield false positives.
// Warning: (219-229): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (219-229): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (134-144): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (219-229): Type conversion is not yet fully supported and might yield false positives.

View File

@ -19,6 +19,6 @@ contract C
}
}
// ----
// Warning: (249-259): Type conversion is not yet fully supported and might yield false positives.
// Warning: (118-128): Type conversion is not yet fully supported and might yield false positives.
// Warning: (249-259): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (249-259): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (118-128): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (249-259): Type conversion is not yet fully supported and might yield false positives.

View File

@ -20,6 +20,6 @@ contract C
}
}
// ----
// Warning: (247-257): Type conversion is not yet fully supported and might yield false positives.
// Warning: (162-172): Type conversion is not yet fully supported and might yield false positives.
// Warning: (247-257): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (247-257): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (162-172): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (247-257): Type conversion is not yet fully supported and might yield false positives.

View File

@ -15,4 +15,4 @@ contract c {
}
}
// ----
// Warning: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here

View File

@ -15,5 +15,5 @@ contract c {
}
}
// ----
// Warning: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (227-236): Assertion violation happens here
// Warning 2661: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 4661: (227-236): Assertion violation happens here

View File

@ -17,6 +17,6 @@ contract c {
}
}
// ----
// Warning: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (202-218): Assertion violation happens here
// Warning: (242-252): Assertion violation happens here
// Warning 2661: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 4661: (202-218): Assertion violation happens here
// Warning 4661: (242-252): Assertion violation happens here

View File

@ -15,4 +15,4 @@ contract c {
}
}
// ----
// Warning: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here

View File

@ -15,5 +15,5 @@ contract c {
}
}
// ----
// Warning: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (225-235): Assertion violation happens here
// Warning 2661: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 4661: (225-235): Assertion violation happens here

View File

@ -12,8 +12,8 @@ contract C
}
}
// ----
// Warning: (84-110): Condition is always false.
// Warning: (121-147): Condition is always true.
// Warning: (158-183): Condition is always false.
// Warning: (194-221): Condition is always false.
// Warning: (232-247): Condition is always true.
// Warning 6838: (84-110): Condition is always false.
// Warning 6838: (121-147): Condition is always true.
// Warning 6838: (158-183): Condition is always false.
// Warning 6838: (194-221): Condition is always false.
// Warning 6838: (232-247): Condition is always true.

View File

@ -16,8 +16,8 @@ contract C
}
}
// ----
// Warning: (156-179): Condition is always false.
// Warning: (190-213): Condition is always true.
// Warning: (224-243): Condition is always false.
// Warning: (254-277): Condition is always false.
// Warning: (288-300): Condition is always true.
// Warning 6838: (156-179): Condition is always false.
// Warning 6838: (190-213): Condition is always true.
// Warning 6838: (224-243): Condition is always false.
// Warning 6838: (254-277): Condition is always false.
// Warning 6838: (288-300): Condition is always true.

View File

@ -15,4 +15,4 @@ contract c {
}
}
// ----
// Warning: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here

View File

@ -15,5 +15,5 @@ contract c {
}
}
// ----
// Warning: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (225-235): Assertion violation happens here
// Warning 2661: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 4661: (225-235): Assertion violation happens here

View File

@ -24,5 +24,5 @@ contract c {
}
}
// ----
// Warning: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (360-370): Assertion violation happens here
// Warning 2661: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 4661: (360-370): Assertion violation happens here

View File

@ -15,4 +15,4 @@ contract c {
}
}
// ----
// Warning: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here

View File

@ -15,5 +15,5 @@ contract c {
}
}
// ----
// Warning: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (225-235): Assertion violation happens here
// Warning 2661: (101-106): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 4661: (225-235): Assertion violation happens here

View File

@ -12,8 +12,8 @@ contract C
}
}
// ----
// Warning: (84-110): Condition is always true.
// Warning: (121-147): Condition is always true.
// Warning: (158-183): Condition is always true.
// Warning: (194-221): Condition is always true.
// Warning: (232-248): Condition is always false.
// Warning 6838: (84-110): Condition is always true.
// Warning 6838: (121-147): Condition is always true.
// Warning 6838: (158-183): Condition is always true.
// Warning 6838: (194-221): Condition is always true.
// Warning 6838: (232-248): Condition is always false.

View File

@ -16,8 +16,8 @@ contract C
}
}
// ----
// Warning: (156-179): Condition is always true.
// Warning: (190-213): Condition is always true.
// Warning: (224-243): Condition is always true.
// Warning: (254-277): Condition is always true.
// Warning: (288-301): Condition is always false.
// Warning 6838: (156-179): Condition is always true.
// Warning 6838: (190-213): Condition is always true.
// Warning 6838: (224-243): Condition is always true.
// Warning 6838: (254-277): Condition is always true.
// Warning 6838: (288-301): Condition is always false.

View File

@ -8,5 +8,5 @@ contract C {
// ====
// EVMVersion: >=byzantium
// ----
// Warning: (98-121): Assertion checker does not support try/catch clauses.
// Warning: (124-159): Assertion checker does not support try/catch clauses.
// Warning 7645: (98-121): Assertion checker does not support try/catch clauses.
// Warning 7645: (124-159): Assertion checker does not support try/catch clauses.

View File

@ -10,5 +10,5 @@ contract C {
// ====
// EVMVersion: >=byzantium
// ----
// Warning: (83-85): Assertion checker does not support try/catch clauses.
// Warning: (88-122): Assertion checker does not support try/catch clauses.
// Warning 7645: (83-85): Assertion checker does not support try/catch clauses.
// Warning 7645: (88-122): Assertion checker does not support try/catch clauses.

View File

@ -9,4 +9,4 @@ contract C {
}
}
// ----
// Warning: (159-173): Assertion violation happens here
// Warning 4661: (159-173): Assertion violation happens here

View File

@ -9,4 +9,4 @@ contract C {
}
}
// ----
// Warning: (159-173): Assertion violation happens here
// Warning 4661: (159-173): Assertion violation happens here

View File

@ -9,4 +9,4 @@ contract C {
}
}
// ----
// Warning: (161-175): Assertion violation happens here
// Warning 4661: (161-175): Assertion violation happens here

View File

@ -5,7 +5,7 @@ contract C {
}
}
// ----
// Warning: (162-165): Assertion checker does not yet implement type abi
// Warning: (162-176): Assertion checker does not yet implement this type of function call.
// Warning: (178-181): Assertion checker does not yet implement type abi
// Warning: (178-203): Assertion checker does not yet implement this type of function call.
// Warning 8364: (162-165): Assertion checker does not yet implement type abi
// Warning 4588: (162-176): Assertion checker does not yet implement this type of function call.
// Warning 8364: (178-181): Assertion checker does not yet implement type abi
// Warning 4588: (178-203): Assertion checker does not yet implement this type of function call.

View File

@ -13,4 +13,4 @@ contract A is C {
}
}
// ----
// Warning: (166-180): Assertion violation happens here
// Warning 4661: (166-180): Assertion violation happens here

View File

@ -4,4 +4,4 @@ contract A is C { constructor() C(2) public { assert(a == 2); } }
contract B is C { constructor() C(3) public { assert(a == 3); } }
contract J is C { constructor() C(3) public { assert(a == 4); } }
// ----
// Warning: (271-285): Assertion violation happens here
// Warning 4661: (271-285): Assertion violation happens here

View File

@ -19,6 +19,6 @@ contract A is B {
}
}
// ----
// Warning: (217-222): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (265-270): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (253-271): Assertion violation happens here
// Warning 2661: (217-222): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (265-270): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 4661: (253-271): Assertion violation happens here

View File

@ -18,6 +18,6 @@ contract A is B {
}
}
// ----
// Warning: (221-226): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (212-217): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (251-256): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (221-226): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (212-217): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (251-256): Overflow (resulting value larger than 2**256 - 1) happens here

View File

@ -25,7 +25,7 @@ contract A is B2, B1 {
}
}
// ----
// Warning: (214-219): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (214-219): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (342-347): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (330-348): Assertion violation happens here
// Warning 2661: (214-219): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (214-219): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (342-347): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 4661: (330-348): Assertion violation happens here

View File

@ -25,7 +25,7 @@ contract A is B2, B1 {
}
}
// ----
// Warning: (214-219): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (214-219): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (342-347): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (330-348): Assertion violation happens here
// Warning 2661: (214-219): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (214-219): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (342-347): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 4661: (330-348): Assertion violation happens here

View File

@ -27,11 +27,11 @@ contract A is B2, B1 {
}
}
// ----
// Warning: (174-179): Underflow (resulting value less than 0) happens here
// Warning: (174-179): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (239-244): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (262-267): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (239-244): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (262-267): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (174-179): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (362-378): Assertion violation happens here
// Warning 4144: (174-179): Underflow (resulting value less than 0) happens here
// Warning 2661: (174-179): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (239-244): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (262-267): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (239-244): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (262-267): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (174-179): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 4661: (362-378): Assertion violation happens here

View File

@ -19,5 +19,5 @@ contract A is B, B2 {
}
}
// ----
// Warning: (171-177): Unused function parameter. Remove or comment out the variable name to silence this warning.
// Warning: (208-222): Assertion violation happens here
// Warning 5667: (171-177): Unused function parameter. Remove or comment out the variable name to silence this warning.
// Warning 4661: (208-222): Assertion violation happens here

View File

@ -18,5 +18,5 @@ contract A is B {
}
}
// ----
// Warning: (201-207): Unused function parameter. Remove or comment out the variable name to silence this warning.
// Warning: (238-252): Assertion violation happens here
// Warning 5667: (201-207): Unused function parameter. Remove or comment out the variable name to silence this warning.
// Warning 4661: (238-252): Assertion violation happens here

View File

@ -16,5 +16,5 @@ contract A is B {
}
}
// ----
// Warning: (145-151): Unused function parameter. Remove or comment out the variable name to silence this warning.
// Warning: (186-200): Assertion violation happens here
// Warning 5667: (145-151): Unused function parameter. Remove or comment out the variable name to silence this warning.
// Warning 4661: (186-200): Assertion violation happens here

View File

@ -15,5 +15,5 @@ contract A is B {
}
}
// ----
// Warning: (145-151): Unused function parameter. Remove or comment out the variable name to silence this warning.
// Warning: (164-178): Assertion violation happens here
// Warning 5667: (145-151): Unused function parameter. Remove or comment out the variable name to silence this warning.
// Warning 4661: (164-178): Assertion violation happens here

View File

@ -26,5 +26,5 @@ contract A is B {
}
}
// ----
// Warning: (275-281): Unused function parameter. Remove or comment out the variable name to silence this warning.
// Warning: (312-326): Assertion violation happens here
// Warning 5667: (275-281): Unused function parameter. Remove or comment out the variable name to silence this warning.
// Warning 4661: (312-326): Assertion violation happens here

View File

@ -31,5 +31,5 @@ contract A is B {
}
}
// ----
// Warning: (317-323): Unused function parameter. Remove or comment out the variable name to silence this warning.
// Warning: (385-400): Assertion violation happens here
// Warning 5667: (317-323): Unused function parameter. Remove or comment out the variable name to silence this warning.
// Warning 4661: (385-400): Assertion violation happens here

View File

@ -25,6 +25,6 @@ contract A is B {
}
}
// ----
// Warning: (261-266): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (261-266): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning: (356-370): Assertion violation happens here
// Warning 2661: (261-266): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 2661: (261-266): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 4661: (356-370): Assertion violation happens here

View File

@ -23,5 +23,5 @@ contract B is C {
contract A is B {
}
// ----
// Warning: (287-301): Assertion violation happens here
// Warning: (287-301): Assertion violation happens here
// Warning 4661: (287-301): Assertion violation happens here
// Warning 4661: (287-301): Assertion violation happens here

View File

@ -14,4 +14,4 @@ contract A is C {
}
}
// ----
// Warning: (202-216): Assertion violation happens here
// Warning 4661: (202-216): Assertion violation happens here

View File

@ -13,5 +13,5 @@ contract A is C {
}
}
// ----
// Warning: (148-162): Assertion violation happens here
// Warning: (166-182): Assertion violation happens here
// Warning 4661: (148-162): Assertion violation happens here
// Warning 4661: (166-182): Assertion violation happens here

View File

@ -13,4 +13,4 @@ contract C {
}
}
// ----
// Warning: (148-162): Assertion violation happens here
// Warning 4661: (148-162): Assertion violation happens here

View File

@ -13,4 +13,4 @@ contract C {
}
}
// ----
// Warning: (152-166): Assertion violation happens here
// Warning 4661: (152-166): Assertion violation happens here

View File

@ -15,4 +15,4 @@ contract C is B {
}
}
// ----
// Warning: (172-186): Assertion violation happens here
// Warning 4661: (172-186): Assertion violation happens here

View File

@ -13,5 +13,5 @@ contract C {
}
}
// ----
// Warning: (169-183): Assertion violation happens here
// Warning: (122-127): Overflow (resulting value larger than 2**256 - 1) happens here
// Warning 4661: (169-183): Assertion violation happens here
// Warning 2661: (122-127): Overflow (resulting value larger than 2**256 - 1) happens here

View File

@ -9,5 +9,5 @@ contract C {
}
}
// ----
// Warning: (204-208): "this" used in constructor. Note that external functions of a contract cannot be called while it is being constructed.
// Warning: (223-227): "this" used in constructor. Note that external functions of a contract cannot be called while it is being constructed.
// Warning 5805: (204-208): "this" used in constructor. Note that external functions of a contract cannot be called while it is being constructed.
// Warning 5805: (223-227): "this" used in constructor. Note that external functions of a contract cannot be called while it is being constructed.

View File

@ -9,5 +9,5 @@ contract C {
}
}
// ----
// Warning: (116-132): Assertion violation happens here
// Warning: (116-132): Assertion violation happens here
// Warning 4661: (116-132): Assertion violation happens here
// Warning 4661: (116-132): Assertion violation happens here

View File

@ -16,4 +16,4 @@ contract C
}
}
// ----
// Warning: (209-223): Assertion violation happens here
// Warning 4661: (209-223): Assertion violation happens here

View File

@ -24,5 +24,5 @@ contract C
}
// ----
// Warning: (209-223): Assertion violation happens here
// Warning: (321-335): Assertion violation happens here
// Warning 4661: (209-223): Assertion violation happens here
// Warning 4661: (321-335): Assertion violation happens here

View File

@ -18,4 +18,4 @@ contract C
}
}
// ----
// Warning: (261-277): Assertion violation happens here
// Warning 4661: (261-277): Assertion violation happens here

View File

@ -17,4 +17,4 @@ contract C
}
}
// ----
// Warning: (257-271): Assertion violation happens here
// Warning 4661: (257-271): Assertion violation happens here

View File

@ -17,4 +17,4 @@ contract C
}
}
// ----
// Warning: (297-321): Assertion violation happens here
// Warning 4661: (297-321): Assertion violation happens here

View File

@ -18,4 +18,4 @@ contract C
}
}
// ----
// Warning: (355-379): Assertion violation happens here
// Warning 4661: (355-379): Assertion violation happens here

View File

@ -16,4 +16,4 @@ contract D
}
}
// ----
// Warning: (191-206): Assertion violation happens here
// Warning 4661: (191-206): Assertion violation happens here

Some files were not shown because too many files have changed in this diff Show More