mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge remote-tracking branch 'origin/develop' into breaking
This commit is contained in:
commit
1441b97131
Changelog.md
docs
liblangutil
libsolidity
analysis
codegen
libyul
scripts
test
CommonSyntaxTest.cppCommonSyntaxTest.h
libsolidity
SMTCheckerJSONTest.cppSyntaxTest.cpp
errorRecoveryTests
constructor_recovers.solcontract_recovery.soldo_not_delete_at_error.solerror_to_eos.solmissing_rhs.solmultiple_errors.sol
smtCheckerTests
array_members
length_1d_struct_array_1.sollength_1d_struct_array_2d_1.sollength_basic.sollength_same_after_assignment_2_fail.sollength_same_after_assignment_3_fail.solpop_1_unsafe.solpop_2d_unsafe.solpop_constructor_unsafe.solpop_loop_unsafe.solpush_2d_arg_1_unsafe.solpush_storage_ref_safe_aliasing.solpush_storage_ref_unsafe_aliasing.solpush_storage_ref_unsafe_length.solpush_struct_member_1.solpush_struct_member_2.solpush_zero_2d_unsafe.solpush_zero_unsafe.sol
complex
control_flow
function_call_inside_branch.solfunction_call_inside_branch_2.solfunction_call_inside_branch_3.solfunction_call_inside_branch_4.solfunction_call_inside_else_branch.solfunction_call_inside_modifier_branch.solfunction_call_inside_placeholder_inside_modifier_branch.solshort_circuit_and.solshort_circuit_and_fail.solshort_circuit_and_inside_branch.solshort_circuit_and_need_both.solshort_circuit_and_need_both_fail.solshort_circuit_and_touched.solshort_circuit_and_touched_function.solshort_circuit_or.solshort_circuit_or_fail.solshort_circuit_or_inside_branch.solshort_circuit_or_need_both.solshort_circuit_or_need_both_fail.solshort_circuit_or_touched.solshort_circuit_or_touched_function.soltry_catch_1.soltry_catch_2.solways_to_merge_variables_1.solways_to_merge_variables_2.solways_to_merge_variables_3.sol
functions
abi_encode_functions.solconstructor_hierarchy.solconstructor_hierarchy_2.solconstructor_hierarchy_3.solconstructor_hierarchy_4.solconstructor_hierarchy_diamond.solconstructor_hierarchy_diamond_2.solconstructor_hierarchy_diamond_3.solconstructor_hierarchy_diamond_empty_middle.solconstructor_hierarchy_empty_chain.solconstructor_hierarchy_empty_middle.solconstructor_hierarchy_empty_middle_no_invocation.solconstructor_hierarchy_mixed_chain.solconstructor_hierarchy_mixed_chain_local_vars.solconstructor_hierarchy_mixed_chain_with_params.solconstructor_hierarchy_mixed_chain_with_params_2.solconstructor_hierarchy_modifier.solconstructor_hierarchy_same_var.solconstructor_simple.solconstructor_state_value.solconstructor_state_value_inherited.solconstructor_state_value_parameter.solconstructor_this.solfunction_call_state_var_init.solfunction_inside_branch_modify_state_var.solfunction_inside_branch_modify_state_var_3.solfunctions_bound_1_fail.solfunctions_external_1.solfunctions_external_2.solfunctions_external_3.solfunctions_external_4.sol
@ -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)
|
||||
|
@ -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")``.
|
||||
|
||||
|
@ -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
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
|
@ -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.");
|
||||
|
@ -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());
|
||||
|
@ -170,7 +170,7 @@ case $(uname -s) in
|
||||
# Debian
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
Debian*)
|
||||
Debian*|Raspbian)
|
||||
#Debian
|
||||
. /etc/os-release
|
||||
install_z3=""
|
||||
|
@ -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,
|
||||
|
@ -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 &&
|
||||
|
@ -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),
|
||||
|
@ -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,
|
||||
|
@ -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 ';'.
|
||||
|
@ -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 '}'.
|
||||
|
@ -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
|
||||
|
@ -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 '}'.
|
||||
|
@ -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 ';'.
|
||||
|
@ -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 ';'.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -10,4 +10,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (153-176): Assertion violation happens here
|
||||
// Warning 4661: (153-176): Assertion violation happens here
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -7,4 +7,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (82-89): Empty array "pop" detected here.
|
||||
// Warning 2529: (82-89): Empty array "pop" detected here.
|
||||
|
@ -9,4 +9,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (111-121): Empty array "pop" detected here.
|
||||
// Warning 2529: (111-121): Empty array "pop" detected here.
|
||||
|
@ -7,4 +7,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (83-90): Empty array "pop" detected here.
|
||||
// Warning 2529: (83-90): Empty array "pop" detected here.
|
||||
|
@ -11,4 +11,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (150-157): Empty array "pop" detected here.
|
||||
// Warning 2529: (150-157): Empty array "pop" detected here.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -12,4 +12,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (167-188): Assertion violation happens here
|
||||
// Warning 4661: (167-188): Assertion violation happens here
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -9,4 +9,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (111-144): Assertion violation happens here
|
||||
// Warning 4661: (111-144): Assertion violation happens here
|
||||
|
@ -8,4 +8,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (94-124): Assertion violation happens here
|
||||
// Warning 4661: (94-124): Assertion violation happens here
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -9,4 +9,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (159-173): Assertion violation happens here
|
||||
// Warning 4661: (159-173): Assertion violation happens here
|
||||
|
@ -9,4 +9,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (159-173): Assertion violation happens here
|
||||
// Warning 4661: (159-173): Assertion violation happens here
|
||||
|
@ -9,4 +9,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (161-175): Assertion violation happens here
|
||||
// Warning 4661: (161-175): Assertion violation happens here
|
||||
|
@ -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.
|
||||
|
@ -13,4 +13,4 @@ contract A is C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (166-180): Assertion violation happens here
|
||||
// Warning 4661: (166-180): Assertion violation happens here
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -14,4 +14,4 @@ contract A is C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (202-216): Assertion violation happens here
|
||||
// Warning 4661: (202-216): Assertion violation happens here
|
||||
|
@ -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
|
||||
|
@ -13,4 +13,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (148-162): Assertion violation happens here
|
||||
// Warning 4661: (148-162): Assertion violation happens here
|
||||
|
@ -13,4 +13,4 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (152-166): Assertion violation happens here
|
||||
// Warning 4661: (152-166): Assertion violation happens here
|
||||
|
@ -15,4 +15,4 @@ contract C is B {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (172-186): Assertion violation happens here
|
||||
// Warning 4661: (172-186): Assertion violation happens here
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -16,4 +16,4 @@ contract C
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (209-223): Assertion violation happens here
|
||||
// Warning 4661: (209-223): Assertion violation happens here
|
||||
|
@ -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
|
||||
|
@ -18,4 +18,4 @@ contract C
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (261-277): Assertion violation happens here
|
||||
// Warning 4661: (261-277): Assertion violation happens here
|
||||
|
@ -17,4 +17,4 @@ contract C
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (257-271): Assertion violation happens here
|
||||
// Warning 4661: (257-271): Assertion violation happens here
|
||||
|
@ -17,4 +17,4 @@ contract C
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (297-321): Assertion violation happens here
|
||||
// Warning 4661: (297-321): Assertion violation happens here
|
||||
|
@ -18,4 +18,4 @@ contract C
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning: (355-379): Assertion violation happens here
|
||||
// Warning 4661: (355-379): Assertion violation happens here
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user